Browse Source

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

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

* Examples: Update screenshots.
Michael Herzog 2 years ago
parent
commit
b2331ba9dc
89 changed files with 160 additions and 127 deletions
  1. BIN
      examples/screenshots/webgl_effects_ascii.jpg
  2. BIN
      examples/screenshots/webgl_furnace_test.jpg
  3. BIN
      examples/screenshots/webgl_geometries.jpg
  4. BIN
      examples/screenshots/webgl_geometries_parametric.jpg
  5. BIN
      examples/screenshots/webgl_geometry_colors.jpg
  6. BIN
      examples/screenshots/webgl_geometry_colors_lookuptable.jpg
  7. BIN
      examples/screenshots/webgl_geometry_convex.jpg
  8. BIN
      examples/screenshots/webgl_geometry_csg.jpg
  9. BIN
      examples/screenshots/webgl_geometry_extrude_shapes.jpg
  10. BIN
      examples/screenshots/webgl_geometry_extrude_splines.jpg
  11. BIN
      examples/screenshots/webgl_geometry_minecraft.jpg
  12. BIN
      examples/screenshots/webgl_geometry_nurbs.jpg
  13. BIN
      examples/screenshots/webgl_geometry_shapes.jpg
  14. BIN
      examples/screenshots/webgl_geometry_spline_editor.jpg
  15. BIN
      examples/screenshots/webgl_geometry_text.jpg
  16. BIN
      examples/screenshots/webgl_geometry_text_shapes.jpg
  17. BIN
      examples/screenshots/webgl_geometry_text_stroke.jpg
  18. BIN
      examples/screenshots/webgl_instancing_scatter.jpg
  19. BIN
      examples/screenshots/webgl_layers.jpg
  20. BIN
      examples/screenshots/webgl_lensflares.jpg
  21. BIN
      examples/screenshots/webgl_loader_3mf.jpg
  22. BIN
      examples/screenshots/webgl_loader_amf.jpg
  23. BIN
      examples/screenshots/webgl_loader_collada_kinematics.jpg
  24. BIN
      examples/screenshots/webgl_loader_collada_skinning.jpg
  25. BIN
      examples/screenshots/webgl_loader_md2.jpg
  26. BIN
      examples/screenshots/webgl_loader_md2_control.jpg
  27. BIN
      examples/screenshots/webgl_loader_ttf.jpg
  28. BIN
      examples/screenshots/webgl_loader_vrml.jpg
  29. BIN
      examples/screenshots/webgl_lod.jpg
  30. BIN
      examples/screenshots/webgl_marchingcubes.jpg
  31. BIN
      examples/screenshots/webgl_materials_bumpmap.jpg
  32. BIN
      examples/screenshots/webgl_materials_cubemap_dynamic.jpg
  33. BIN
      examples/screenshots/webgl_materials_cubemap_mipmaps.jpg
  34. BIN
      examples/screenshots/webgl_materials_normalmap_object_space.jpg
  35. BIN
      examples/screenshots/webgl_materials_subsurface_scattering.jpg
  36. BIN
      examples/screenshots/webgl_materials_texture_anisotropy.jpg
  37. BIN
      examples/screenshots/webgl_materials_texture_filters.jpg
  38. BIN
      examples/screenshots/webgl_materials_texture_manualmipmap.jpg
  39. BIN
      examples/screenshots/webgl_materials_texture_partialupdate.jpg
  40. BIN
      examples/screenshots/webgl_materials_toon.jpg
  41. BIN
      examples/screenshots/webgl_shadowmap_pcss.jpg
  42. BIN
      examples/screenshots/webgl_shadowmap_viewer.jpg
  43. BIN
      examples/screenshots/webgl_shadowmap_vsm.jpg
  44. BIN
      examples/screenshots/webgl_shadowmesh.jpg
  45. 3 2
      examples/webgl_effects_ascii.html
  46. 1 0
      examples/webgl_furnace_test.html
  47. 3 2
      examples/webgl_geometries.html
  48. 3 2
      examples/webgl_geometries_parametric.html
  49. 2 1
      examples/webgl_geometry_colors.html
  50. 2 1
      examples/webgl_geometry_colors_lookuptable.html
  51. 3 2
      examples/webgl_geometry_convex.html
  52. 3 2
      examples/webgl_geometry_csg.html
  53. 4 3
      examples/webgl_geometry_extrude_shapes.html
  54. 4 1
      examples/webgl_geometry_extrude_splines.html
  55. 3 2
      examples/webgl_geometry_minecraft.html
  56. 3 2
      examples/webgl_geometry_nurbs.html
  57. 2 1
      examples/webgl_geometry_shapes.html
  58. 4 2
      examples/webgl_geometry_spline_editor.html
  59. 3 2
      examples/webgl_geometry_text.html
  60. 1 0
      examples/webgl_geometry_text_shapes.html
  61. 1 0
      examples/webgl_geometry_text_stroke.html
  62. 3 2
      examples/webgl_instancing_scatter.html
  63. 9 8
      examples/webgl_layers.html
  64. 3 2
      examples/webgl_lensflares.html
  65. 6 4
      examples/webgl_loader_3mf.html
  66. 4 2
      examples/webgl_loader_amf.html
  67. 3 13
      examples/webgl_loader_collada_kinematics.html
  68. 5 4
      examples/webgl_loader_collada_skinning.html
  69. 12 11
      examples/webgl_loader_md2.html
  70. 3 2
      examples/webgl_loader_md2_control.html
  71. 1 0
      examples/webgl_loader_texture_dds.html
  72. 8 7
      examples/webgl_loader_ttf.html
  73. 3 2
      examples/webgl_loader_vrml.html
  74. 3 2
      examples/webgl_lod.html
  75. 4 3
      examples/webgl_marchingcubes.html
  76. 16 21
      examples/webgl_materials_bumpmap.html
  77. 1 0
      examples/webgl_materials_cubemap_dynamic.html
  78. 1 0
      examples/webgl_materials_cubemap_mipmaps.html
  79. 4 3
      examples/webgl_materials_normalmap_object_space.html
  80. 3 2
      examples/webgl_materials_subsurface_scattering.html
  81. 5 4
      examples/webgl_materials_texture_anisotropy.html
  82. 1 0
      examples/webgl_materials_texture_filters.html
  83. 1 0
      examples/webgl_materials_texture_manualmipmap.html
  84. 1 0
      examples/webgl_materials_texture_partialupdate.html
  85. 3 2
      examples/webgl_materials_toon.html
  86. 3 2
      examples/webgl_shadowmap_pcss.html
  87. 4 3
      examples/webgl_shadowmap_viewer.html
  88. 3 2
      examples/webgl_shadowmap_vsm.html
  89. 2 1
      examples/webgl_shadowmesh.html

BIN
examples/screenshots/webgl_effects_ascii.jpg


BIN
examples/screenshots/webgl_furnace_test.jpg


BIN
examples/screenshots/webgl_geometries.jpg


BIN
examples/screenshots/webgl_geometries_parametric.jpg


