2
0
Эх сурвалжийг харах

Examples: More usage of `useLegacyLights=false`. (#26280)

* Examples: More usage of `useLegacyLights=false`.

* Examples: Update screenshots.
Michael Herzog 2 жил өмнө
parent
commit
4e438e91d3
67 өөрчлөгдсөн 163 нэмэгдсэн , 137 устгасан
  1. 1 2
      examples/misc_controls_arcball.html
  2. 2 1
      examples/misc_controls_fly.html
  3. 6 5
      examples/misc_controls_map.html
  4. 5 4
      examples/misc_controls_orbit.html
  5. 2 1
      examples/misc_controls_pointerlock.html
  6. 5 4
      examples/misc_controls_trackball.html
  7. 10 7
      examples/misc_controls_transform.html
  8. 17 21
      examples/misc_exporter_draco.html
  9. 4 2
      examples/misc_exporter_gltf.html
  10. 3 2
      examples/misc_exporter_obj.html
  11. 17 16
      examples/misc_exporter_ply.html
  12. 17 16
      examples/misc_exporter_stl.html
  13. 1 0
      examples/misc_lookat.html
  14. 0 0
      examples/models/json/lightmap/lightmap.json
  15. 4 3
      examples/physics_ammo_break.html
  16. 4 3
      examples/physics_ammo_cloth.html
  17. 2 2
      examples/physics_ammo_instancing.html
  18. 4 3
      examples/physics_ammo_rope.html
  19. 6 2
      examples/physics_ammo_terrain.html
  20. 4 3
      examples/physics_ammo_volume.html
  21. 2 2
      examples/physics_rapier_instancing.html
  22. BIN
      examples/screenshots/misc_controls_arcball.jpg
  23. BIN
      examples/screenshots/misc_controls_fly.jpg
  24. BIN
      examples/screenshots/misc_controls_map.jpg
  25. BIN
      examples/screenshots/misc_controls_orbit.jpg
  26. BIN
      examples/screenshots/misc_controls_pointerlock.jpg
  27. BIN
      examples/screenshots/misc_controls_trackball.jpg
  28. BIN
      examples/screenshots/misc_controls_transform.jpg
  29. BIN
      examples/screenshots/misc_exporter_draco.jpg
  30. BIN
      examples/screenshots/misc_exporter_gltf.jpg
  31. BIN
      examples/screenshots/misc_exporter_obj.jpg
  32. BIN
      examples/screenshots/misc_exporter_ply.jpg
  33. BIN
      examples/screenshots/misc_exporter_stl.jpg
  34. BIN
      examples/screenshots/physics_ammo_break.jpg
  35. BIN
      examples/screenshots/physics_ammo_cloth.jpg
  36. BIN
      examples/screenshots/physics_ammo_instancing.jpg
  37. BIN
      examples/screenshots/physics_ammo_rope.jpg
  38. BIN
      examples/screenshots/physics_ammo_terrain.jpg
  39. BIN
      examples/screenshots/physics_ammo_volume.jpg
  40. BIN
      examples/screenshots/physics_rapier_instancing.jpg
  41. BIN
      examples/screenshots/webgl_camera_array.jpg
  42. BIN
      examples/screenshots/webgl_camera_cinematic.jpg
  43. BIN
      examples/screenshots/webgl_camera_logarithmicdepthbuffer.jpg
  44. BIN
      examples/screenshots/webgl_decals.jpg
  45. BIN
      examples/screenshots/webgl_gpgpu_birds_gltf.jpg
  46. BIN
      examples/screenshots/webgl_gpgpu_water.jpg
  47. BIN
      examples/screenshots/webgl_loader_obj.jpg
  48. BIN
      examples/screenshots/webgl_loader_obj_mtl.jpg
  49. BIN
      examples/screenshots/webgl_materials_lightmap.jpg
  50. BIN
      examples/screenshots/webgl_materials_normalmap.jpg
  51. 3 2
      examples/webgl_camera_array.html
  52. 3 2
      examples/webgl_camera_cinematic.html
  53. 3 2
      examples/webgl_camera_logarithmicdepthbuffer.html
  54. 4 3
      examples/webgl_decals.html
  55. 1 0
      examples/webgl_gpgpu_birds.html
  56. 3 2
      examples/webgl_gpgpu_birds_gltf.html
  57. 1 0
      examples/webgl_gpgpu_protoplanet.html
  58. 3 2
      examples/webgl_gpgpu_water.html
  59. 2 2
      examples/webgl_loader_obj.html
  60. 2 2
      examples/webgl_loader_obj_mtl.html
  61. 2 1
      examples/webgl_materials_lightmap.html
  62. 1 0
      examples/webgl_materials_matcap.html
  63. 1 0
      examples/webgl_materials_modified.html
  64. 14 17
      examples/webgl_materials_normalmap.html
  65. 2 2
      examples/webgl_materials_physical_clearcoat.html
  66. 1 0
      examples/webgl_materials_physical_transmission.html
  67. 1 1
      examples/webgl_materials_physical_transmission_alpha.html

+ 1 - 2
examples/misc_controls_arcball.html

@@ -101,7 +101,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
-
+				renderer.useLegacyLights = false;
 				renderer.toneMapping = THREE.ReinhardToneMapping;
 				renderer.toneMapping = THREE.ReinhardToneMapping;
 				renderer.toneMappingExposure = 3;
 				renderer.toneMappingExposure = 3;
 				renderer.domElement.style.background = 'linear-gradient( 180deg, rgba( 0,0,0,1 ) 0%, rgba( 128,128,255,1 ) 100% )';
 				renderer.domElement.style.background = 'linear-gradient( 180deg, rgba( 0,0,0,1 ) 0%, rgba( 128,128,255,1 ) 100% )';
@@ -110,7 +110,6 @@
 				//
 				//
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
-				scene.add( new THREE.HemisphereLight( 0x443333, 0x222233, 4 ) );
 
 
 				camera = makePerspectiveCamera();
 				camera = makePerspectiveCamera();
 				camera.position.set( 0, 0, perspectiveDistance );
 				camera.position.set( 0, 0, perspectiveDistance );

+ 2 - 1
examples/misc_controls_fly.html

@@ -87,7 +87,7 @@
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.fog = new THREE.FogExp2( 0x000000, 0.00000025 );
 				scene.fog = new THREE.FogExp2( 0x000000, 0.00000025 );
 
 
-				dirLight = new THREE.DirectionalLight( 0xffffff );
+				dirLight = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight.position.set( - 1, 0, 1 ).normalize();
 				dirLight.position.set( - 1, 0, 1 ).normalize();
 				scene.add( dirLight );
 				scene.add( dirLight );
 
 
@@ -205,6 +205,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
 				renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				//
 				//

+ 6 - 5
examples/misc_controls_map.html

@@ -58,10 +58,11 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 1000 );
 				camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 1000 );
