Skip to content

Commit a704e74

Browse files
committed
clean it up
1 parent a41096c commit a704e74

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed

example/spotLights.js

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,26 @@ const iesProfileURLs = [
2525
const params = {
2626

2727
floorMaterial: {
28-
color: '#3465a4',
28+
color: '#dddddd',
2929
roughness: 0.4,
3030
metalness: 0.4,
3131
},
3232
wallMaterial: {
33-
color: '#FFFFFF',
33+
color: '#a06464',
3434
roughness: 0.4,
3535
metalness: 0.1,
3636
},
3737

3838
multipleImportanceSampling: true,
39-
environmentIntensity: 2.5,
39+
environmentIntensity: 0.1,
4040
bounces: 3,
4141
samplesPerFrame: 1,
4242
resolutionScale: 1 / window.devicePixelRatio, // TODO: remove before commit
4343
filterGlossyFactor: 0.5,
44-
tiles: 1,
45-
showTransformControls: true,
44+
tiles: 2,
4645
iesProfile: - 1,
46+
showTransformControls: false,
47+
showLightHelper: false,
4748
};
4849

4950
// adjust performance parameters for mobile
@@ -67,10 +68,11 @@ async function init() {
6768

6869
const aspect = window.innerWidth / window.innerHeight;
6970
perspectiveCamera = new PhysicalCamera( 75, aspect, 0.025, 500 );
70-
perspectiveCamera.position.set( 0, 2, 15 );
71+
perspectiveCamera.position.set( - 2, 4, 8 ).multiplyScalar( 0.8 );
7172

7273
ptRenderer = new PathTracingRenderer( renderer );
7374
ptRenderer.material = new PhysicalPathTracingMaterial();
75+
ptRenderer.material.backgroundBlur = 0.2;
7476
ptRenderer.material.setDefine( 'FEATURE_MIS', Number( params.multipleImportanceSampling ) );
7577
ptRenderer.tiles.set( params.tiles, params.tiles );
7678
ptRenderer.camera = perspectiveCamera;
@@ -81,6 +83,8 @@ async function init() {
8183
} ) );
8284

8385
controls = new OrbitControls( perspectiveCamera, renderer.domElement );
86+
controls.target.y = 1.5;
87+
controls.update();
8488
controls.addEventListener( 'change', () => {
8589

8690
ptRenderer.reset();
@@ -97,6 +101,7 @@ async function init() {
97101
.load( 'https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/textures/equirectangular/royal_esplanade_1k.hdr', texture => {
98102

99103
scene.environment = texture;
104+
scene.background = texture;
100105

101106
resolve();
102107

@@ -115,10 +120,18 @@ async function init() {
115120

116121
// objects
117122
gltf.scene.scale.setScalar( 1 );
118-
gltf.scene.position.x = 0;
119123
gltf.scene.updateMatrixWorld();
120-
gltf.castShadow = true;
121-
gltf.receiveShadow = true;
124+
gltf.scene.traverse( c => {
125+
126+
c.castShadow = true;
127+
c.receiveShadow = true;
128+
if ( c.material ) {
129+
130+
c.material.roughness = 0.2;
131+
132+
}
133+
134+
} );
122135
group.add( gltf.scene );
123136

124137
const box = new THREE.Box3();
@@ -135,7 +148,7 @@ async function init() {
135148
group.add( floor );
136149

137150
const wall = new THREE.Mesh(
138-
new THREE.BoxGeometry( 12, 6, 0.5 ),
151+
new THREE.BoxGeometry( 14, 6, 0.5 ),
139152
new THREE.MeshStandardMaterial( { color: 0xffffff, roughness: 0, metalness: 1.0 } ),
140153
);
141154
wall.castShadow = true;
@@ -210,7 +223,7 @@ async function init() {
210223

211224
const targetObject = new THREE.Object3D();
212225
targetObject.position.x = i * 8.0;
213-
targetObject.position.y = floor.position.y + 0.05;
226+
targetObject.position.y = floor.position.y + 2;
214227
targetObject.position.z = 0.05;
215228
targetObject.updateMatrixWorld();
216229
spotLight.updateMatrixWorld();
@@ -229,6 +242,7 @@ async function init() {
229242
spotLightHelpers.push( spotLightHelper );
230243

231244
spotLight1 = spotLight;
245+
spotLight1.position.z = 4;
232246

233247
makeTransformControls( spotLight );
234248
makeTransformControls( targetObject );
@@ -279,6 +293,7 @@ async function init() {
279293
window.addEventListener( 'resize', onResize );
280294
const gui = new GUI();
281295
gui.add( params, 'showTransformControls' );
296+
gui.add( params, 'showLightHelper' );
282297

283298
const ptFolder = gui.addFolder( 'Path Tracing' );
284299
ptFolder.add( params, 'multipleImportanceSampling' ).onChange( value => {
@@ -308,6 +323,7 @@ async function init() {
308323
onResize();
309324

310325
} );
326+
ptFolder.close();
311327

312328
const envFolder = gui.addFolder( 'Environment' );
313329
envFolder.add( params, 'environmentIntensity', 0, 10 ).onChange( () => {
@@ -423,8 +439,14 @@ function animate() {
423439
fsQuad.material.depthWrite = false;
424440
fsQuad.render( renderer );
425441

426-
if ( params.showTransformControls )
427-
renderer.render( transformControlsScene, perspectiveCamera );
442+
transformControlsScene.children.forEach( c => {
443+
444+
c.visible = c instanceof THREE.SpotLightHelper ? params.showLightHelper : params.showTransformControls;
445+
if ( c.enabled ) c.enabled = params.showTransformControls;
446+
447+
} );
448+
449+
renderer.render( transformControlsScene, perspectiveCamera );
428450

429451
renderer.autoClear = true;
430452

0 commit comments

Comments
 (0)