BIN
examples/screenshots/webgl_geometry_colors.jpg


BIN
examples/screenshots/webgl_geometry_colors_lookuptable.jpg


BIN
examples/screenshots/webgl_geometry_convex.jpg


BIN
examples/screenshots/webgl_geometry_csg.jpg


BIN
examples/screenshots/webgl_geometry_extrude_shapes.jpg


BIN
examples/screenshots/webgl_geometry_extrude_splines.jpg


BIN
examples/screenshots/webgl_geometry_minecraft.jpg


BIN
examples/screenshots/webgl_geometry_nurbs.jpg


BIN
examples/screenshots/webgl_geometry_shapes.jpg


BIN
examples/screenshots/webgl_geometry_spline_editor.jpg


BIN
examples/screenshots/webgl_geometry_text.jpg


BIN
examples/screenshots/webgl_geometry_text_shapes.jpg


BIN
examples/screenshots/webgl_geometry_text_stroke.jpg


BIN
examples/screenshots/webgl_instancing_scatter.jpg


BIN
examples/screenshots/webgl_layers.jpg


BIN
examples/screenshots/webgl_lensflares.jpg


BIN
examples/screenshots/webgl_loader_3mf.jpg


BIN
examples/screenshots/webgl_loader_amf.jpg


BIN
examples/screenshots/webgl_loader_collada_kinematics.jpg


BIN
examples/screenshots/webgl_loader_collada_skinning.jpg


BIN
examples/screenshots/webgl_loader_md2.jpg


BIN
examples/screenshots/webgl_loader_md2_control.jpg


BIN
examples/screenshots/webgl_loader_ttf.jpg


BIN
examples/screenshots/webgl_loader_vrml.jpg


BIN
examples/screenshots/webgl_lod.jpg


BIN
examples/screenshots/webgl_marchingcubes.jpg


BIN
examples/screenshots/webgl_materials_bumpmap.jpg


BIN
examples/screenshots/webgl_materials_cubemap_dynamic.jpg


BIN
examples/screenshots/webgl_materials_cubemap_mipmaps.jpg


BIN
examples/screenshots/webgl_materials_normalmap_object_space.jpg


BIN
examples/screenshots/webgl_materials_subsurface_scattering.jpg


BIN
examples/screenshots/webgl_materials_texture_anisotropy.jpg


BIN
examples/screenshots/webgl_materials_texture_filters.jpg


BIN
examples/screenshots/webgl_materials_texture_manualmipmap.jpg


BIN
examples/screenshots/webgl_materials_texture_partialupdate.jpg


BIN
examples/screenshots/webgl_materials_toon.jpg


BIN
examples/screenshots/webgl_shadowmap_pcss.jpg


BIN
examples/screenshots/webgl_shadowmap_viewer.jpg


BIN
examples/screenshots/webgl_shadowmap_vsm.jpg


BIN
examples/screenshots/webgl_shadowmesh.jpg


+ 3 - 2
examples/webgl_effects_ascii.html

@@ -48,11 +48,11 @@
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0, 0, 0 );
 				scene.background = new THREE.Color( 0, 0, 0 );
 
 
-				const pointLight1 = new THREE.PointLight( 0xffffff );
+				const pointLight1 = new THREE.PointLight( 0xffffff, 3, 0, 0 );
 				pointLight1.position.set( 500, 500, 500 );
 				pointLight1.position.set( 500, 500, 500 );
 				scene.add( pointLight1 );
 				scene.add( pointLight1 );
 
 
-				const pointLight2 = new THREE.PointLight( 0xffffff, 0.25 );
+				const pointLight2 = new THREE.PointLight( 0xffffff, 1, 0, 0 );
 				pointLight2.position.set( - 500, - 500, - 500 );
 				pointLight2.position.set( - 500, - 500, - 500 );
 				scene.add( pointLight2 );
 				scene.add( pointLight2 );
 
 
@@ -68,6 +68,7 @@
 
 
 				renderer = new THREE.WebGLRenderer();
 				renderer = new THREE.WebGLRenderer();
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
+				renderer.useLegacyLights = false;
 
 
 				effect = new AsciiEffect( renderer, ' .:-+*=%@#', { invert: true } );
 				effect = new AsciiEffect( renderer, ' .:-+*=%@#', { invert: true } );
 				effect.setSize( window.innerWidth, window.innerHeight );
 				effect.setSize( window.innerWidth, window.innerHeight );

+ 1 - 0
examples/webgl_furnace_test.html

@@ -49,6 +49,7 @@
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.setSize( width, height );
 				renderer.setSize( width, height );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
+				renderer.useLegacyLights = false;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 
 				window.addEventListener( 'resize', onWindowResize );
 				window.addEventListener( 'resize', onWindowResize );

+ 3 - 2
examples/webgl_geometries.html

@@ -43,10 +43,10 @@
 
 
 				let object;
 				let object;
 
 
-				const ambientLight = new THREE.AmbientLight( 0xcccccc, 0.4 );
+				const ambientLight = new THREE.AmbientLight( 0xcccccc, 1.5 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 0.8 );
+				const pointLight = new THREE.PointLight( 0xffffff, 2.5, 0, 0 );
 				camera.add( pointLight );
 				camera.add( pointLight );
 				scene.add( camera );
 				scene.add( camera );
 
 
@@ -124,6 +124,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_geometries_parametric.html

@@ -50,10 +50,10 @@
 
 
 				//
 				//
 
 
-				const ambientLight = new THREE.AmbientLight( 0xcccccc, 0.4 );
+				const ambientLight = new THREE.AmbientLight( 0xcccccc, 1.5 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 0.8 );
+				const pointLight = new THREE.PointLight( 0xffffff, 2.5, 0, 0 );
 				camera.add( pointLight );
 				camera.add( pointLight );
 				scene.add( camera );
 				scene.add( camera );
 
 
@@ -114,6 +114,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();

+ 2 - 1
examples/webgl_geometry_colors.html

@@ -61,7 +61,7 @@
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0xffffff );
 				scene.background = new THREE.Color( 0xffffff );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff );
+				const light = new THREE.DirectionalLight( 0xffffff, 3 );
 				light.position.set( 0, 0, 1 );
 				light.position.set( 0, 0, 1 );
 				scene.add( light );
 				scene.add( light );
 
 
@@ -164,6 +164,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();

+ 2 - 1
examples/webgl_geometry_colors_lookuptable.html

@@ -97,11 +97,12 @@
 				};
 				};
 				loadModel( );
 				loadModel( );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 1 );
+				const pointLight = new THREE.PointLight( 0xffffff, 3, 0, 0 );
 				perpCamera.add( pointLight );
 				perpCamera.add( pointLight );
 
 
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				renderer.autoClear = false;
 				renderer.autoClear = false;
+				renderer.useLegacyLights = false;
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( width, height );
 				renderer.setSize( width, height );
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );

+ 3 - 2
examples/webgl_geometry_convex.html

@@ -43,6 +43,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
 				// camera