-				camera.position.set( 400, 200, 0 );
+				camera.position.set( 0, 200, - 400 );
 
 
 				// controls
 				// controls
 
 
@@ -81,7 +82,7 @@
 
 
 				// world
 				// world
 
 
-				const geometry = new THREE.BoxGeometry( 1, 1, 1 );
+				const geometry = new THREE.BoxGeometry();
 				geometry.translate( 0, 0.5, 0 );
 				geometry.translate( 0, 0.5, 0 );
 				const material = new THREE.MeshPhongMaterial( { color: 0xeeeeee, flatShading: true } );
 				const material = new THREE.MeshPhongMaterial( { color: 0xeeeeee, flatShading: true } );
 
 
@@ -102,15 +103,15 @@
 
 
 				// lights
 				// lights
 
 
-				const dirLight1 = new THREE.DirectionalLight( 0xffffff );
+				const dirLight1 = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight1.position.set( 1, 1, 1 );
 				dirLight1.position.set( 1, 1, 1 );
 				scene.add( dirLight1 );
 				scene.add( dirLight1 );
 
 
-				const dirLight2 = new THREE.DirectionalLight( 0x002288 );
+				const dirLight2 = new THREE.DirectionalLight( 0x002288, 3 );
 				dirLight2.position.set( - 1, - 1, - 1 );
 				dirLight2.position.set( - 1, - 1, - 1 );
 				scene.add( dirLight2 );
 				scene.add( dirLight2 );
 
 
-				const ambientLight = new THREE.AmbientLight( 0x222222 );
+				const ambientLight = new THREE.AmbientLight( 0x555555 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
 				//
 				//

+ 5 - 4
examples/misc_controls_orbit.html

@@ -56,6 +56,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 1000 );
 				camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 1, 1000 );
@@ -80,7 +81,7 @@
 
 
 				// world
 				// world
 
 
-				const geometry = new THREE.CylinderGeometry( 0, 10, 30, 4, 1 );
+				const geometry = new THREE.ConeGeometry( 10, 30, 4, 1 );
 				const material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } );
 				const material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } );
 
 
 				for ( let i = 0; i < 500; i ++ ) {
 				for ( let i = 0; i < 500; i ++ ) {
@@ -97,15 +98,15 @@
 
 
 				// lights
 				// lights
 
 
-				const dirLight1 = new THREE.DirectionalLight( 0xffffff );
+				const dirLight1 = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight1.position.set( 1, 1, 1 );
 				dirLight1.position.set( 1, 1, 1 );
 				scene.add( dirLight1 );
 				scene.add( dirLight1 );
 
 
-				const dirLight2 = new THREE.DirectionalLight( 0x002288 );
+				const dirLight2 = new THREE.DirectionalLight( 0x002288, 3 );
 				dirLight2.position.set( - 1, - 1, - 1 );
 				dirLight2.position.set( - 1, - 1, - 1 );
 				scene.add( dirLight2 );
 				scene.add( dirLight2 );
 
 
-				const ambientLight = new THREE.AmbientLight( 0x222222 );
+				const ambientLight = new THREE.AmbientLight( 0x555555 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
 				//
 				//

+ 2 - 1
examples/misc_controls_pointerlock.html

@@ -91,7 +91,7 @@
 				scene.background = new THREE.Color( 0xffffff );
 				scene.background = new THREE.Color( 0xffffff );
 				scene.fog = new THREE.Fog( 0xffffff, 0, 750 );
 				scene.fog = new THREE.Fog( 0xffffff, 0, 750 );
 
 
-				const light = new THREE.HemisphereLight( 0xeeeeff, 0x777788, 0.75 );
+				const light = new THREE.HemisphereLight( 0xeeeeff, 0x777788, 2.5 );
 				light.position.set( 0.5, 1, 0.75 );
 				light.position.set( 0.5, 1, 0.75 );
 				scene.add( light );
 				scene.add( light );
 
 
@@ -264,6 +264,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				//
 				//

+ 5 - 4
examples/misc_controls_trackball.html

@@ -71,7 +71,7 @@
 				scene.background = new THREE.Color( 0xcccccc );
 				scene.background = new THREE.Color( 0xcccccc );
 				scene.fog = new THREE.FogExp2( 0xcccccc, 0.002 );
 				scene.fog = new THREE.FogExp2( 0xcccccc, 0.002 );
 
 
-				const geometry = new THREE.CylinderGeometry( 0, 10, 30, 4, 1 );
+				const geometry = new THREE.ConeGeometry( 10, 30, 4, 1 );
 				const material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } );
 				const material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } );
 
 
 				for ( let i = 0; i < 500; i ++ ) {
 				for ( let i = 0; i < 500; i ++ ) {
@@ -88,15 +88,15 @@
 
 
 				// lights
 				// lights
 
 
-				const dirLight1 = new THREE.DirectionalLight( 0xffffff );
+				const dirLight1 = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight1.position.set( 1, 1, 1 );
 				dirLight1.position.set( 1, 1, 1 );
 				scene.add( dirLight1 );
 				scene.add( dirLight1 );
 
 
-				const dirLight2 = new THREE.DirectionalLight( 0x002288 );
+				const dirLight2 = new THREE.DirectionalLight( 0x002288, 3 );
 				dirLight2.position.set( - 1, - 1, - 1 );
 				dirLight2.position.set( - 1, - 1, - 1 );
 				scene.add( dirLight2 );
 				scene.add( dirLight2 );
 
 
-				const ambientLight = new THREE.AmbientLight( 0x222222 );
+				const ambientLight = new THREE.AmbientLight( 0x555555 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
 				// renderer
 				// renderer
@@ -104,6 +104,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				stats = new Stats();
 				stats = new Stats();

+ 10 - 7
examples/misc_controls_transform.html

@@ -44,9 +44,10 @@
 
 
 			function init() {
 			function init() {
 
 
-				renderer = new THREE.WebGLRenderer();
+				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				const aspect = window.innerWidth / window.innerHeight;
 				const aspect = window.innerWidth / window.innerHeight;
@@ -55,13 +56,15 @@
 				cameraOrtho = new THREE.OrthographicCamera( - 600 * aspect, 600 * aspect, 600, - 600, 0.01, 30000 );
 				cameraOrtho = new THREE.OrthographicCamera( - 600 * aspect, 600 * aspect, 600, - 600, 0.01, 30000 );
 				currentCamera = cameraPersp;
 				currentCamera = cameraPersp;
 
 
-				currentCamera.position.set( 1000, 500, 1000 );
-				currentCamera.lookAt( 0, 200, 0 );
+				currentCamera.position.set( 5, 2.5, 5 );
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
-				scene.add( new THREE.GridHelper( 1000, 10, 0x888888, 0x444444 ) );
+				scene.add( new THREE.GridHelper( 5, 10, 0x888888, 0x444444 ) );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 2 );
+				const ambientLight = new THREE.AmbientLight( 0xffffff );
+				scene.add( ambientLight );
+
+				const light = new THREE.DirectionalLight( 0xffffff, 4 );
 				light.position.set( 1, 1, 1 );
 				light.position.set( 1, 1, 1 );
 				scene.add( light );
 				scene.add( light );
 
 
@@ -69,8 +72,8 @@
 				texture.colorSpace = THREE.SRGBColorSpace;
 				texture.colorSpace = THREE.SRGBColorSpace;
 				texture.anisotropy = renderer.capabilities.getMaxAnisotropy();
 				texture.anisotropy = renderer.capabilities.getMaxAnisotropy();
 
 
-				const geometry = new THREE.BoxGeometry( 200, 200, 200 );
-				const material = new THREE.MeshLambertMaterial( { map: texture, transparent: true } );
+				const geometry = new THREE.BoxGeometry();
+				const material = new THREE.MeshLambertMaterial( { map: texture } );
 
 
 				orbit = new OrbitControls( currentCamera, renderer.domElement );
 				orbit = new OrbitControls( currentCamera, renderer.domElement );
 				orbit.update();
 				orbit.update();

+ 17 - 21
examples/misc_exporter_draco.html

@@ -45,54 +45,49 @@
 
 
 			function init() {
 			function init() {
 
 
-				camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 1000 );
-				camera.position.set( 200, 100, 200 );
+				camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.1, 100 );
+				camera.position.set( 4, 2, 4 );
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0xa0a0a0 );
 				scene.background = new THREE.Color( 0xa0a0a0 );
-				scene.fog = new THREE.Fog( 0xa0a0a0, 200, 1000 );
+				scene.fog = new THREE.Fog( 0xa0a0a0, 4, 20 );
 
 
 				exporter = new DRACOExporter();
 				exporter = new DRACOExporter();
 
 
 				//
 				//
 
 
-				const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444 );
-				hemiLight.position.set( 0, 200, 0 );
+				const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444, 3 );
+				hemiLight.position.set( 0, 20, 0 );
 				scene.add( hemiLight );
 				scene.add( hemiLight );
 
 
-				const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 );
-				directionalLight.position.set( 0, 200, 100 );
+				const directionalLight = new THREE.DirectionalLight( 0xffffff, 3 );
+				directionalLight.position.set( 0, 20, 10 );
 				directionalLight.castShadow = true;
 				directionalLight.castShadow = true;
