Переглянути джерело

Examples: Introduced DebugEnvironment

Mr.doob 4 роки тому
батько
коміт
34519f5073

+ 42 - 0
examples/jsm/environments/DebugEnvironment.js

@@ -0,0 +1,42 @@
+import * as THREE from '../../../build/three.module.js';
+
+function DebugEnvironment() {
+
+	const envScene = new THREE.Scene();
+
+	const geometry = new THREE.BoxGeometry();
+	geometry.deleteAttribute( 'uv' );
+	const roomMaterial = new THREE.MeshStandardMaterial( { metalness: 0, side: THREE.BackSide } );
+	const room = new THREE.Mesh( geometry, roomMaterial );
+	room.scale.setScalar( 10 );
+	envScene.add( room );
+
+	const mainLight = new THREE.PointLight( 0xffffff, 50, 0, 2 );
+	envScene.add( mainLight );
+
+	const material1 = new THREE.MeshLambertMaterial( { color: 0xff0000, emissive: 0xffffff, emissiveIntensity: 10 } );
+
+	const light1 = new THREE.Mesh( geometry, material1 );
+	light1.position.set( - 5, 2, 0 );
+	light1.scale.set( 0.1, 1, 1 );
+	envScene.add( light1 );
+
+	const material2 = new THREE.MeshLambertMaterial( { color: 0x00ff00, emissive: 0xffffff, emissiveIntensity: 10 } );
+
+	const light2 = new THREE.Mesh( geometry, material2 );
+	light2.position.set( 0, 5, 0 );
+	light2.scale.set( 1, 0.1, 1 );
+	envScene.add( light2 );
+
+	const material3 = new THREE.MeshLambertMaterial( { color: 0x0000ff, emissive: 0xffffff, emissiveIntensity: 10 } );
+
+	const light3 = new THREE.Mesh( geometry, material3 );
+	light3.position.set( 2, 1, 5 );
+	light3.scale.set( 1.5, 2, 0.1 );
+	envScene.add( light3 );
+
+	return envScene;
+
+}
+
+export { DebugEnvironment };

+ 2 - 2
examples/webgl_materials_envmaps_hdr.html

@@ -24,7 +24,7 @@
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { HDRCubeTextureLoader } from './jsm/loaders/HDRCubeTextureLoader.js';
 			import { RGBMLoader } from './jsm/loaders/RGBMLoader.js';
-			import { RoomEnvironment } from './jsm/environments/RoomEnvironment.js';
+			import { DebugEnvironment } from './jsm/environments/DebugEnvironment.js';
 
 			const params = {
 				envMap: 'HDR',
@@ -125,7 +125,7 @@
 				const pmremGenerator = new THREE.PMREMGenerator( renderer );
 				pmremGenerator.compileCubemapShader();
 
-				const envScene = new RoomEnvironment();
+				const envScene = new DebugEnvironment();
 				generatedCubeRenderTarget = pmremGenerator.fromScene( envScene );
 
 				renderer.setPixelRatio( window.devicePixelRatio );

+ 2 - 2
examples/webgl_materials_envmaps_hdr_nodes.html

@@ -24,7 +24,7 @@
 			import { OrbitControls } from './jsm/controls/OrbitControls.js';
 			import { HDRCubeTextureLoader } from './jsm/loaders/HDRCubeTextureLoader.js';
 			import { RGBMLoader } from './jsm/loaders/RGBMLoader.js';
-			import { RoomEnvironment } from './jsm/environments/RoomEnvironment.js';
+			import { DebugEnvironment } from './jsm/environments/DebugEnvironment.js';
 
 			import { MeshStandardNodeMaterial } from './jsm/nodes/Nodes.js';
 
@@ -134,7 +134,7 @@
 				const pmremGenerator = new THREE.PMREMGenerator( renderer );
 				pmremGenerator.compileCubemapShader();
 
-				const envScene = new RoomEnvironment();
+				const envScene = new DebugEnvironment();
 				generatedCubeRenderTarget = pmremGenerator.fromScene( envScene );
 
 				renderer.setPixelRatio( window.devicePixelRatio );