@@ -60,11 +61,11 @@
 
 
 				// ambient light
 				// ambient light
 
 
-				scene.add( new THREE.AmbientLight( 0x222222 ) );
+				scene.add( new THREE.AmbientLight( 0x666666 ) );
 
 
 				// point light
 				// point light
 
 
-				const light = new THREE.PointLight( 0xffffff, 1 );
+				const light = new THREE.PointLight( 0xffffff, 3, 0, 0 );
 				camera.add( light );
 				camera.add( light );
 
 
 				// helper
 				// helper

+ 3 - 2
examples/webgl_geometry_csg.html

@@ -74,10 +74,10 @@
 				scene.background = new THREE.Color( 0xfce4ec );
 				scene.background = new THREE.Color( 0xfce4ec );
 
 
 				// lights
 				// lights
-				const ambient = new THREE.HemisphereLight( 0xffffff, 0xbfd4d2, 0.9 );
+				const ambient = new THREE.HemisphereLight( 0xffffff, 0xbfd4d2, 3 );
 				scene.add( ambient );
 				scene.add( ambient );
 
 
-				const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.1 );
+				const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.3 );
 				directionalLight.position.set( 1, 4, 3 ).multiplyScalar( 3 );
 				directionalLight.position.set( 1, 4, 3 ).multiplyScalar( 3 );
 				directionalLight.castShadow = true;
 				directionalLight.castShadow = true;
 				directionalLight.shadow.mapSize.setScalar( 2048 );
 				directionalLight.shadow.mapSize.setScalar( 2048 );
@@ -89,6 +89,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;
 				renderer.shadowMap.type = THREE.PCFSoftShadowMap;
 				renderer.shadowMap.type = THREE.PCFSoftShadowMap;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );

+ 4 - 3
examples/webgl_geometry_extrude_shapes.html

@@ -53,9 +53,10 @@
 				info.innerHTML = '<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> webgl - geometry extrude shapes';
 				info.innerHTML = '<a href="https://threejs.org" target="_blank" rel="noopener">three.js</a> webgl - geometry extrude shapes';
 				document.body.appendChild( info );
 				document.body.appendChild( info );
 
 
-				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 );
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
@@ -68,9 +69,9 @@
 				controls.minDistance = 200;
 				controls.minDistance = 200;
 				controls.maxDistance = 500;
 				controls.maxDistance = 500;
 
 
-				scene.add( new THREE.AmbientLight( 0x222222 ) );
+				scene.add( new THREE.AmbientLight( 0x666666 ) );
 
 
-				const light = new THREE.PointLight( 0xffffff );
+				const light = new THREE.PointLight( 0xffffff, 3, 0, 0 );
 				light.position.copy( camera.position );
 				light.position.copy( camera.position );
 				scene.add( light );
 				scene.add( light );
 
 

+ 4 - 1
examples/webgl_geometry_extrude_splines.html

@@ -184,7 +184,9 @@
 
 
 				// light
 				// light
 
 
-				const light = new THREE.DirectionalLight( 0xffffff );
+				scene.add( new THREE.AmbientLight( 0xffffff ) );
+
+				const light = new THREE.DirectionalLight( 0xffffff, 1.5 );
 				light.position.set( 0, 0, 1 );
 				light.position.set( 0, 0, 1 );
 				scene.add( light );
 				scene.add( light );
 
 
@@ -214,6 +216,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
 				// stats

+ 3 - 2
examples/webgl_geometry_minecraft.html

@@ -161,16 +161,17 @@
 				const mesh = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { map: texture, side: THREE.DoubleSide } ) );
 				const mesh = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { map: texture, side: THREE.DoubleSide } ) );
 				scene.add( mesh );
 				scene.add( mesh );
 
 
-				const ambientLight = new THREE.AmbientLight( 0xeeeeee );
+				const ambientLight = new THREE.AmbientLight( 0xeeeeee, 3 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const directionalLight = new THREE.DirectionalLight( 0xffffff, 4 );
+				const directionalLight = new THREE.DirectionalLight( 0xffffff, 12 );
 				directionalLight.position.set( 1, 1, 0.5 ).normalize();
 				directionalLight.position.set( 1, 1, 0.5 ).normalize();
 				scene.add( directionalLight );
 				scene.add( directionalLight );
 
 
 				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 );
 
 
 				controls = new FirstPersonControls( camera, renderer.domElement );
 				controls = new FirstPersonControls( camera, renderer.domElement );

+ 3 - 2
examples/webgl_geometry_nurbs.html

@@ -70,9 +70,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( 0x808080 ) );
+				scene.add( new THREE.AmbientLight( 0xffffff ) );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 1 );
+				const light = new THREE.DirectionalLight( 0xffffff, 3 );
 				light.position.set( 1, 1, 1 );
 				light.position.set( 1, 1, 1 );
 				scene.add( light );
 				scene.add( light );
 
 
@@ -179,6 +179,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();

+ 2 - 1
examples/webgl_geometry_shapes.html

@@ -64,7 +64,7 @@
 				camera.position.set( 0, 150, 500 );
 				camera.position.set( 0, 150, 500 );
 				scene.add( camera );
 				scene.add( camera );
 
 
-				const light = new THREE.PointLight( 0xffffff, 0.8 );
+				const light = new THREE.PointLight( 0xffffff, 2.5, 0, 0 );
 				camera.add( light );
 				camera.add( light );
 
 
 				group = new THREE.Group();
 				group = new THREE.Group();
@@ -361,6 +361,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();

+ 4 - 2
examples/webgl_geometry_spline_editor.html

@@ -86,10 +86,11 @@
 				camera.position.set( 0, 250, 1000 );
 				camera.position.set( 0, 250, 1000 );
 				scene.add( camera );
 				scene.add( camera );
 
 
-				scene.add( new THREE.AmbientLight( 0xf0f0f0 ) );
-				const light = new THREE.SpotLight( 0xffffff, 1.5 );
+				scene.add( new THREE.AmbientLight( 0xf0f0f0, 3 ) );
+				const light = new THREE.SpotLight( 0xffffff, 4.5 );
 				light.position.set( 0, 1500, 200 );
 				light.position.set( 0, 1500, 200 );
 				light.angle = Math.PI * 0.2;
 				light.angle = Math.PI * 0.2;
+				light.decay = 0;
 				light.castShadow = true;
 				light.castShadow = true;
 				light.shadow.camera.near = 200;
 				light.shadow.camera.near = 200;
 				light.shadow.camera.far = 2000;
 				light.shadow.camera.far = 2000;
@@ -116,6 +117,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;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 

+ 3 - 2
examples/webgl_geometry_text.html

@@ -121,11 +121,11 @@
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				const dirLight = new THREE.DirectionalLight( 0xffffff, 0.125 );
+				const dirLight = new THREE.DirectionalLight( 0xffffff, 0.4 );
 				dirLight.position.set( 0, 0, 1 ).normalize();
 				dirLight.position.set( 0, 0, 1 ).normalize();
 				scene.add( dirLight );
 				scene.add( dirLight );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 1.5 );
