Skip to content

Commit d28e6e0

Browse files
authored
Examples: More usage of RoomEnvironment. (#19719)
1 parent 1c78859 commit d28e6e0

File tree

2 files changed

+6
-77
lines changed

2 files changed

+6
-77
lines changed

examples/webgl_materials_envmaps_hdr.html

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import { OrbitControls } from './jsm/controls/OrbitControls.js';
2525
import { HDRCubeTextureLoader } from './jsm/loaders/HDRCubeTextureLoader.js';
2626
import { RGBMLoader } from './jsm/loaders/RGBMLoader.js';
27+
import { RoomEnvironment } from './jsm/environments/RoomEnvironment.js';
2728

2829
const params = {
2930
envMap: 'HDR',
@@ -42,44 +43,6 @@
4243
init();
4344
animate();
4445

45-
function getEnvScene() {
46-
47-
const envScene = new THREE.Scene();
48-
49-
const geometry = new THREE.BoxGeometry();
50-
geometry.deleteAttribute( 'uv' );
51-
const roomMaterial = new THREE.MeshStandardMaterial( { metalness: 0, side: THREE.BackSide } );
52-
const room = new THREE.Mesh( geometry, roomMaterial );
53-
room.scale.setScalar( 10 );
54-
envScene.add( room );
55-
56-
const mainLight = new THREE.PointLight( 0xffffff, 50, 0, 2 );
57-
envScene.add( mainLight );
58-
59-
const lightMaterial = new THREE.MeshLambertMaterial( { color: 0x000000, emissive: 0xffffff, emissiveIntensity: 10 } );
60-
61-
const light1 = new THREE.Mesh( geometry, lightMaterial );
62-
light1.material.color.setHex( 0xff0000 );
63-
light1.position.set( - 5, 2, 0 );
64-
light1.scale.set( 0.1, 1, 1 );
65-
envScene.add( light1 );
66-
67-
const light2 = new THREE.Mesh( geometry, lightMaterial.clone() );
68-
light2.material.color.setHex( 0x00ff00 );
69-
light2.position.set( 0, 5, 0 );
70-
light2.scale.set( 1, 0.1, 1 );
71-
envScene.add( light2 );
72-
73-
const light3 = new THREE.Mesh( geometry, lightMaterial.clone() );
74-
light3.material.color.setHex( 0x0000ff );
75-
light3.position.set( 2, 1, 5 );
76-
light3.scale.set( 1.5, 2, 0.1 );
77-
envScene.add( light3 );
78-
79-
return envScene;
80-
81-
}
82-
8346
function init() {
8447

8548
container = document.createElement( 'div' );
@@ -162,8 +125,8 @@
162125
const pmremGenerator = new THREE.PMREMGenerator( renderer );
163126
pmremGenerator.compileCubemapShader();
164127

165-
const envScene = getEnvScene();
166-
generatedCubeRenderTarget = pmremGenerator.fromScene( envScene, 0.04 );
128+
const envScene = new RoomEnvironment();
129+
generatedCubeRenderTarget = pmremGenerator.fromScene( envScene );
167130

168131
renderer.setPixelRatio( window.devicePixelRatio );
169132
renderer.setSize( window.innerWidth, window.innerHeight );

examples/webgl_materials_envmaps_hdr_nodes.html

Lines changed: 3 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import { OrbitControls } from './jsm/controls/OrbitControls.js';
2525
import { HDRCubeTextureLoader } from './jsm/loaders/HDRCubeTextureLoader.js';
2626
import { RGBMLoader } from './jsm/loaders/RGBMLoader.js';
27+
import { RoomEnvironment } from './jsm/environments/RoomEnvironment.js';
2728

2829
import { MeshStandardNodeMaterial } from './jsm/nodes/Nodes.js';
2930

@@ -46,41 +47,6 @@
4647
init();
4748
animate();
4849

49-
function getEnvScene() {
50-
51-
const envScene = new THREE.Scene();
52-
53-
const geometry = new THREE.BoxGeometry();
54-
geometry.deleteAttribute( 'uv' );
55-
const roomMaterial = new THREE.MeshStandardMaterial( { metalness: 0, side: THREE.BackSide } );
56-
const room = new THREE.Mesh( geometry, roomMaterial );
57-
room.scale.setScalar( 10 );
58-
envScene.add( room );
59-
60-
const mainLight = new THREE.PointLight( 0xffffff, 50, 0, 2 );
61-
envScene.add( mainLight );
62-
63-
const lightMaterial = new THREE.MeshLambertMaterial( { color: 0x000000, emissive: 0xffffff, emissiveIntensity: 10 } );
64-
65-
const light1 = new THREE.Mesh( geometry, lightMaterial );
66-
light1.position.set( - 5, 2, 0 );
67-
light1.scale.set( 0.1, 1, 1 );
68-
envScene.add( light1 );
69-
70-
const light2 = new THREE.Mesh( geometry, lightMaterial );
71-
light2.position.set( 0, 5, 0 );
72-
light2.scale.set( 1, 0.1, 1 );
73-
envScene.add( light2 );
74-
75-
const light3 = new THREE.Mesh( geometry, lightMaterial );
76-
light3.position.set( 2, 1, 5 );
77-
light3.scale.set( 1.5, 2, 0.1 );
78-
envScene.add( light3 );
79-
80-
return envScene;
81-
82-
}
83-
8450
function init() {
8551

8652
container = document.createElement( 'div' );
@@ -168,8 +134,8 @@
168134
const pmremGenerator = new THREE.PMREMGenerator( renderer );
169135
pmremGenerator.compileCubemapShader();
170136

171-
const envScene = getEnvScene();
172-
generatedCubeRenderTarget = pmremGenerator.fromScene( envScene, 0.04 );
137+
const envScene = new RoomEnvironment();
138+
generatedCubeRenderTarget = pmremGenerator.fromScene( envScene );
173139

174140
renderer.setPixelRatio( window.devicePixelRatio );
175141
renderer.setSize( window.innerWidth, window.innerHeight );

0 commit comments

Comments
 (0)