|
127 | 127 |
|
128 | 128 | // |
129 | 129 |
|
130 | | - var light = new THREE.HemisphereLight( 0xffffff, 0x444444 ); |
131 | | - light.position.set( 0, 200, 0 ); |
132 | | - scene.add( light ); |
133 | | - |
134 | | - light = new THREE.DirectionalLight( 0xffffff ); |
135 | | - light.position.set( 0, 200, 100 ); |
136 | | - light.castShadow = true; |
137 | | - light.shadow.camera.top = 180; |
138 | | - light.shadow.camera.bottom = - 100; |
139 | | - light.shadow.camera.left = - 120; |
140 | | - light.shadow.camera.right = 120; |
141 | | - scene.add( light ); |
| 130 | + var hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444 ); |
| 131 | + hemiLight.position.set( 0, 20, 0 ); |
| 132 | + scene.add( hemiLight ); |
| 133 | + |
| 134 | + var dirLight = new THREE.DirectionalLight( 0xffffff ); |
| 135 | + dirLight.position.set( 5, 5, 0 ); |
| 136 | + dirLight.castShadow = true; |
| 137 | + dirLight.shadow.camera.top = 1; |
| 138 | + dirLight.shadow.camera.bottom = - 1; |
| 139 | + dirLight.shadow.camera.left = - 1; |
| 140 | + dirLight.shadow.camera.right = 1; |
| 141 | + dirLight.shadow.camera.near = 0.1; |
| 142 | + dirLight.shadow.camera.far = 20; |
| 143 | + scene.add( dirLight ); |
| 144 | + |
| 145 | + // scene.add( new THREE.CameraHelper( dirLight.shadow.camera ) ); |
142 | 146 |
|
143 | 147 | // |
144 | 148 |
|
145 | | - var mesh = new THREE.Mesh( new THREE.PlaneBufferGeometry( 20, 20 ), new THREE.MeshPhongMaterial( { color: 0x999999, depthWrite: false } ) ); |
| 149 | + var mesh = new THREE.Mesh( new THREE.PlaneBufferGeometry( 50, 50 ), new THREE.MeshPhongMaterial( { color: 0x999999, depthWrite: false } ) ); |
146 | 150 | mesh.rotation.x = - Math.PI / 2; |
147 | 151 | mesh.receiveShadow = true; |
148 | 152 | scene.add( mesh ); |
149 | 153 |
|
150 | | - var grid = new THREE.GridHelper( 20, 20, 0x000000, 0x000000 ); |
| 154 | + var grid = new THREE.GridHelper( 50, 50, 0x000000, 0x000000 ); |
151 | 155 | grid.material.opacity = 0.2; |
152 | 156 | grid.material.transparent = true; |
153 | 157 | scene.add( grid ); |
|
180 | 184 |
|
181 | 185 | object.material.envMap = reflectionCube; |
182 | 186 | object.geometry.rotateY( - Math.PI ); |
| 187 | + object.castShadow = true; |
183 | 188 |
|
184 | 189 | } |
185 | 190 |
|
|
194 | 199 | // sound is damped behind this wall |
195 | 200 |
|
196 | 201 | var wallGeometry = new THREE.BoxBufferGeometry( 2, 1, 0.1 ); |
197 | | - var wallMaterial = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } ); |
| 202 | + var wallMaterial = new THREE.MeshBasicMaterial( { color: 0xff0000, transparent: true, opacity: 0.5 } ); |
198 | 203 |
|
199 | 204 | var wall = new THREE.Mesh( wallGeometry, wallMaterial ); |
200 | 205 | wall.position.set( 0, 0.5, - 0.5 ); |
|
206 | 211 | renderer = new THREE.WebGLRenderer( { antialias: true } ); |
207 | 212 | renderer.setSize( window.innerWidth, window.innerHeight ); |
208 | 213 | renderer.setPixelRatio( window.devicePixelRatio ); |
209 | | - container.appendChild( renderer.domElement ); |
210 | | - |
211 | 214 | renderer.gammaOutput = true; |
| 215 | + renderer.gammaFactor = 2.2; |
| 216 | + renderer.shadowMap.enabled = true; |
| 217 | + container.appendChild( renderer.domElement ); |
212 | 218 |
|
213 | 219 | // |
214 | 220 |
|
|
0 commit comments