+				const pointLight = new THREE.PointLight( 0xffffff, 4.5, 0, 0 );
 				pointLight.color.setHSL( Math.random(), 1, 0.5 );
 				pointLight.color.setHSL( Math.random(), 1, 0.5 );
 				pointLight.position.set( 0, 100, 90 );
 				pointLight.position.set( 0, 100, 90 );
 				scene.add( pointLight );
 				scene.add( pointLight );
@@ -155,6 +155,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 );
 
 
 				// EVENTS
 				// EVENTS

+ 1 - 0
examples/webgl_geometry_text_shapes.html

@@ -135,6 +135,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 );

+ 1 - 0
examples/webgl_geometry_text_stroke.html

@@ -139,6 +139,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 );

+ 3 - 2
examples/webgl_instancing_scatter.html

@@ -132,11 +132,11 @@
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( api.backgroundColor );
 				scene.background = new THREE.Color( api.backgroundColor );
 
 
-				const pointLight = new THREE.PointLight( 0xAA8899, 0.75 );
+				const pointLight = new THREE.PointLight( 0xAA8899, 2.5, 0, 0 );
 				pointLight.position.set( 50, - 25, 75 );
 				pointLight.position.set( 50, - 25, 75 );
 				scene.add( pointLight );
 				scene.add( pointLight );
 
 
-				scene.add( new THREE.HemisphereLight() );
+				scene.add( new THREE.AmbientLight( 0xffffff, 3 ) );
 
 
 				//
 				//
 
 
@@ -175,6 +175,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 );
 
 
 				//
 				//

+ 9 - 8
examples/webgl_layers.html

@@ -45,7 +45,7 @@
 			let camera, scene, renderer;
 			let camera, scene, renderer;
 
 
 			let theta = 0;
 			let theta = 0;
-			const radius = 100;
+			const radius = 5;
 
 
 			init();
 			init();
 			animate();
 			animate();
@@ -55,7 +55,7 @@
 				container = document.createElement( 'div' );
 				container = document.createElement( 'div' );
 				document.body.appendChild( container );
 				document.body.appendChild( container );
 
 
-				camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 10000 );
+				camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.1, 100 );
 				camera.layers.enable( 0 ); // enabled by default
 				camera.layers.enable( 0 ); // enabled by default
 				camera.layers.enable( 1 );
 				camera.layers.enable( 1 );
 				camera.layers.enable( 2 );
 				camera.layers.enable( 2 );
@@ -63,7 +63,7 @@
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0xf0f0f0 );
 				scene.background = new THREE.Color( 0xf0f0f0 );
 
 
-				const light = new THREE.PointLight( 0xffffff, 1 );
+				const light = new THREE.PointLight( 0xffffff, 3, 0, 0 );
 				light.layers.enable( 0 );
 				light.layers.enable( 0 );
 				light.layers.enable( 1 );
 				light.layers.enable( 1 );
 				light.layers.enable( 2 );
 				light.layers.enable( 2 );
@@ -72,7 +72,7 @@
 				camera.add( light );
 				camera.add( light );
 
 
 				const colors = [ 0xff0000, 0x00ff00, 0x0000ff ];
 				const colors = [ 0xff0000, 0x00ff00, 0x0000ff ];
-				const geometry = new THREE.BoxGeometry( 20, 20, 20 );
+				const geometry = new THREE.BoxGeometry();
 
 
 				for ( let i = 0; i < 300; i ++ ) {
 				for ( let i = 0; i < 300; i ++ ) {
 
 
@@ -80,9 +80,9 @@
 
 
 					const object = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { color: colors[ layer ] } ) );
 					const object = new THREE.Mesh( geometry, new THREE.MeshLambertMaterial( { color: colors[ layer ] } ) );
 
 
-					object.position.x = Math.random() * 800 - 400;
-					object.position.y = Math.random() * 800 - 400;
-					object.position.z = Math.random() * 800 - 400;
+					object.position.x = Math.random() * 40 - 20;
+					object.position.y = Math.random() * 40 - 20;
+					object.position.z = Math.random() * 40 - 20;
 
 
 					object.rotation.x = Math.random() * 2 * Math.PI;
 					object.rotation.x = Math.random() * 2 * Math.PI;
 					object.rotation.y = Math.random() * 2 * Math.PI;
 					object.rotation.y = Math.random() * 2 * Math.PI;
@@ -98,9 +98,10 @@
 
 
 				}
 				}
 
 
-				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;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				stats = new Stats();
 				stats = new Stats();

+ 3 - 2
examples/webgl_lensflares.html

@@ -91,7 +91,7 @@
 
 
 				// lights
 				// lights
 
 
-				const dirLight = new THREE.DirectionalLight( 0xffffff, 0.05 );
+				const dirLight = new THREE.DirectionalLight( 0xffffff, 0.15 );
 				dirLight.position.set( 0, - 1, 0 ).normalize();
 				dirLight.position.set( 0, - 1, 0 ).normalize();
 				dirLight.color.setHSL( 0.1, 0.7, 0.5 );
 				dirLight.color.setHSL( 0.1, 0.7, 0.5 );
 				scene.add( dirLight );
 				scene.add( dirLight );
@@ -108,7 +108,7 @@
 
 
 				function addLight( h, s, l, x, y, z ) {
 				function addLight( h, s, l, x, y, z ) {
 
 
-					const light = new THREE.PointLight( 0xffffff, 1.5, 2000 );
+					const light = new THREE.PointLight( 0xffffff, 1.5, 2000, 0 );
 					light.color.setHSL( h, s, l );
 					light.color.setHSL( h, s, l );
 					light.position.set( x, y, z );
 					light.position.set( x, y, z );
 					scene.add( light );
 					scene.add( light );
@@ -128,6 +128,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 );
 
 
 				//
 				//

+ 6 - 4
examples/webgl_loader_3mf.html

@@ -60,13 +60,12 @@
 				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 );
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0x333333 );
 				scene.background = new THREE.Color( 0x333333 );
 
 
-				scene.add( new THREE.AmbientLight( 0xffffff, 0.2 ) );
-
 				camera = new THREE.PerspectiveCamera( 35, window.innerWidth / window.innerHeight, 1, 500 );
 				camera = new THREE.PerspectiveCamera( 35, window.innerWidth / window.innerHeight, 1, 500 );
 
 
 				// Z is up for objects intended to be 3D printed.
 				// Z is up for objects intended to be 3D printed.
@@ -82,8 +81,11 @@
 				controls.enablePan = false;
 				controls.enablePan = false;
 				controls.update();
 				controls.update();
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 0.8 );
-				camera.add( pointLight );
+				scene.add( new THREE.AmbientLight( 0xffffff, 0.6 ) );
+
+				const light = new THREE.DirectionalLight( 0xffffff, 2 );
+				light.position.set( - 1, - 2.5, 1 );
+				scene.add( light );
 
 
 				const manager = new THREE.LoadingManager();
 				const manager = new THREE.LoadingManager();
 
 