-				directionalLight.shadow.camera.top = 180;
-				directionalLight.shadow.camera.bottom = - 100;
-				directionalLight.shadow.camera.left = - 120;
-				directionalLight.shadow.camera.right = 120;
+				directionalLight.shadow.camera.top = 2;
+				directionalLight.shadow.camera.bottom = - 2;
+				directionalLight.shadow.camera.left = - 2;
+				directionalLight.shadow.camera.right = 2;
 				scene.add( directionalLight );
 				scene.add( directionalLight );
 
 
 				// ground
 				// ground
 
 
-				const ground = new THREE.Mesh(
-					new THREE.PlaneGeometry( 2000, 2000 ),
-					new THREE.MeshPhongMaterial( { color: 0xbbbbbb, depthWrite: false } )
-				);
+				const ground = new THREE.Mesh( new THREE.PlaneGeometry( 40, 40 ), new THREE.MeshPhongMaterial( { color: 0xbbbbbb, depthWrite: false } ) );
 				ground.rotation.x = - Math.PI / 2;
 				ground.rotation.x = - Math.PI / 2;
-				ground.position.y = - 75;
 				ground.receiveShadow = true;
 				ground.receiveShadow = true;
 				scene.add( ground );
 				scene.add( ground );
 
 
-				const grid = new THREE.GridHelper( 2000, 20, 0x000000, 0x000000 );
+				const grid = new THREE.GridHelper( 40, 20, 0x000000, 0x000000 );
 				grid.material.opacity = 0.2;
 				grid.material.opacity = 0.2;
 				grid.material.transparent = true;
 				grid.material.transparent = true;
-				grid.position.y = - 75;
 				scene.add( grid );
 				scene.add( grid );
 
 
 				// export mesh
 				// export mesh
 
 
-				const geometry = new THREE.TorusKnotGeometry( 50, 15, 200, 30 );
+				const geometry = new THREE.TorusKnotGeometry( 0.75, 0.2, 200, 30 );
 				const material = new THREE.MeshPhongMaterial( { color: 0x00ff00 } );
 				const material = new THREE.MeshPhongMaterial( { color: 0x00ff00 } );
 				mesh = new THREE.Mesh( geometry, material );
 				mesh = new THREE.Mesh( geometry, material );
 				mesh.castShadow = true;
 				mesh.castShadow = true;
-				mesh.position.y = 25;
+				mesh.position.y = 1.5;
 				scene.add( mesh );
 				scene.add( mesh );
 
 
 				//
 				//
@@ -100,13 +95,14 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				//
 				//
 
 
 				const controls = new OrbitControls( camera, renderer.domElement );
 				const controls = new OrbitControls( camera, renderer.domElement );
-				controls.target.set( 0, 25, 0 );
+				controls.target.set( 0, 1.5, 0 );
 				controls.update();
 				controls.update();
 
 
 				//
 				//

+ 4 - 2
examples/misc_exporter_gltf.html

@@ -164,14 +164,14 @@
 				// ---------------------------------------------------------------------
 				// ---------------------------------------------------------------------
 				// Ambient light
 				// Ambient light
 				// ---------------------------------------------------------------------
 				// ---------------------------------------------------------------------
-				const ambientLight = new THREE.AmbientLight( 0xffffff, 0.2 );
+				const ambientLight = new THREE.AmbientLight( 0xcccccc );
 				ambientLight.name = 'AmbientLight';
 				ambientLight.name = 'AmbientLight';
 				scene1.add( ambientLight );
 				scene1.add( ambientLight );
 
 
 				// ---------------------------------------------------------------------
 				// ---------------------------------------------------------------------
 				// DirectLight
 				// DirectLight
 				// ---------------------------------------------------------------------
 				// ---------------------------------------------------------------------
-				const dirLight = new THREE.DirectionalLight( 0xffffff, 1 );
+				const dirLight = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight.target.position.set( 0, 0, - 1 );
 				dirLight.target.position.set( 0, 0, - 1 );
 				dirLight.add( dirLight.target );
 				dirLight.add( dirLight.target );
 				dirLight.lookAt( - 1, - 1, 0 );
 				dirLight.lookAt( - 1, - 1, 0 );
