Преглед изворни кода

Examples: Add RoomEnvironment to alpha hash example (#26344)

* Examples: Add RoomEnvironment to alpha hash example.

* Bump screenshot

* Add useLegacyLights=false

* Add alpha hash to exception list
Don McCurdy пре 2 година
родитељ
комит
21e57f6644

BIN
examples/screenshots/webgl_materials_alphahash.jpg


+ 10 - 4
examples/webgl_materials_alphahash.html

@@ -27,6 +27,7 @@
 			import Stats from 'three/addons/libs/stats.module.js';
 			import { GUI } from 'three/addons/libs/lil-gui.module.min.js';
 			import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
+			import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';
 
 			import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
 			import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
@@ -62,10 +63,6 @@
 
 				scene = new THREE.Scene();
 
-				const light = new THREE.HemisphereLight( 0xffffff, 0x888888 );
-				light.position.set( 0, 1, 0 );
-				scene.add( light );
-
 				const geometry = new THREE.IcosahedronGeometry( 0.5, 3 );
 
 				material = new THREE.MeshStandardMaterial( {
@@ -107,10 +104,19 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 
 				//
 
+				const environment = new RoomEnvironment( renderer );
+				const pmremGenerator = new THREE.PMREMGenerator( renderer );
+
+				scene.environment = pmremGenerator.fromScene( environment ).texture;
+				environment.dispose();
+
+				//
+
 				composer = new EffectComposer( renderer );
 
 				renderPass = new RenderPass( scene, camera );

+ 1 - 0
test/e2e/puppeteer.js

@@ -85,6 +85,7 @@ const exceptionList = [
 	'webgl_loader_imagebitmap',
 	'webgl_loader_texture_lottie',
 	'webgl_loader_texture_pvrtc',
+	'webgl_materials_alphahash',
 	'webgl_materials_blending',
 	'webgl_mirror',
 	'webgl_morphtargets_face',