+ 4 - 2
examples/webgl_loader_amf.html

@@ -54,7 +54,7 @@
 				camera.up.set( 0, 0, 1 );
 				camera.up.set( 0, 0, 1 );
 				camera.position.set( 0, - 9, 6 );
 				camera.position.set( 0, - 9, 6 );
 
 
-				camera.add( new THREE.PointLight( 0xffffff, 0.8 ) );
+				camera.add( new THREE.PointLight( 0xffffff, 250 ) );
 
 
 				scene.add( camera );
 				scene.add( camera );
 
 
@@ -65,6 +65,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 loader = new AMFLoader();
 				const loader = new AMFLoader();
@@ -77,7 +78,8 @@
 
 
 				const controls = new OrbitControls( camera, renderer.domElement );
 				const controls = new OrbitControls( camera, renderer.domElement );
 				controls.addEventListener( 'change', render );
 				controls.addEventListener( 'change', render );
-				controls.target.set( 0, 1.2, 2 );
+				controls.target.set( 0, 0, 2 );
+				controls.enableZoom = false;
 				controls.update();
 				controls.update();
 
 
 				window.addEventListener( 'resize', onWindowResize );
 				window.addEventListener( 'resize', onWindowResize );

+ 3 - 13
examples/webgl_loader_collada_kinematics.html

@@ -37,7 +37,6 @@
 			let container, stats;
 			let container, stats;
 
 
 			let camera, scene, renderer;
 			let camera, scene, renderer;
-			let particleLight;
 			let dae;
 			let dae;
 
 
 			let kinematics;
 			let kinematics;
@@ -89,20 +88,15 @@
 
 
 				scene.add( dae );
 				scene.add( dae );
 
 
-				particleLight = new THREE.Mesh( new THREE.SphereGeometry( 4, 8, 8 ), new THREE.MeshBasicMaterial( { color: 0xffffff } ) );
-				scene.add( particleLight );
-
 				// Lights
 				// Lights
 
 
-				const light = new THREE.HemisphereLight( 0xfff7f7, 0x494966 );
+				const light = new THREE.HemisphereLight( 0xfff7f7, 0x494966, 3 );
 				scene.add( light );
 				scene.add( light );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 0.3 );
-				particleLight.add( pointLight );
-
-				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;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				stats = new Stats();
 				stats = new Stats();
@@ -201,10 +195,6 @@
 
 
 				camera.lookAt( 0, 5, 0 );
 				camera.lookAt( 0, 5, 0 );
 
 
-				particleLight.position.x = Math.sin( timer * 4 ) * 3009;
-				particleLight.position.y = Math.cos( timer * 5 ) * 4000;
-				particleLight.position.z = Math.cos( timer * 4 ) * 3009;
-
 				renderer.render( scene, camera );
 				renderer.render( scene, camera );
 
 
 			}
 			}

+ 5 - 4
examples/webgl_loader_collada_skinning.html

@@ -75,18 +75,19 @@
 
 
 				//
 				//
 
 
-				const ambientLight = new THREE.AmbientLight( 0xffffff, 0.2 );
+				const ambientLight = new THREE.AmbientLight( 0xffffff, 0.6 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 0.8 );
-				scene.add( camera );
-				camera.add( pointLight );
+				const directionalLight = new THREE.DirectionalLight( 0xffffff, 3 );
+				directionalLight.position.set( 1.5, 1, - 1.5 );
+				scene.add( directionalLight );
 
 
 				//
 				//
 
 
 				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 );
 
 
 				//
 				//

+ 12 - 11
examples/webgl_loader_md2.html

@@ -68,21 +68,21 @@
 
 
 				// CAMERA
 				// CAMERA
 
 
-				camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 1, 1000 );
-				camera.position.set( 0, 150, 400 );
+				camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 0.1, 100 );
+				camera.position.set( 0, 2, 4 );
 
 
 				// SCENE
 				// SCENE
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0x050505 );
 				scene.background = new THREE.Color( 0x050505 );
-				scene.fog = new THREE.Fog( 0x050505, 400, 1000 );
+				scene.fog = new THREE.Fog( 0x050505, 2.5, 10 );
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				scene.add( new THREE.AmbientLight( 0x222222 ) );
+				scene.add( new THREE.AmbientLight( 0x666666 ) );
 
 
-				const light1 = new THREE.SpotLight( 0xffffff, 5, 1000 );
-				light1.position.set( 200, 250, 500 );
+				const light1 = new THREE.SpotLight( 0xffffff, 150 );
+				light1.position.set( 2, 5, 10 );
 				light1.angle = 0.5;
 				light1.angle = 0.5;
 				light1.penumbra = 0.5;
 				light1.penumbra = 0.5;
 
 
@@ -93,8 +93,8 @@
 				// scene.add( new THREE.CameraHelper( light1.shadow.camera ) );
 				// scene.add( new THREE.CameraHelper( light1.shadow.camera ) );
 				scene.add( light1 );
 				scene.add( light1 );
 
 
-				const light2 = new THREE.SpotLight( 0xffffff, 5, 1000 );
-				light2.position.set( - 100, 350, 350 );
+				const light2 = new THREE.SpotLight( 0xffffff, 150 );
+				light2.position.set( - 1, 3.5, 3.5 );
 				light2.angle = 0.5;
 				light2.angle = 0.5;
 				light2.penumbra = 0.5;
 				light2.penumbra = 0.5;
 
 
@@ -108,7 +108,7 @@
 				//  GROUND
 				//  GROUND
 
 
 				const gt = new THREE.TextureLoader().load( 'textures/terrain/grasslight-big.jpg' );
 				const gt = new THREE.TextureLoader().load( 'textures/terrain/grasslight-big.jpg' );
-				const gg = new THREE.PlaneGeometry( 2000, 2000 );
+				const gg = new THREE.PlaneGeometry( 20, 20 );
 				const gm = new THREE.MeshPhongMaterial( { color: 0xffffff, map: gt } );
 				const gm = new THREE.MeshPhongMaterial( { color: 0xffffff, map: gt } );
 
 
 				const ground = new THREE.Mesh( gg, gm );
 				const ground = new THREE.Mesh( gg, gm );
@@ -125,6 +125,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;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				//
 				//
@@ -143,7 +144,7 @@
 				// CONTROLS
 				// CONTROLS
 
 
 				controls = new OrbitControls( camera, renderer.domElement );
 				controls = new OrbitControls( camera, renderer.domElement );
-				controls.target.set( 0, 50, 0 );
+				controls.target.set( 0, 0.5, 0 );
 				controls.update();
 				controls.update();
 
 
 				// GUI
 				// GUI
@@ -186,7 +187,7 @@
 				};
 				};
 
 
 				character = new MD2Character();
 				character = new MD2Character();