@@ -199,6 +199,7 @@
 				// Icosahedron
 				// Icosahedron
 				const mapGrid = new THREE.TextureLoader().load( 'textures/uv_grid_opengl.jpg' );
 				const mapGrid = new THREE.TextureLoader().load( 'textures/uv_grid_opengl.jpg' );
 				mapGrid.wrapS = mapGrid.wrapT = THREE.RepeatWrapping;
 				mapGrid.wrapS = mapGrid.wrapT = THREE.RepeatWrapping;
+				mapGrid.colorSpace = THREE.SRGBColorSpace;
 				material = new THREE.MeshBasicMaterial( {
 				material = new THREE.MeshBasicMaterial( {
 					color: 0xffffff,
 					color: 0xffffff,
 					map: mapGrid
 					map: mapGrid
@@ -445,6 +446,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.toneMapping = THREE.ACESFilmicToneMapping;
 				renderer.toneMapping = THREE.ACESFilmicToneMapping;
 				renderer.toneMappingExposure = 1;
 				renderer.toneMappingExposure = 1;
 
 

+ 3 - 2
examples/misc_exporter_obj.html

@@ -52,6 +52,7 @@
 				renderer = new THREE.WebGLRenderer();
 				renderer = new THREE.WebGLRenderer();
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 );
 				camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000 );
@@ -59,10 +60,10 @@
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 
 
-				const ambientLight = new THREE.AmbientLight( 0xcccccc, 0.4 );
+				const ambientLight = new THREE.AmbientLight( 0xffffff );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.8 );
+				const directionalLight = new THREE.DirectionalLight( 0xffffff, 2.5 );
 				directionalLight.position.set( 0, 1, 1 );
 				directionalLight.position.set( 0, 1, 1 );
 				scene.add( directionalLight );
 				scene.add( directionalLight );
 
 

+ 17 - 16
examples/misc_exporter_ply.html

@@ -45,45 +45,45 @@
 
 
 			function init() {
 			function init() {
 
 
-				camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 1000 );
-				camera.position.set( 200, 100, 200 );
+				camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.1, 100 );
+				camera.position.set( 4, 2, 4 );
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0xa0a0a0 );
 				scene.background = new THREE.Color( 0xa0a0a0 );
-				scene.fog = new THREE.Fog( 0xa0a0a0, 200, 1000 );
+				scene.fog = new THREE.Fog( 0xa0a0a0, 4, 20 );
 
 
 				exporter = new PLYExporter();
 				exporter = new PLYExporter();
 
 
 				//
 				//
 
 
-				const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x8d8d8d );
-				hemiLight.position.set( 0, 200, 0 );
+				const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444, 3 );
+				hemiLight.position.set( 0, 20, 0 );
 				scene.add( hemiLight );
 				scene.add( hemiLight );
 
 
-				const directionalLight = new THREE.DirectionalLight( 0xffffff );
-				directionalLight.position.set( 0, 200, 100 );
+				const directionalLight = new THREE.DirectionalLight( 0xffffff, 3 );
+				directionalLight.position.set( 0, 20, 10 );
 				directionalLight.castShadow = true;
 				directionalLight.castShadow = true;
-				directionalLight.shadow.camera.top = 180;
-				directionalLight.shadow.camera.bottom = - 100;
-				directionalLight.shadow.camera.left = - 120;
-				directionalLight.shadow.camera.right = 120;
+				directionalLight.shadow.camera.top = 2;
+				directionalLight.shadow.camera.bottom = - 2;
+				directionalLight.shadow.camera.left = - 2;
+				directionalLight.shadow.camera.right = 2;
 				scene.add( directionalLight );
 				scene.add( directionalLight );
 
 
 				// ground
 				// ground
 
 
-				const ground = new THREE.Mesh( new THREE.PlaneGeometry( 2000, 2000 ), new THREE.MeshPhongMaterial( { color: 0xcbcbcb, depthWrite: false } ) );
+				const ground = new THREE.Mesh( new THREE.PlaneGeometry( 40, 40 ), new THREE.MeshPhongMaterial( { color: 0xcbcbcb, depthWrite: false } ) );
 				ground.rotation.x = - Math.PI / 2;
 				ground.rotation.x = - Math.PI / 2;
 				ground.receiveShadow = true;
 				ground.receiveShadow = true;
 				scene.add( ground );
 				scene.add( ground );
 
 
-				const grid = new THREE.GridHelper( 2000, 20, 0x000000, 0x000000 );
+				const grid = new THREE.GridHelper( 40, 20, 0x000000, 0x000000 );
 				grid.material.opacity = 0.2;
 				grid.material.opacity = 0.2;
 				grid.material.transparent = true;
 				grid.material.transparent = true;
 				scene.add( grid );
 				scene.add( grid );
 
 
 				// export mesh
 				// export mesh
 
 
-				const geometry = new THREE.BoxGeometry( 50, 50, 50 );
+				const geometry = new THREE.BoxGeometry();
 				const material = new THREE.MeshPhongMaterial( { vertexColors: true } );
 				const material = new THREE.MeshPhongMaterial( { vertexColors: true } );
 
 
 				// color vertices based on vertex positions
 				// color vertices based on vertex positions
@@ -99,7 +99,7 @@
 
 
 				mesh = new THREE.Mesh( geometry, material );
 				mesh = new THREE.Mesh( geometry, material );
 				mesh.castShadow = true;
 				mesh.castShadow = true;
-				mesh.position.y = 25;
+				mesh.position.y = 0.5;
 				scene.add( mesh );
 				scene.add( mesh );
 
 
 				//
 				//
@@ -107,13 +107,14 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				//
 				//
 
 
 				const controls = new OrbitControls( camera, renderer.domElement );
 				const controls = new OrbitControls( camera, renderer.domElement );
-				controls.target.set( 0, 25, 0 );
+				controls.target.set( 0, 0.5, 0 );
 				controls.update();
 				controls.update();
 
 
 				//
 				//

+ 17 - 16
examples/misc_exporter_stl.html

@@ -44,50 +44,50 @@
 
 
 			function init() {
 			function init() {
 
 
-				camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 1000 );
-				camera.position.set( 200, 100, 200 );
+				camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 0.1, 100 );
+				camera.position.set( 4, 2, 4 );
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0xa0a0a0 );
 				scene.background = new THREE.Color( 0xa0a0a0 );