-				character.scale = 3;
+				character.scale = 0.03;
 
 
 				character.onLoadComplete = function () {
 				character.onLoadComplete = function () {
 
 

+ 3 - 2
examples/webgl_loader_md2_control.html

@@ -90,9 +90,9 @@
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				scene.add( new THREE.AmbientLight( 0x666666 ) );
+				scene.add( new THREE.AmbientLight( 0x666666, 3 ) );
 
 
-				const light = new THREE.DirectionalLight( 0xffffff, 2.25 );
+				const light = new THREE.DirectionalLight( 0xffffff, 7 );
 				light.position.set( 200, 450, 500 );
 				light.position.set( 200, 450, 500 );
 
 
 				light.castShadow = true;
 				light.castShadow = true;
@@ -134,6 +134,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;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				//
 				//

+ 1 - 0
examples/webgl_loader_texture_dds.html

@@ -173,6 +173,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 );
 
 
 				window.addEventListener( 'resize', onWindowResize );
 				window.addEventListener( 'resize', onWindowResize );

+ 8 - 7
examples/webgl_loader_ttf.html

@@ -80,14 +80,14 @@
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				const dirLight = new THREE.DirectionalLight( 0xffffff, 0.125 );
-				dirLight.position.set( 0, 0, 1 ).normalize();
-				scene.add( dirLight );
+				const dirLight1 = new THREE.DirectionalLight( 0xffffff, 0.4 );
+				dirLight1.position.set( 0, 0, 1 ).normalize();
+				scene.add( dirLight1 );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 1.5 );
-				pointLight.position.set( 0, 100, 90 );
-				pointLight.color.setHSL( Math.random(), 1, 0.5, THREE.SRGBColorSpace );
-				scene.add( pointLight );
+				const dirLight2 = new THREE.DirectionalLight( 0xffffff, 2 );
+				dirLight2.position.set( 0, hover, 10 ).normalize();
+				dirLight2.color.setHSL( Math.random(), 1, 0.5, THREE.SRGBColorSpace );
+				scene.add( dirLight2 );
 
 
 				material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } );
 				material = new THREE.MeshPhongMaterial( { color: 0xffffff, flatShading: true } );
 
 
@@ -118,6 +118,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 );
 
 
 				// EVENTS
 				// EVENTS

+ 3 - 2
examples/webgl_loader_vrml.html

@@ -72,10 +72,10 @@
 
 
 				// light
 				// light
 
 
-				const ambientLight = new THREE.AmbientLight( 0xffffff, 0.4 );
+				const ambientLight = new THREE.AmbientLight( 0xffffff, 1.2 );
 				scene.add( ambientLight );
 				scene.add( ambientLight );
 
 
-				const dirLight = new THREE.DirectionalLight( 0xffffff, 0.6 );
+				const dirLight = new THREE.DirectionalLight( 0xffffff, 2.0 );
 				dirLight.position.set( 200, 200, 200 );
 				dirLight.position.set( 200, 200, 200 );
 				scene.add( dirLight );
 				scene.add( dirLight );
 
 
@@ -87,6 +87,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 );
 
 
 				// controls
 				// controls

+ 3 - 2
examples/webgl_lod.html

@@ -51,11 +51,11 @@
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.fog = new THREE.Fog( 0x000000, 1, 15000 );
 				scene.fog = new THREE.Fog( 0x000000, 1, 15000 );
 
 
-				const pointLight = new THREE.PointLight( 0xff2200 );
+				const pointLight = new THREE.PointLight( 0xff2200, 3, 0, 0 );
 				pointLight.position.set( 0, 0, 0 );
 				pointLight.position.set( 0, 0, 0 );
 				scene.add( pointLight );
 				scene.add( pointLight );
 
 
-				const dirLight = new THREE.DirectionalLight( 0xffffff );
+				const dirLight = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight.position.set( 0, 0, 1 ).normalize();
 				dirLight.position.set( 0, 0, 1 ).normalize();
 				scene.add( dirLight );
 				scene.add( dirLight );
 
 
@@ -98,6 +98,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 );
 
 
 				//
 				//

+ 4 - 3
examples/webgl_marchingcubes.html

@@ -74,15 +74,15 @@
 
 
 			// LIGHTS
 			// LIGHTS
 
 
-			light = new THREE.DirectionalLight( 0xffffff );
+			light = new THREE.DirectionalLight( 0xffffff, 3 );
 			light.position.set( 0.5, 0.5, 1 );
 			light.position.set( 0.5, 0.5, 1 );
 			scene.add( light );
 			scene.add( light );
 
 
-			pointLight = new THREE.PointLight( 0xff7c00 );
+			pointLight = new THREE.PointLight( 0xff7c00, 3, 0, 0 );
 			pointLight.position.set( 0, 0, 100 );
 			pointLight.position.set( 0, 0, 100 );
 			scene.add( pointLight );
 			scene.add( pointLight );
 
 
-			ambientLight = new THREE.AmbientLight( 0x323232 );
+			ambientLight = new THREE.AmbientLight( 0x323232, 3 );
 			scene.add( ambientLight );
 			scene.add( ambientLight );
 
 
 			// MATERIALS
 			// MATERIALS
@@ -108,6 +108,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 );
 
 
 			// CONTROLS
 			// CONTROLS

+ 16 - 21
examples/webgl_materials_bumpmap.html

@@ -34,8 +34,6 @@
 
 
 			import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
 			import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
 
 
-			const statsEnabled = true;
-
 			let container, stats, loader;
 			let container, stats, loader;
 
 
 			let camera, scene, renderer;
 			let camera, scene, renderer;
@@ -63,19 +61,18 @@
 
 
 				//
 				//
 
 
-				camera = new THREE.PerspectiveCamera( 27, window.innerWidth / window.innerHeight, 1, 10000 );
-				camera.position.z = 1200;
+				camera = new THREE.PerspectiveCamera( 27, window.innerWidth / window.innerHeight, 0.1, 100 );
+				camera.position.z = 12;
 
 
 				scene = new THREE.Scene();
 				scene = new THREE.Scene();
 				scene.background = new THREE.Color( 0x060708 );
 				scene.background = new THREE.Color( 0x060708 );
 
 
 				// LIGHTS
 				// LIGHTS
 
 
-				scene.add( new THREE.HemisphereLight( 0x8d7c7c, 0x494966 ) );
+				scene.add( new THREE.HemisphereLight( 0x8d7c7c, 0x494966, 3 ) );
 
 
-				spotLight = new THREE.SpotLight( 0xffffde, 2 );
-				spotLight.position.set( 0.5, 0, 1 );
-				spotLight.position.multiplyScalar( 700 );
+				spotLight = new THREE.SpotLight( 0xffffde, 200 );
+				spotLight.position.set( 3.5, 0, 7 );
 				scene.add( spotLight );
 				scene.add( spotLight );
 
 
 				spotLight.castShadow = true;
 				spotLight.castShadow = true;
@@ -83,8 +80,8 @@
 				spotLight.shadow.mapSize.width = 2048;
 				spotLight.shadow.mapSize.width = 2048;
 				spotLight.shadow.mapSize.height = 2048;
 				spotLight.shadow.mapSize.height = 2048;
 
 
-				spotLight.shadow.camera.near = 200;
-				spotLight.shadow.camera.far = 1500;
+				spotLight.shadow.camera.near = 2;
+				spotLight.shadow.camera.far = 15;
 
 
 				spotLight.shadow.camera.fov = 40;
 				spotLight.shadow.camera.fov = 40;
 
 
@@ -99,31 +96,28 @@
 					specular: 0x666666,
 					specular: 0x666666,
 					shininess: 25,
 					shininess: 25,
 					bumpMap: mapHeight,
 					bumpMap: mapHeight,
-					bumpScale: 12
+					bumpScale: 0.1
 				} );
 				} );
 
 
 				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 );
+					createScene( gltf.scene.children[ 0 ].geometry, 1, material );
 
 
 				} );
 				} );
 
 
-				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;
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );
 
 
 				renderer.shadowMap.enabled = true;
 				renderer.shadowMap.enabled = true;
 
 
 				//
 				//
 
 
-				if ( statsEnabled ) {
-
-					stats = new Stats();
-					container.appendChild( stats.dom );
-
-				}
+				stats = new Stats();
+				container.appendChild( stats.dom );
 
 
 				// EVENTS
 				// EVENTS
 
 
@@ -136,7 +130,7 @@
 
 
 				mesh = new THREE.Mesh( geometry, material );
 				mesh = new THREE.Mesh( geometry, material );
 
 
-				mesh.position.y = - 50;
+				mesh.position.y = - 0.5;
 				mesh.scale.set( scale, scale, scale );
 				mesh.scale.set( scale, scale, scale );
 
 
 				mesh.castShadow = true;
 				mesh.castShadow = true;
@@ -171,7 +165,8 @@
 				requestAnimationFrame( animate );
 				requestAnimationFrame( animate );
 
 
 				render();
 				render();
-				if ( statsEnabled ) stats.update();
+			
+				stats.update();
 
 
 			}
 			}
 
 

+ 1 - 0
examples/webgl_materials_cubemap_dynamic.html

@@ -53,6 +53,7 @@
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setSize( window.innerWidth, window.innerHeight );
 				renderer.setAnimationLoop( animation );
 				renderer.setAnimationLoop( animation );
+				renderer.useLegacyLights = false;
 				renderer.toneMapping = THREE.ACESFilmicToneMapping;
 				renderer.toneMapping = THREE.ACESFilmicToneMapping;
 				document.body.appendChild( renderer.domElement );
 				document.body.appendChild( renderer.domElement );
 
 

+ 1 - 0
examples/webgl_materials_cubemap_mipmaps.html

@@ -146,6 +146,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 );
 
 
 				//controls
 				//controls

+ 4 - 3
examples/webgl_materials_normalmap_object_space.html

@@ -42,8 +42,9 @@
 			function init() {
 			function init() {
 
 
 				// renderer
 				// renderer
-				renderer = new THREE.WebGLRenderer();
+				renderer = new THREE.WebGLRenderer( { antialias: true } );
 				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 );
 
 
 
 
@@ -63,10 +64,10 @@
 				controls.enablePan = false;
 				controls.enablePan = false;
 
 
 				// ambient
 				// ambient
-				scene.add( new THREE.AmbientLight( 0xffffff, .2 ) );
+				scene.add( new THREE.AmbientLight( 0xffffff, 0.6 ) );
 
 
 				// light
 				// light
-				const light = new THREE.PointLight( 0xffffff, 1.5 );
+				const light = new THREE.PointLight( 0xffffff, 4.5, 0, 0 );
 				camera.add( light );
 				camera.add( light );
 
 
 				// model
 				// model

+ 3 - 2
examples/webgl_materials_subsurface_scattering.html

@@ -63,14 +63,14 @@
 			scene.add( directionalLight );
 			scene.add( directionalLight );
 
 
 			const pointLight1 = new THREE.Mesh( new THREE.SphereGeometry( 4, 8, 8 ), new THREE.MeshBasicMaterial( { color: 0xc1c1c1 } ) );
 			const pointLight1 = new THREE.Mesh( new THREE.SphereGeometry( 4, 8, 8 ), new THREE.MeshBasicMaterial( { color: 0xc1c1c1 } ) );
-			pointLight1.add( new THREE.PointLight( 0xc1c1c1, 7.0, 300 ) );
+			pointLight1.add( new THREE.PointLight( 0xc1c1c1, 4.0, 300, 0 ) );
 			scene.add( pointLight1 );
 			scene.add( pointLight1 );
 			pointLight1.position.x = 0;
 			pointLight1.position.x = 0;
 			pointLight1.position.y = - 50;
 			pointLight1.position.y = - 50;
 			pointLight1.position.z = 350;
 			pointLight1.position.z = 350;
 
 
 			const pointLight2 = new THREE.Mesh( new THREE.SphereGeometry( 4, 8, 8 ), new THREE.MeshBasicMaterial( { color: 0xc1c100 } ) );
 			const pointLight2 = new THREE.Mesh( new THREE.SphereGeometry( 4, 8, 8 ), new THREE.MeshBasicMaterial( { color: 0xc1c100 } ) );
-			pointLight2.add( new THREE.PointLight( 0xc1c100, 1.0, 500 ) );
+			pointLight2.add( new THREE.PointLight( 0xc1c100, 0.75, 500, 0 ) );
 			scene.add( pointLight2 );
 			scene.add( pointLight2 );
 			pointLight2.position.x = - 100;
 			pointLight2.position.x = - 100;
 			pointLight2.position.y = 20;
 			pointLight2.position.y = 20;
@@ -79,6 +79,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 );
 
 
 			//
 			//

+ 5 - 4
examples/webgl_materials_texture_anisotropy.html

@@ -108,14 +108,14 @@
 				scene2.background = new THREE.Color( 0xf2f7ff );
 				scene2.background = new THREE.Color( 0xf2f7ff );
 				scene2.fog = new THREE.Fog( 0xf2f7ff, 1, 25000 );
 				scene2.fog = new THREE.Fog( 0xf2f7ff, 1, 25000 );
 
 
-				scene1.add( new THREE.AmbientLight( 0xeef0ff ) );
-				scene2.add( new THREE.AmbientLight( 0xeef0ff ) );
+				scene1.add( new THREE.AmbientLight( 0xeef0ff, 3 ) );
+				scene2.add( new THREE.AmbientLight( 0xeef0ff, 3 ) );
 
 
-				const light1 = new THREE.DirectionalLight( 0xffffff, 2 );
+				const light1 = new THREE.DirectionalLight( 0xffffff, 6 );
 				light1.position.set( 1, 1, 1 );
 				light1.position.set( 1, 1, 1 );
 				scene1.add( light1 );
 				scene1.add( light1 );
 
 
-				const light2 = new THREE.DirectionalLight( 0xffffff, 2 );
+				const light2 = new THREE.DirectionalLight( 0xffffff, 6 );
 				light2.position.set( 1, 1, 1 );
 				light2.position.set( 1, 1, 1 );
 				scene2.add( light2 );
 				scene2.add( light2 );
 
 