-				scene.fog = new THREE.Fog( 0xa0a0a0, 200, 1000 );
+				scene.fog = new THREE.Fog( 0xa0a0a0, 4, 20 );
 
 
 				exporter = new STLExporter();
 				exporter = new STLExporter();
 
 
 				//
 				//
 
 
-				const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444 );
-				hemiLight.position.set( 0, 200, 0 );
+				const hemiLight = new THREE.HemisphereLight( 0xffffff, 0x444444, 3 );
+				hemiLight.position.set( 0, 20, 0 );
 				scene.add( hemiLight );
 				scene.add( hemiLight );
 
 
-				const directionalLight = new THREE.DirectionalLight( 0xffffff );
-				directionalLight.position.set( 0, 200, 100 );
+				const directionalLight = new THREE.DirectionalLight( 0xffffff, 3 );
+				directionalLight.position.set( 0, 20, 10 );
 				directionalLight.castShadow = true;
 				directionalLight.castShadow = true;
-				directionalLight.shadow.camera.top = 180;
-				directionalLight.shadow.camera.bottom = - 100;
-				directionalLight.shadow.camera.left = - 120;
-				directionalLight.shadow.camera.right = 120;
+				directionalLight.shadow.camera.top = 2;
+				directionalLight.shadow.camera.bottom = - 2;
+				directionalLight.shadow.camera.left = - 2;
+				directionalLight.shadow.camera.right = 2;
 				scene.add( directionalLight );
 				scene.add( directionalLight );
 
 
 				// ground
 				// ground
 
 
-				const ground = new THREE.Mesh( new THREE.PlaneGeometry( 2000, 2000 ), new THREE.MeshPhongMaterial( { color: 0xbbbbbb, depthWrite: false } ) );
+				const ground = new THREE.Mesh( new THREE.PlaneGeometry( 40, 40 ), new THREE.MeshPhongMaterial( { color: 0xbbbbbb, depthWrite: false } ) );
 				ground.rotation.x = - Math.PI / 2;
 				ground.rotation.x = - Math.PI / 2;
 				ground.receiveShadow = true;
 				ground.receiveShadow = true;
 				scene.add( ground );
 				scene.add( ground );
 
 
-				const grid = new THREE.GridHelper( 2000, 20, 0x000000, 0x000000 );
+				const grid = new THREE.GridHelper( 40, 20, 0x000000, 0x000000 );
 				grid.material.opacity = 0.2;
 				grid.material.opacity = 0.2;
 				grid.material.transparent = true;
 				grid.material.transparent = true;
 				scene.add( grid );
 				scene.add( grid );
 
 
 				// export mesh
 				// export mesh
 
 
-				const geometry = new THREE.BoxGeometry( 50, 50, 50 );
+				const geometry = new THREE.BoxGeometry();
 				const material = new THREE.MeshPhongMaterial( { color: 0x00ff00 } );
 				const material = new THREE.MeshPhongMaterial( { color: 0x00ff00 } );
 
 
 				mesh = new THREE.Mesh( geometry, material );
 				mesh = new THREE.Mesh( geometry, material );
 				mesh.castShadow = true;
 				mesh.castShadow = true;
-				mesh.position.y = 25;
+				mesh.position.y = 0.5;
 				scene.add( mesh );
 				scene.add( mesh );
 
 
 				//
 				//
@@ -95,13 +95,14 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				//
 				//
 
 
 				const controls = new OrbitControls( camera, renderer.domElement );
 				const controls = new OrbitControls( camera, renderer.domElement );
-				controls.target.set( 0, 25, 0 );
+				controls.target.set( 0, 0.5, 0 );
 				controls.update();
 				controls.update();
 
 
 				//
 				//

+ 1 - 0
examples/misc_lookat.html

@@ -83,6 +83,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				stats = new Stats();
 				stats = new Stats();

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
examples/models/json/lightmap/lightmap.json


+ 4 - 3
examples/physics_ammo_break.html

@@ -120,9 +120,10 @@
 
 
 			camera.position.set( - 14, 8, 16 );
 			camera.position.set( - 14, 8, 16 );
 
 
-			renderer = new THREE.WebGLRenderer();
+			renderer = new THREE.WebGLRenderer( { antialias: true } );
 			renderer.setPixelRatio( window.devicePixelRatio );
 			renderer.setPixelRatio( window.devicePixelRatio );
 			renderer.setSize( window.innerWidth, window.innerHeight );
 			renderer.setSize( window.innerWidth, window.innerHeight );
+			renderer.useLegacyLights = false;
 			renderer.shadowMap.enabled = true;
 			renderer.shadowMap.enabled = true;
 			container.appendChild( renderer.domElement );
 			container.appendChild( renderer.domElement );
 
 
@@ -132,10 +133,10 @@
 
 
 			textureLoader = new THREE.TextureLoader();
 			textureLoader = new THREE.TextureLoader();
 
 
-			const ambientLight = new THREE.AmbientLight( 0x707070 );
+			const ambientLight = new THREE.AmbientLight( 0xbbbbbb );
 			scene.add( ambientLight );
 			scene.add( ambientLight );
 
 
-			const light = new THREE.DirectionalLight( 0xffffff, 1 );
+			const light = new THREE.DirectionalLight( 0xffffff, 3 );
 			light.position.set( - 10, 18, 5 );
 			light.position.set( - 10, 18, 5 );
 			light.castShadow = true;
 			light.castShadow = true;
 			const d = 14;
 			const d = 14;

+ 4 - 3
examples/physics_ammo_cloth.html

@@ -87,9 +87,10 @@
 
 
 				camera.position.set( - 12, 7, 4 );
 				camera.position.set( - 12, 7, 4 );
 
 
-				renderer = new THREE.WebGLRenderer();
+				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
@@ -99,10 +100,10 @@
 
 
 				textureLoader = new THREE.TextureLoader();
 				textureLoader = new THREE.TextureLoader();
 
 
-				const ambientLight = new THREE.AmbientLight( 0x404040 );
+				const ambientLight = new THREE.AmbientLight( 0xbbbbbb );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 1 );
+				const light = new THREE.DirectionalLight( 0xffffff, 3 );
 				light.position.set( - 7, 10, 15 );
 				light.position.set( - 7, 10, 15 );
 				light.castShadow = true;
 				light.castShadow = true;
 				const d = 10;
 				const d = 10;

+ 2 - 2
examples/physics_ammo_instancing.html

@@ -56,10 +56,9 @@
 				scene.background = new THREE.Color( 0x666666 );
 				scene.background = new THREE.Color( 0x666666 );
 
 
 				const hemiLight = new THREE.HemisphereLight();
 				const hemiLight = new THREE.HemisphereLight();
-				hemiLight.intensity = 0.3;
 				scene.add( hemiLight );
 				scene.add( hemiLight );
 
 