@@ -172,6 +172,7 @@
 
 
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
 				renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
+				renderer.useLegacyLights = false;
 				renderer.autoClear = false;
 				renderer.autoClear = false;
 
 
 				renderer.domElement.style.position = 'relative';
 				renderer.domElement.style.position = 'relative';

+ 1 - 0
examples/webgl_materials_texture_filters.html

@@ -194,6 +194,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;
 				renderer.autoClear = false;
 				renderer.autoClear = false;
 
 
 				renderer.domElement.style.position = 'relative';
 				renderer.domElement.style.position = 'relative';

+ 1 - 0
examples/webgl_materials_texture_manualmipmap.html

@@ -206,6 +206,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;
 				renderer.autoClear = false;
 				renderer.autoClear = false;
 
 
 				renderer.domElement.style.position = 'relative';
 				renderer.domElement.style.position = 'relative';

+ 1 - 0
examples/webgl_materials_texture_partialupdate.html

@@ -72,6 +72,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 );
 
 
 				//
 				//

+ 3 - 2
examples/webgl_materials_toon.html

@@ -66,6 +66,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 );
 
 
 				// Materials
 				// Materials
@@ -150,9 +151,9 @@
 
 
 				// Lights
 				// Lights
 
 
-				scene.add( new THREE.AmbientLight( 0xc1c1c1 ) );
+				scene.add( new THREE.AmbientLight( 0xc1c1c1, 3 ) );
 
 
-				const pointLight = new THREE.PointLight( 0xffffff, 2, 800 );
+				const pointLight = new THREE.PointLight( 0xffffff, 2, 800, 0 );
 				particleLight.add( pointLight );
 				particleLight.add( pointLight );
 
 
 				//
 				//

+ 3 - 2
examples/webgl_shadowmap_pcss.html

@@ -173,9 +173,9 @@
 
 
 				// lights
 				// lights
 
 
-				scene.add( new THREE.AmbientLight( 0xaaaaaa ) );
+				scene.add( new THREE.AmbientLight( 0xaaaaaa, 3 ) );
 
 
-				const light = new THREE.DirectionalLight( 0xf0f6ff, 1.75 );
+				const light = new THREE.DirectionalLight( 0xf0f6ff, 4.5 );
 				light.position.set( 2, 8, 4 );
 				light.position.set( 2, 8, 4 );
 
 
 				light.castShadow = true;
 				light.castShadow = true;
@@ -251,6 +251,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.setClearColor( scene.fog.color );
 				renderer.setClearColor( scene.fog.color );
 
 
 				container.appendChild( renderer.domElement );
 				container.appendChild( renderer.domElement );

+ 4 - 3
examples/webgl_shadowmap_viewer.html

@@ -62,9 +62,9 @@
 
 
 				// Lights
 				// Lights
 
 
-				scene.add( new THREE.AmbientLight( 0x404040 ) );
+				scene.add( new THREE.AmbientLight( 0x404040, 3 ) );
 
 
-				spotLight = new THREE.SpotLight( 0xffffff );
+				spotLight = new THREE.SpotLight( 0xffffff, 500 );
 				spotLight.name = 'Spot Light';
 				spotLight.name = 'Spot Light';
 				spotLight.angle = Math.PI / 5;
 				spotLight.angle = Math.PI / 5;
 				spotLight.penumbra = 0.3;
 				spotLight.penumbra = 0.3;
@@ -78,7 +78,7 @@
 
 
 				scene.add( new THREE.CameraHelper( spotLight.shadow.camera ) );
 				scene.add( new THREE.CameraHelper( spotLight.shadow.camera ) );
 
 
-				dirLight = new THREE.DirectionalLight( 0xffffff, 1 );
+				dirLight = new THREE.DirectionalLight( 0xffffff, 3 );
 				dirLight.name = 'Dir. Light';
 				dirLight.name = 'Dir. Light';
 				dirLight.position.set( 0, 10, 0 );
 				dirLight.position.set( 0, 10, 0 );
 				dirLight.castShadow = true;
 				dirLight.castShadow = true;
@@ -144,6 +144,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;
 				renderer.shadowMap.type = THREE.BasicShadowMap;
 				renderer.shadowMap.type = THREE.BasicShadowMap;
 
 

+ 3 - 2
examples/webgl_shadowmap_vsm.html

@@ -101,7 +101,7 @@
 
 
 				scene.add( new THREE.AmbientLight( 0x444444 ) );
 				scene.add( new THREE.AmbientLight( 0x444444 ) );
 
 
-				spotLight = new THREE.SpotLight( 0xff8888 );
+				spotLight = new THREE.SpotLight( 0xff8888, 400 );
 				spotLight.angle = Math.PI / 5;
 				spotLight.angle = Math.PI / 5;
 				spotLight.penumbra = 0.3;
 				spotLight.penumbra = 0.3;
 				spotLight.position.set( 8, 10, 5 );
 				spotLight.position.set( 8, 10, 5 );
@@ -115,7 +115,7 @@
 				scene.add( spotLight );
 				scene.add( spotLight );
 
 
 
 
-				dirLight = new THREE.DirectionalLight( 0x8888ff );
+				dirLight = new THREE.DirectionalLight( 0x8888ff, 3 );
 				dirLight.position.set( 3, 12, 17 );
 				dirLight.position.set( 3, 12, 17 );
 				dirLight.castShadow = true;
 				dirLight.castShadow = true;
 				dirLight.shadow.camera.near = 0.1;
 				dirLight.shadow.camera.near = 0.1;
@@ -189,6 +189,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;
 				renderer.shadowMap.type = THREE.VSMShadowMap;
 				renderer.shadowMap.type = THREE.VSMShadowMap;
 
 

+ 2 - 1
examples/webgl_shadowmesh.html

@@ -41,7 +41,7 @@
 			const clock = new THREE.Clock();
 			const clock = new THREE.Clock();
 			const renderer = new THREE.WebGLRenderer();
 			const renderer = new THREE.WebGLRenderer();
 
 
-			const sunLight = new THREE.DirectionalLight( 'rgb(255,255,255)', 1 );
+			const sunLight = new THREE.DirectionalLight( 'rgb(255,255,255)', 3 );
 			let useDirectionalLight = true;
 			let useDirectionalLight = true;
 			let arrowHelper1, arrowHelper2, arrowHelper3;
 			let arrowHelper1, arrowHelper2, arrowHelper3;
 			const arrowDirection = new THREE.Vector3();
 			const arrowDirection = new THREE.Vector3();
@@ -71,6 +71,7 @@
 
 
 				scene.background = new THREE.Color( 0x0096ff );
 				scene.background = new THREE.Color( 0x0096ff );
 
 
+				renderer.useLegacyLights = false;
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setPixelRatio( window.devicePixelRatio );
 				renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
 				renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
 				document.getElementById( 'container' ).appendChild( renderer.domElement );
 				document.getElementById( 'container' ).appendChild( renderer.domElement );