-				const dirLight = new THREE.DirectionalLight();
+				const dirLight = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight.position.set( 5, 5, 5 );
 				dirLight.position.set( 5, 5, 5 );
 				dirLight.castShadow = true;
 				dirLight.castShadow = true;
 				dirLight.shadow.camera.zoom = 2;
 				dirLight.shadow.camera.zoom = 2;
@@ -124,6 +123,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 

+ 4 - 3
examples/physics_ammo_rope.html

@@ -90,9 +90,10 @@
 
 
 			camera.position.set( - 7, 5, 8 );
 			camera.position.set( - 7, 5, 8 );
 
 
-			renderer = new THREE.WebGLRenderer();
+			renderer = new THREE.WebGLRenderer( { antialias: true } );
 			renderer.setPixelRatio( window.devicePixelRatio );
 			renderer.setPixelRatio( window.devicePixelRatio );
 			renderer.setSize( window.innerWidth, window.innerHeight );
 			renderer.setSize( window.innerWidth, window.innerHeight );
+			renderer.useLegacyLights = false;
 			renderer.shadowMap.enabled = true;
 			renderer.shadowMap.enabled = true;
 			container.appendChild( renderer.domElement );
 			container.appendChild( renderer.domElement );
 
 
@@ -102,10 +103,10 @@
 
 
 			textureLoader = new THREE.TextureLoader();
 			textureLoader = new THREE.TextureLoader();
 
 
-			const ambientLight = new THREE.AmbientLight( 0x404040 );
+			const ambientLight = new THREE.AmbientLight( 0xbbbbbb );
 			scene.add( ambientLight );
 			scene.add( ambientLight );
 
 
-			const light = new THREE.DirectionalLight( 0xffffff, 1 );
+			const light = new THREE.DirectionalLight( 0xffffff, 3 );
 			light.position.set( - 10, 10, 5 );
 			light.position.set( - 10, 10, 5 );
 			light.castShadow = true;
 			light.castShadow = true;
 			const d = 10;
 			const d = 10;

+ 6 - 2
examples/physics_ammo_terrain.html

@@ -94,9 +94,10 @@
 
 
 				container = document.getElementById( 'container' );
 				container = document.getElementById( 'container' );
 
 
-				renderer = new THREE.WebGLRenderer();
+				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
@@ -150,7 +151,10 @@
 
 
 				} );
 				} );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 1 );
+				const ambientLight = new THREE.AmbientLight( 0xbbbbbb );
+				scene.add( ambientLight );
+
+				const light = new THREE.DirectionalLight( 0xffffff, 3 );
 				light.position.set( 100, 100, 50 );
 				light.position.set( 100, 100, 50 );
 				light.castShadow = true;
 				light.castShadow = true;
 				const dLight = 200;
 				const dLight = 200;

+ 4 - 3
examples/physics_ammo_volume.html

@@ -94,9 +94,10 @@
 
 
 				camera.position.set( - 7, 5, 8 );
 				camera.position.set( - 7, 5, 8 );
 
 
-				renderer = new THREE.WebGLRenderer();
+				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
@@ -106,10 +107,10 @@
 
 
 				textureLoader = new THREE.TextureLoader();
 				textureLoader = new THREE.TextureLoader();
 
 
-				const ambientLight = new THREE.AmbientLight( 0x404040 );
+				const ambientLight = new THREE.AmbientLight( 0xbbbbbb );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 1 );
+				const light = new THREE.DirectionalLight( 0xffffff, 3 );
 				light.position.set( - 10, 10, 5 );
 				light.position.set( - 10, 10, 5 );
 				light.castShadow = true;
 				light.castShadow = true;
 				const d = 20;
 				const d = 20;

+ 2 - 2
examples/physics_rapier_instancing.html

@@ -54,10 +54,9 @@
 				scene.background = new THREE.Color( 0x666666 );
 				scene.background = new THREE.Color( 0x666666 );
 
 
 				const hemiLight = new THREE.HemisphereLight();
 				const hemiLight = new THREE.HemisphereLight();
-				hemiLight.intensity = 0.3;
 				scene.add( hemiLight );
 				scene.add( hemiLight );
 
 
-				const dirLight = new THREE.DirectionalLight();
+				const dirLight = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight.position.set( 5, 5, 5 );
 				dirLight.position.set( 5, 5, 5 );
 				dirLight.castShadow = true;
 				dirLight.castShadow = true;
 				dirLight.shadow.camera.zoom = 2;
 				dirLight.shadow.camera.zoom = 2;
@@ -122,6 +121,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 

BIN
examples/screenshots/misc_controls_arcball.jpg


BIN
examples/screenshots/misc_controls_fly.jpg


BIN
examples/screenshots/misc_controls_map.jpg


BIN
examples/screenshots/misc_controls_orbit.jpg


BIN
examples/screenshots/misc_controls_pointerlock.jpg


BIN
examples/screenshots/misc_controls_trackball.jpg


BIN
examples/screenshots/misc_controls_transform.jpg


BIN
examples/screenshots/misc_exporter_draco.jpg


BIN
examples/screenshots/misc_exporter_gltf.jpg


BIN
examples/screenshots/misc_exporter_obj.jpg


BIN
examples/screenshots/misc_exporter_ply.jpg


BIN
examples/screenshots/misc_exporter_stl.jpg


BIN
examples/screenshots/physics_ammo_break.jpg


BIN
examples/screenshots/physics_ammo_cloth.jpg


BIN
examples/screenshots/physics_ammo_instancing.jpg


BIN
examples/screenshots/physics_ammo_rope.jpg


BIN
examples/screenshots/physics_ammo_terrain.jpg


BIN
examples/screenshots/physics_ammo_volume.jpg


BIN
examples/screenshots/physics_rapier_instancing.jpg


BIN
examples/screenshots/webgl_camera_array.jpg


BIN
examples/screenshots/webgl_camera_cinematic.jpg


BIN
examples/screenshots/webgl_camera_logarithmicdepthbuffer.jpg


BIN
examples/screenshots/webgl_decals.jpg


BIN
examples/screenshots/webgl_gpgpu_birds_gltf.jpg


BIN
examples/screenshots/webgl_gpgpu_water.jpg


BIN
examples/screenshots/webgl_loader_obj.jpg


BIN
examples/screenshots/webgl_loader_obj_mtl.jpg


BIN
examples/screenshots/webgl_materials_lightmap.jpg


BIN
examples/screenshots/webgl_materials_normalmap.jpg


+ 3 - 2
examples/webgl_camera_array.html

@@ -64,9 +64,9 @@
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 
 
-				scene.add( new THREE.AmbientLight( 0x222244 ) );
+				scene.add( new THREE.AmbientLight( 0x999999 ) );
 
 
-				const light = new THREE.DirectionalLight();
+				const light = new THREE.DirectionalLight( 0xffffff, 3 );
 				light.position.set( 0.5, 0.5, 1 );
 				light.position.set( 0.5, 0.5, 1 );
 				light.castShadow = true;
 				light.castShadow = true;
 				light.shadow.camera.zoom = 4; // tighter shadow map
 				light.shadow.camera.zoom = 4; // tighter shadow map
@@ -91,6 +91,7 @@
 				renderer = new THREE.WebGLRenderer();
 				renderer = new THREE.WebGLRenderer();
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 

+ 3 - 2
examples/webgl_camera_cinematic.html

@@ -62,9 +62,9 @@
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0xf0f0f0 );
 				scene.background = new THREE.Color( 0xf0f0f0 );
 
 
-				scene.add( new THREE.AmbientLight( 0xffffff, 0.3 ) );
+				scene.add( new THREE.AmbientLight( 0xffffff ) );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 0.35 );
+				const light = new THREE.DirectionalLight( 0xffffff );
 				light.position.set( 1, 1, 1 ).normalize();
 				light.position.set( 1, 1, 1 ).normalize();
 				scene.add( light );
 				scene.add( light );
 
 
@@ -87,6 +87,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				stats = new Stats();
 				stats = new Stats();

+ 3 - 2
examples/webgl_camera_logarithmicdepthbuffer.html

@@ -159,6 +159,7 @@
 				const renderer = new THREE.WebGLRenderer( { antialias: true, logarithmicDepthBuffer: logDepthBuf } );
 				const renderer = new THREE.WebGLRenderer( { antialias: true, logarithmicDepthBuffer: logDepthBuf } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( SCREEN_WIDTH / 2, SCREEN_HEIGHT );
 				renderer.setSize( SCREEN_WIDTH / 2, SCREEN_HEIGHT );
+				renderer.useLegacyLights = false;
 				renderer.domElement.style.position = 'relative';
 				renderer.domElement.style.position = 'relative';
 				renderer.domElement.id = 'renderer_' + name;
 				renderer.domElement.id = 'renderer_' + name;
 				framecontainer.appendChild( renderer.domElement );
 				framecontainer.appendChild( renderer.domElement );
@@ -171,9 +172,9 @@
 
 
 				const scene = new THREE.Scene();
 				const scene = new THREE.Scene();
 
 
-				scene.add( new THREE.AmbientLight( 0x222222 ) );
+				scene.add( new THREE.AmbientLight( 0x777777 ) );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 1 );
+				const light = new THREE.DirectionalLight( 0xffffff, 3 );
 				light.position.set( 100, 100, 100 );
 				light.position.set( 100, 100, 100 );
 				scene.add( light );
 				scene.add( light );
 
 

+ 4 - 3
examples/webgl_decals.html

@@ -97,6 +97,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				stats = new Stats();
 				stats = new Stats();
@@ -111,13 +112,13 @@
 				controls.minDistance = 50;
 				controls.minDistance = 50;
 				controls.maxDistance = 200;
 				controls.maxDistance = 200;
 
 
-				scene.add( new THREE.AmbientLight( 0x443333 ) );
+				scene.add( new THREE.AmbientLight( 0x666666 ) );
 
 
-				const dirLight1 = new THREE.DirectionalLight( 0xffddcc, 1 );
+				const dirLight1 = new THREE.DirectionalLight( 0xffddcc, 3 );
 				dirLight1.position.set( 1, 0.75, 0.5 );
 				dirLight1.position.set( 1, 0.75, 0.5 );
 				scene.add( dirLight1 );
 				scene.add( dirLight1 );
 
 
-				const dirLight2 = new THREE.DirectionalLight( 0xccccff, 1 );
+				const dirLight2 = new THREE.DirectionalLight( 0xccccff, 3 );
 				dirLight2.position.set( - 1, 0.75, - 0.5 );
 				dirLight2.position.set( - 1, 0.75, - 0.5 );
 				scene.add( dirLight2 );
 				scene.add( dirLight2 );
 
 

+ 1 - 0
examples/webgl_gpgpu_birds.html

@@ -455,6 +455,7 @@
 				renderer = new THREE.WebGLRenderer();
 				renderer = new THREE.WebGLRenderer();
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				initComputeRenderer();
 				initComputeRenderer();

+ 3 - 2
examples/webgl_gpgpu_birds_gltf.html

@@ -379,13 +379,13 @@
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				const hemiLight = new THREE.HemisphereLight( colors[ selectModel ], 0xffffff, 1.6 );
+				const hemiLight = new THREE.HemisphereLight( colors[ selectModel ], 0xffffff, 4.5 );
 				hemiLight.color.setHSL( 0.6, 1, 0.6, THREE.SRGBColorSpace );
 				hemiLight.color.setHSL( 0.6, 1, 0.6, THREE.SRGBColorSpace );
 				hemiLight.groundColor.setHSL( 0.095, 1, 0.75, THREE.SRGBColorSpace );
 				hemiLight.groundColor.setHSL( 0.095, 1, 0.75, THREE.SRGBColorSpace );
 				hemiLight.position.set( 0, 50, 0 );
 				hemiLight.position.set( 0, 50, 0 );
 				scene.add( hemiLight );
 				scene.add( hemiLight );
 
 
-				const dirLight = new THREE.DirectionalLight( 0x00CED1, 0.6 );
+				const dirLight = new THREE.DirectionalLight( 0x00CED1, 2.0 );
 				dirLight.color.setHSL( 0.1, 1, 0.95, THREE.SRGBColorSpace );
 				dirLight.color.setHSL( 0.1, 1, 0.95, THREE.SRGBColorSpace );
 				dirLight.position.set( - 1, 1.75, 1 );
 				dirLight.position.set( - 1, 1.75, 1 );
 				dirLight.position.multiplyScalar( 30 );
 				dirLight.position.multiplyScalar( 30 );
@@ -394,6 +394,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				initComputeRenderer();
 				initComputeRenderer();

+ 1 - 0
examples/webgl_gpgpu_protoplanet.html

@@ -283,6 +283,7 @@
 				renderer = new THREE.WebGLRenderer();
 				renderer = new THREE.WebGLRenderer();
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				const controls = new OrbitControls( camera, renderer.domElement );
 				const controls = new OrbitControls( camera, renderer.domElement );

+ 3 - 2
examples/webgl_gpgpu_water.html

@@ -311,17 +311,18 @@
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 
 
-				const sun = new THREE.DirectionalLight( 0xFFFFFF, 1.0 );
+				const sun = new THREE.DirectionalLight( 0xFFFFFF, 3.0 );
 				sun.position.set( 300, 400, 175 );
 				sun.position.set( 300, 400, 175 );
 				scene.add( sun );
 				scene.add( sun );
 
 
-				const sun2 = new THREE.DirectionalLight( 0x40A040, 0.6 );
+				const sun2 = new THREE.DirectionalLight( 0x40A040, 2.0 );
 				sun2.position.set( - 100, 350, - 200 );
 				sun2.position.set( - 100, 350, - 200 );
 				scene.add( sun2 );
 				scene.add( sun2 );
 
 
 				renderer = new THREE.WebGLRenderer();
 				renderer = new THREE.WebGLRenderer();
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				stats = new Stats();
 				stats = new Stats();

+ 2 - 2
examples/webgl_loader_obj.html

@@ -48,7 +48,7 @@
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 
 
-				const ambientLight = new THREE.AmbientLight( 0xcccccc, 1.5 );
+				const ambientLight = new THREE.AmbientLight( 0xffffff );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
 				const pointLight = new THREE.PointLight( 0xffffff, 15 );
 				const pointLight = new THREE.PointLight( 0xffffff, 15 );
@@ -115,7 +115,7 @@
 
 
 				const controls = new  OrbitControls( camera, renderer.domElement );
 				const controls = new  OrbitControls( camera, renderer.domElement );
 				controls.minDistance = 2;
 				controls.minDistance = 2;
-				controls.maxDistance = 7.5;
+				controls.maxDistance = 5;
 				controls.addEventListener( 'change', render );
 				controls.addEventListener( 'change', render );
 
 
 				//
 				//

+ 2 - 2
examples/webgl_loader_obj_mtl.html

@@ -48,7 +48,7 @@
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 
 
-				const ambientLight = new THREE.AmbientLight( 0xcccccc, 1.5 );
+				const ambientLight = new THREE.AmbientLight( 0xffffff );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
 				const pointLight = new THREE.PointLight( 0xffffff, 15 );
 				const pointLight = new THREE.PointLight( 0xffffff, 15 );
@@ -99,7 +99,7 @@
 
 
 				const controls = new  OrbitControls( camera, renderer.domElement );
 				const controls = new  OrbitControls( camera, renderer.domElement );
 				controls.minDistance = 2;
 				controls.minDistance = 2;
-				controls.maxDistance = 7.5;
+				controls.maxDistance = 5;
 
 
 				//
 				//
 
 

+ 2 - 1
examples/webgl_materials_lightmap.html

@@ -57,7 +57,7 @@
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				const light = new THREE.DirectionalLight( 0xd5deff, 0.3 );
+				const light = new THREE.DirectionalLight( 0xd5deff );
 				light.position.x = 300;
 				light.position.x = 300;
 				light.position.y = 250;
 				light.position.y = 250;
 				light.position.z = - 500;
 				light.position.z = - 500;
@@ -84,6 +84,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( innerWidth, innerHeight );
 				renderer.setSize( innerWidth, innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				// CONTROLS
 				// CONTROLS

+ 1 - 0
examples/webgl_materials_matcap.html

@@ -50,6 +50,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				// tone mapping
 				// tone mapping

+ 1 - 0
examples/webgl_materials_modified.html

@@ -67,6 +67,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				const controls = new OrbitControls( camera, renderer.domElement );
 				const controls = new OrbitControls( camera, renderer.domElement );

+ 14 - 17
examples/webgl_materials_normalmap.html

@@ -69,22 +69,22 @@
 				document.body.appendChild( container );
 				document.body.appendChild( container );
 
 
 				camera = new THREE.PerspectiveCamera( 27, window.innerWidth / window.innerHeight, 1, 10000 );
 				camera = new THREE.PerspectiveCamera( 27, window.innerWidth / window.innerHeight, 1, 10000 );
-				camera.position.z = 1200;
+				camera.position.z = 12;
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0x494949 );
 				scene.background = new THREE.Color( 0x494949 );
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				ambientLight = new THREE.AmbientLight( 0x8d8d8d );
+				ambientLight = new THREE.AmbientLight( 0xffffff );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				pointLight = new THREE.PointLight( 0xffffff, 2, 1000 );
-				pointLight.position.set( 0, 0, 600 );
+				pointLight = new THREE.PointLight( 0xffffff, 30 );
+				pointLight.position.set( 0, 0, 6 );
 
 
 				scene.add( pointLight );
 				scene.add( pointLight );
 
 
-				directionalLight = new THREE.DirectionalLight( 0xffffff );
+				directionalLight = new THREE.DirectionalLight( 0xffffff, 3 );
 				directionalLight.position.set( 1, - 0.5, - 1 );
 				directionalLight.position.set( 1, - 0.5, - 1 );
 				scene.add( directionalLight );
 				scene.add( directionalLight );
 
 
@@ -111,12 +111,20 @@
 				loader = new GLTFLoader();
 				loader = new GLTFLoader();
 				loader.load( 'models/gltf/LeePerrySmith/LeePerrySmith.glb', function ( gltf ) {
 				loader.load( 'models/gltf/LeePerrySmith/LeePerrySmith.glb', function ( gltf ) {
 
 
-					createScene( gltf.scene.children[ 0 ].geometry, 100, material );
+					const geometry = gltf.scene.children[ 0 ].geometry;
+
+					mesh = new THREE.Mesh( geometry, material );
+
+					mesh.position.y = - 0.5;
+
+					scene.add( mesh );
+
 
 
 				} );
 				} );
 
 
 				renderer = new THREE.WebGLRenderer();
 				renderer = new THREE.WebGLRenderer();
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				//
 				//
@@ -160,17 +168,6 @@
 
 
 			}
 			}
 
 
-			function createScene( geometry, scale, material ) {
-
-				mesh = new THREE.Mesh( geometry, material );
-
-				mesh.position.y = - 50;
-				mesh.scale.x = mesh.scale.y = mesh.scale.z = scale;
-
-				scene.add( mesh );
-
-			}
-
 			//
 			//
 
 
 			function onWindowResize() {
 			function onWindowResize() {

+ 2 - 2
examples/webgl_materials_physical_clearcoat.html

@@ -178,10 +178,10 @@
 
 
 				particleLight.add( new THREE.PointLight( 0xffffff, 30 ) );
 				particleLight.add( new THREE.PointLight( 0xffffff, 30 ) );
 
 
-				renderer = new THREE.WebGLRenderer();
-				renderer.useLegacyLights = false;
+				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				//
 				//

+ 1 - 0
examples/webgl_materials_physical_transmission.html

@@ -67,6 +67,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 

+ 1 - 1
examples/webgl_materials_physical_transmission_alpha.html

@@ -146,8 +146,8 @@
 
 
 				renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
-
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно