Mr.doob 1 year ago
parent
commit
1d780b8d14
100 changed files with 1067 additions and 235 deletions
  1. 53 30
      build/three.cjs
  2. 53 30
      build/three.module.js
  3. 0 0
      build/three.module.min.js
  4. 5 0
      docs/api/ar/lights/shadows/LightShadow.html
  5. 3 3
      docs/api/ar/materials/RawShaderMaterial.html
  6. 1 1
      docs/api/ar/renderers/WebGLArrayRenderTarget.html
  7. 43 0
      docs/api/en/extras/TextureUtils.html
  8. 5 0
      docs/api/en/lights/shadows/LightShadow.html
  9. 1 1
      docs/api/en/materials/Material.html
  10. 3 3
      docs/api/en/materials/RawShaderMaterial.html
  11. 6 0
      docs/api/en/math/Vector4.html
  12. 63 47
      docs/api/en/objects/BatchedMesh.html
  13. 1 1
      docs/api/en/renderers/WebGLArrayRenderTarget.html
  14. 4 4
      docs/api/en/textures/Data3DTexture.html
  15. 2 2
      docs/api/en/textures/DataArrayTexture.html
  16. 3 3
      docs/api/fr/materials/RawShaderMaterial.html
  17. 5 0
      docs/api/it/lights/shadows/LightShadow.html
  18. 3 3
      docs/api/it/materials/RawShaderMaterial.html
  19. 1 1
      docs/api/it/renderers/WebGLArrayRenderTarget.html
  20. 1 1
      docs/api/it/textures/Data3DTexture.html
  21. 1 1
      docs/api/it/textures/DataArrayTexture.html
  22. 5 0
      docs/api/zh/lights/shadows/LightShadow.html
  23. 3 3
      docs/api/zh/materials/RawShaderMaterial.html
  24. 4 4
      docs/api/zh/objects/BatchedMesh.html
  25. 1 1
      docs/api/zh/renderers/WebGLArrayRenderTarget.html
  26. 1 1
      docs/api/zh/textures/Data3DTexture.html
  27. 2 2
      docs/api/zh/textures/DataArrayTexture.html
  28. 17 6
      docs/examples/en/exporters/GLTFExporter.html
  29. 67 0
      docs/examples/en/geometries/TeapotGeometry.html
  30. 285 0
      docs/examples/ko/controls/ArcballControls.html
  31. 1 1
      docs/examples/zh/animations/CCDIKSolver.html
  32. 1 1
      docs/examples/zh/animations/MMDAnimationHelper.html
  33. 1 1
      docs/examples/zh/animations/MMDPhysics.html
  34. 1 1
      docs/examples/zh/controls/ArcballControls.html
  35. 2 2
      docs/examples/zh/controls/DragControls.html
  36. 1 1
      docs/examples/zh/controls/FirstPersonControls.html
  37. 1 1
      docs/examples/zh/controls/FlyControls.html
  38. 1 1
      docs/examples/zh/controls/MapControls.html
  39. 1 1
      docs/examples/zh/controls/OrbitControls.html
  40. 1 1
      docs/examples/zh/controls/PointerLockControls.html
  41. 1 1
      docs/examples/zh/controls/TrackballControls.html
  42. 1 1
      docs/examples/zh/controls/TransformControls.html
  43. 1 1
      docs/examples/zh/exporters/DRACOExporter.html
  44. 1 1
      docs/examples/zh/exporters/EXRExporter.html
  45. 1 1
      docs/examples/zh/exporters/GLTFExporter.html
  46. 1 1
      docs/examples/zh/exporters/OBJExporter.html
  47. 1 1
      docs/examples/zh/exporters/PLYExporter.html
  48. 1 1
      docs/examples/zh/exporters/STLExporter.html
  49. 1 1
      docs/examples/zh/geometries/ConvexGeometry.html
  50. 1 1
      docs/examples/zh/geometries/DecalGeometry.html
  51. 1 1
      docs/examples/zh/geometries/ParametricGeometry.html
  52. 1 1
      docs/examples/zh/geometries/SDFGeometryGenerator.html
  53. 1 1
      docs/examples/zh/geometries/TextGeometry.html
  54. 2 2
      docs/examples/zh/helpers/LightProbeHelper.html
  55. 1 1
      docs/examples/zh/helpers/PositionalAudioHelper.html
  56. 2 2
      docs/examples/zh/helpers/RectAreaLightHelper.html
  57. 2 2
      docs/examples/zh/helpers/VertexNormalsHelper.html
  58. 1 1
      docs/examples/zh/helpers/VertexTangentsHelper.html
  59. 3 3
      docs/examples/zh/lights/LightProbeGenerator.html
  60. 1 1
      docs/examples/zh/loaders/3DMLoader.html
  61. 2 2
      docs/examples/zh/loaders/DRACOLoader.html
  62. 2 2
      docs/examples/zh/loaders/FontLoader.html
  63. 1 1
      docs/examples/zh/loaders/GLTFLoader.html
  64. 1 1
      docs/examples/zh/loaders/KTX2Loader.html
  65. 1 1
      docs/examples/zh/loaders/LDrawLoader.html
  66. 84 0
      docs/examples/zh/loaders/LUT3dlLoader.html
  67. 83 0
      docs/examples/zh/loaders/LUTCubeLoader.html
  68. 1 1
      docs/examples/zh/loaders/MMDLoader.html
  69. 2 2
      docs/examples/zh/loaders/MTLLoader.html
  70. 2 2
      docs/examples/zh/loaders/OBJLoader.html
  71. 2 2
      docs/examples/zh/loaders/PCDLoader.html
  72. 1 1
      docs/examples/zh/loaders/PDBLoader.html
  73. 2 2
      docs/examples/zh/loaders/SVGLoader.html
  74. 2 2
      docs/examples/zh/loaders/TGALoader.html
  75. 1 1
      docs/examples/zh/math/Lut.html
  76. 1 1
      docs/examples/zh/math/MeshSurfaceSampler.html
  77. 1 1
      docs/examples/zh/math/OBB.html
  78. 1 1
      docs/examples/zh/math/convexhull/ConvexHull.html
  79. 1 1
      docs/examples/zh/math/convexhull/Face.html
  80. 1 1
      docs/examples/zh/math/convexhull/HalfEdge.html
  81. 1 1
      docs/examples/zh/math/convexhull/VertexList.html
  82. 1 1
      docs/examples/zh/math/convexhull/VertexNode.html
  83. 1 1
      docs/examples/zh/misc/Timer.html
  84. 68 0
      docs/examples/zh/modifiers/EdgeSplitModifier.html
  85. 2 0
      docs/examples/zh/objects/Lensflare.html
  86. 91 0
      docs/examples/zh/objects/Sky.html
  87. 1 1
      docs/examples/zh/postprocessing/EffectComposer.html
  88. 1 1
      docs/examples/zh/renderers/CSS2DRenderer.html
  89. 1 1
      docs/examples/zh/renderers/CSS3DRenderer.html
  90. 1 1
      docs/examples/zh/renderers/SVGRenderer.html
  91. 2 2
      docs/examples/zh/utils/BufferGeometryUtils.html
  92. 1 1
      docs/examples/zh/utils/CameraUtils.html
  93. 1 1
      docs/examples/zh/utils/SceneUtils.html
  94. 1 1
      docs/examples/zh/utils/SkeletonUtils.html
  95. 1 1
      docs/examples/zh/webxr/XREstimatedLight.html
  96. 15 5
      docs/list.json
  97. 1 1
      docs/manual/ar/introduction/Useful-links.html
  98. 3 3
      docs/manual/ar/introduction/WebGL-compatibility-check.html
  99. 1 1
      docs/manual/en/introduction/Useful-links.html
  100. 3 3
      docs/manual/en/introduction/WebGL-compatibility-check.html

File diff suppressed because it is too large
+ 53 - 30
build/three.cjs


File diff suppressed because it is too large
+ 53 - 30
build/three.module.js


File diff suppressed because it is too large
+ 0 - 0
build/three.module.min.js


+ 5 - 0
docs/api/ar/lights/shadows/LightShadow.html

@@ -46,6 +46,11 @@
 		
 		<h3>[property:Integer blurSamples]</h3>
 		<p>عدد العينات المستخدمة عند طمس خريطة ظل VSM.</p>
+
+		<h3>[property:Float intensity]</h3>
+		<p>
+			The intensity of the shadow. The default is `1`. Valid values are in the range `[0, 1]`.
+		</p>
 		
 		<h3>[property:WebGLRenderTarget map]</h3>
 		<p>

+ 3 - 3
docs/api/ar/materials/RawShaderMaterial.html

@@ -36,9 +36,9 @@
 		[example:webgl_buffergeometry_instancing_billboards WebGL / buffergeometry / instancing / billboards]<br />
 		[example:webgl_buffergeometry_instancing WebGL / buffergeometry / instancing]<br />
 		[example:webgl_raymarching_reflect WebGL / raymarching / reflect]<br />
-		[example:webgl2_volume_cloud WebGL 2 / volume / cloud]<br />
-		[example:webgl2_volume_instancing WebGL 2 / volume / instancing]<br />
-		[example:webgl2_volume_perlin WebGL 2 / volume / perlin]
+		[example:webgl_volume_cloud WebGL / volume / cloud]<br />
+		[example:webgl_volume_instancing WebGL / volume / instancing]<br />
+		[example:webgl_volume_perlin WebGL / volume / perlin]
 		</p>
 		 
 		<h2>المنشئ (Constructor)</h2>

+ 1 - 1
docs/api/ar/renderers/WebGLArrayRenderTarget.html

@@ -18,7 +18,7 @@
 		<h2>أمثلة (Examples)</h2>
 		 
 		<p>
-		[example:webgl2_rendertarget_texture2darray WebGL 2 / render target / array]<br />
+		[example:webgl_rendertarget_texture2darray WebGL / render target / array]<br />
 		</p>
 		 
 		<h2>المنشئ (Constructor)</h2>

+ 43 - 0
docs/api/en/extras/TextureUtils.html

@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">A class containing utility functions for textures.</p>
+
+		<h2>Methods</h2>
+
+		<h3>[method:Texture contain]( [param:Texture texture], [param:Number aspect] )</h3>
+		<p>
+			Scales the texture as large as possible within its surface without cropping or stretching the texture. The method preserves the original aspect ratio of the texture. Akin to CSS `object-fit: contain`.
+		</p>
+
+		<h3>[method:Texture cover]( [param:Texture texture], [param:Number aspect] )</h3>
+		<p>
+			Scales the texture to the smallest possible size to fill the surface, leaving no empty space. The method preserves the original aspect ratio of the texture. Akin to CSS `object-fit: cover`.
+		</p>
+
+		<h3>[method:Texture fill]( [param:Texture texture] )</h3>
+		<p>
+			Configures the texture to the default transformation. Akin to CSS `object-fit: fill`.
+		</p>
+
+		<h3>[method:Number getByteLength]( [param:Number width], [param:Number height], [param:Number format], [param:Number type] )</h3>
+		<p>
+			Given the width, height, format, and type of a texture. Determines how
+			many bytes must be used to represent the texture.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 5 - 0
docs/api/en/lights/shadows/LightShadow.html

@@ -47,6 +47,11 @@
 		<h3>[property:Integer blurSamples]</h3>
 		<p>The amount of samples to use when blurring a VSM shadow map.</p>
 
+		<h3>[property:Float intensity]</h3>
+		<p>
+			The intensity of the shadow. The default is `1`. Valid values are in the range `[0, 1]`.
+		</p>
+
 		<h3>[property:WebGLRenderTarget map]</h3>
 		<p>
 			The depth map generated using the internal camera; a location beyond a

+ 1 - 1
docs/api/en/materials/Material.html

@@ -407,7 +407,7 @@
 			method whenever this instance is no longer used in your app.
 		</p>
 		<p>
-			Material textures must be be disposed of by the dispose() method of
+			Material textures must be disposed of by the dispose() method of
 			[page:Texture Texture].
 		</p>
 

+ 3 - 3
docs/api/en/materials/RawShaderMaterial.html

@@ -36,9 +36,9 @@
 			[example:webgl_buffergeometry_instancing_billboards WebGL / buffergeometry / instancing / billboards]<br />
 			[example:webgl_buffergeometry_instancing WebGL / buffergeometry / instancing]<br />
 			[example:webgl_raymarching_reflect WebGL / raymarching / reflect]<br />
-			[example:webgl2_volume_cloud WebGL 2 / volume / cloud]<br />
-			[example:webgl2_volume_instancing WebGL 2 / volume / instancing]<br />
-			[example:webgl2_volume_perlin WebGL 2 / volume / perlin]
+			[example:webgl_volume_cloud WebGL / volume / cloud]<br />
+			[example:webgl_volume_instancing WebGL / volume / instancing]<br />
+			[example:webgl_volume_perlin WebGL / volume / perlin]
 		</p>
 
 		<h2>Constructor</h2>

+ 6 - 0
docs/api/en/math/Vector4.html

@@ -321,6 +321,12 @@
 			and [page:.w w] to the angle.
 		</p>
 
+		<h3>[method:this setFromMatrixPosition]( [param:Matrix4 m] )</h3>
+		<p>
+			Sets this vector to the position elements of the
+			[link:https://en.wikipedia.org/wiki/Transformation_matrix transformation matrix] [page:Matrix4 m].
+		</p>
+
 		<h3>
 			[method:this setComponent]( [param:Integer index], [param:Float value] )
 		</h3>

+ 63 - 47
docs/api/en/objects/BatchedMesh.html

@@ -14,32 +14,42 @@
 		<p class="desc">
 			A special version of [page:Mesh] with multi draw batch rendering support. Use
 			[name] if you have to render a large number of objects with the same
-			material but with different world transformations and geometry. The usage
-			of [name] will help you to reduce the number of draw calls and thus
-			improve the overall rendering performance in your application.
+			material but with different world transformations. The usage of [name] will
+			help you to reduce the number of draw calls and thus improve the overall
+			rendering performance in your application.
 
 			<br/>
 			<br/>
 
 			If the [link:https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_multi_draw WEBGL_multi_draw extension] is
-			not supported then a less performant callback is used.
+			not supported then a less performant fallback is used.
 		</p>
 
 		<h2>Code Example</h2>
 
 		<code>
 		const box = new THREE.BoxGeometry( 1, 1, 1 );
-		const sphere = new THREE.BoxGeometry( 1, 1, 1 );
+		const sphere = new THREE.SphereGeometry( 1, 12, 12 );
 		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
 
 		// initialize and add geometries into the batched mesh
 		const batchedMesh = new BatchedMesh( 10, 5000, 10000, material );
-		const boxId = batchedMesh.addGeometry( box );
-		const sphereId = batchedMesh.addGeometry( sphere );
+		const boxGeometryId = batchedMesh.addGeometry( box );
+		const sphereGeometryId = batchedMesh.addGeometry( sphere );
+
+		// create instances of those geometries
+		const boxInstancedId1 = batchedMesh.addInstance( boxGeometryId );
+		const boxInstancedId2 = batchedMesh.addInstance( boxGeometryId );
+
+		const sphereInstancedId1 = batchedMesh.addInstance( sphereGeometryId );
+		const sphereInstancedId2 = batchedMesh.addInstance( sphereGeometryId );
 
 		// position the geometries
-		batchedMesh.setMatrixAt( boxId, boxMatrix );
-		batchedMesh.setMatrixAt( sphereId, sphereMatrix );
+		batchedMesh.setMatrixAt( boxInstancedId1, boxMatrix1 );
+		batchedMesh.setMatrixAt( boxInstancedId2, boxMatrix2 );
+
+		batchedMesh.setMatrixAt( sphereInstancedId1, sphereMatrix1 );
+		batchedMesh.setMatrixAt( sphereInstancedId2, sphereMatrix2 );
 
 		scene.add( batchedMesh );
 		</code>
@@ -52,16 +62,15 @@
 		<h2>Constructor</h2>
 		<h3>
 			[name](
-				[param:Integer maxGeometryCount], [param:Integer maxVertexCount],
+				[param:Integer maxInstanceCount], [param:Integer maxVertexCount],
 				[param:Integer maxIndexCount], [param:Material material],
 			)
 		</h3>
 		<p>
-			[page:Integer maxGeometryCount] - the max number of individual geometries planned to be added.<br />
-			[page:Integer maxVertexCount] - the max number of vertices to be used by all geometries.<br />
-			[page:Integer maxIndexCount] - the max number of indices to be used by all geometries.<br />
-			[page:Material material] - an instance of [page:Material]. Default is a
-			new [page:MeshBasicMaterial].<br />
+			[page:Integer maxInstanceCount] - the max number of individual instances planned to be added and rendered.<br />
+			[page:Integer maxVertexCount] - the max number of vertices to be used by all unique geometries.<br />
+			[page:Integer maxIndexCount] - the max number of indices to be used by all unique geometries.<br />
+			[page:Material material] - an instance of [page:Material]. Default is a new [page:MeshBasicMaterial].<br />
 		</p>
 
 		<h2>Properties</h2>
@@ -91,9 +100,9 @@
 			rendered front to back. Default is `true`.
 		</p>
 
-		<h3>[property:Integer maxGeometryCount]</h3>
+		<h3>[property:Integer maxInstanceCount]</h3>
 		<p>
-			The maximum number of individual geometries that can be stored in the [name]. Read only.
+			The maximum number of individual instances that can be stored in the [name]. Read only.
 		</p>
 
 		<h3>[property:Boolean isBatchedMesh]</h3>
@@ -125,63 +134,57 @@
 
 		<h3>[method:this setCustomSort]( [param:Function sortFunction] )</h3>
 		<p>
-			Takes a sort a function that is run before render. The function takes a list of items to sort and a camera. The objects
+			Takes a sort a function that is run before render. The function takes a list of instances to sort and a camera. The objects
 			in the list include a "z" field to perform a depth-ordered sort with.
 		</p>
 
 		<h3>
-			[method:undefined getColorAt]( [param:Integer index], [param:Color color] )
+			[method:undefined getColorAt]( [param:Integer instanceId], [param:Color target] )
 		</h3>
 		<p>
-			[page:Integer index]: The index of a geometry. Values have to be in the
-			range [0, count].
+			[page:Integer instanceId]: The id of an instance to get the color of.
 		</p>
 		<p>
-			[page:Color color]: This color object will be set to the color of the
-			defined geometry.
+			[page:Color target]: The target object to copy the color in to.
 		</p>
 		<p>Get the color of the defined geometry.</p>
 
 		<h3>
-			[method:Matrix4 getMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )
+			[method:Matrix4 getMatrixAt]( [param:Integer instanceId], [param:Matrix4 target] )
 		</h3>
 		<p>
-			[page:Integer index]: The index of an instance. Values have to be in the
-			range [0, count].
+			[page:Integer instanceId]: The id of an instance to get the matrix of.
 		</p>
 		<p>
-			[page:Matrix4 matrix]: This 4x4 matrix will be set to the local
+			[page:Matrix4 target]: This 4x4 matrix will be set to the local
 			transformation matrix of the defined instance.
 		</p>
 		<p>Get the local transformation matrix of the defined instance.</p>
 
 		<h3>
-			[method:Boolean getVisibleAt]( [param:Integer index] )
+			[method:Boolean getVisibleAt]( [param:Integer instanceId] )
 		</h3>
 		<p>
-			[page:Integer index]: The index of an instance. Values have to be in the
-			range [0, count].
+			[page:Integer instanceId]: The id of an instance to get the visibility state of.
 		</p>
 		<p>Get whether the given instance is marked as "visible" or not.</p>
 
 		<h3>
-			[method:undefined setColorAt]( [param:Integer index], [param:Color color] )
+			[method:undefined setColorAt]( [param:Integer instanceId], [param:Color color] )
 		</h3>
 		<p>
-			[page:Integer index]: The index of a geometry. Values have to be in the
-			range [0, count].
+			[page:Integer instanceId]: The id of the instance to set the color of.
 		</p>
-		<p>[page:Color color]: The color of a single geometry.</p>
+		<p>[page:Color color]: The color to set the instance to.</p>
 		<p>
-			Sets the given color to the defined geometry.
+			Sets the given color to the defined geometry instance.
 		</p>
 
 		<h3>
-			[method:this setMatrixAt]( [param:Integer index], [param:Matrix4 matrix] )
+			[method:this setMatrixAt]( [param:Integer instanceId], [param:Matrix4 matrix] )
 		</h3>
 		<p>
-			[page:Integer index]: The index of an instance. Values have to be in the
-			range [0, count].
+			[page:Integer instanceId]: The id of an instance to set the matrix of.
 		</p>
 		<p>
 			[page:Matrix4 matrix]: A 4x4 matrix representing the local transformation
@@ -192,17 +195,16 @@
 		</p>
 
 		<h3>
-			[method:this setVisibleAt]( [param:Integer index], [param:Boolean visible] )
+			[method:this setVisibleAt]( [param:Integer instanceId], [param:Boolean visible] )
 		</h3>
 		<p>
-			[page:Integer index]: The index of an instance. Values have to be in the
-			range [0, count].
+			[page:Integer instanceId]: The id of the instance to set the visibility of.
 		</p>
 		<p>
 			[page:Boolean visible]: A boolean value indicating the visibility state.
 		</p>
 		<p>
-			Sets the visibility of the object at the given index.
+			Sets the visibility of the instance at the given index.
 		</p>
 
 		<h3>
@@ -222,22 +224,35 @@
 			the length of the given geometry index buffer.
 		</p>
 		<p>
-			Adds the given geometry to the [name] and returns the associated index referring to it.
+			Adds the given geometry to the [name] and returns the associated geometry id referring to it to be used in other functions.
+		</p>
+
+		<h3>
+			[method:Integer addInstance]( [param:Integer geometryId] )
+		</h3>
+		<p>
+			[page:Integer geometryId]: The id of a previously added geometry via "addGeometry" to add into the [name] to render.
+		</p>
+		<p>
+			Adds a new instance to the [name] using the geometry of the given geometryId and returns a new id referring to the new instance to be used
+			by other functions.
 		</p>
 
 		<h3>
-			[method:Integer setGeometryAt]( [param:Integer index], [param:BufferGeometry geometry] )
+			[method:Integer setGeometryAt]( [param:Integer geometryId], [param:BufferGeometry geometry] )
 		</h3>
 		<p>
-			[page:Integer index]: Which geometry index to replace with this geometry.
+			[page:Integer geometryId]: Which geometry id to replace with this geometry.
 		</p>
 		<p>
-			[page:BufferGeometry geometry]: The geometry to substitute at the given geometry index.
+			[page:BufferGeometry geometry]: The geometry to substitute at the given geometry id.
 		</p>
 		<p>
-			Replaces the geometry at `index` with the provided geometry. Throws an error if there is not enough space reserved for geometry at the index.
+			Replaces the geometry at `geometryId` with the provided geometry. Throws an error if there is not enough space reserved for geometry.
+			Calling this will change all instances that are rendering that geometry.
 		</p>
 
+		<!--
 		<h3>
 			[method:Integer getInstanceCountAt]( [param:Integer index] )
 		</h3>
@@ -261,6 +276,7 @@
 		<p>
 			Sets an instance count of the geometry at `index`.
 		</p>
+		-->
 
 		<h2>Source</h2>
 

+ 1 - 1
docs/api/en/renderers/WebGLArrayRenderTarget.html

@@ -18,7 +18,7 @@
 		<h2>Examples</h2>
 
 		<p>
-			[example:webgl2_rendertarget_texture2darray WebGL 2 / render target / array]<br />
+			[example:webgl_rendertarget_texture2darray WebGL / render target / array]<br />
 		</p>
 
 		<h2>Constructor</h2>

+ 4 - 4
docs/api/en/textures/Data3DTexture.html

@@ -62,10 +62,10 @@
 		<h2>Examples</h2>
 
 		<p>
-			[example:webgl2_materials_texture3d WebGL2 / materials / texture3d]<br />
-			[example:webgl2_materials_texture3d_partialupdate WebGL2 / materials / texture3d / partialupdate]<br />
-			[example:webgl2_volume_cloud WebGL2 / volume / cloud]<br />
-			[example:webgl2_volume_perlin WebGL2 / volume / perlin]
+			[example:webgl_texture3d WebGL / texture3d]<br />
+			[example:webgl_texture3d_partialupdate WebGL / texture3d / partialupdate]<br />
+			[example:webgl_volume_cloud WebGL / volume / cloud]<br />
+			[example:webgl_volume_perlin WebGL / volume / perlin]
 		</p>
 
 		<h2>Properties</h2>

+ 2 - 2
docs/api/en/textures/DataArrayTexture.html

@@ -80,8 +80,8 @@
 		<h2>Examples</h2>
 
 		<p>
-			[example:webgl2_materials_texture2darray WebGL2 / materials / texture2darray] 
-			[example:webgl2_rendertarget_texture2darray WebGL2 / rendertarget / texture2darray]
+			[example:webgl_texture2darray WebGL / texture2darray]<br />
+			[example:webgl_rendertarget_texture2darray WebGL / rendertarget / texture2darray]
 		</p>
 
 		<h2>Properties</h2>

+ 3 - 3
docs/api/fr/materials/RawShaderMaterial.html

@@ -35,9 +35,9 @@
 			[example:webgl_buffergeometry_instancing_billboards WebGL / buffergeometry / instancing / billboards]<br />
 			[example:webgl_buffergeometry_instancing WebGL / buffergeometry / instancing]<br />
 			[example:webgl_raymarching_reflect WebGL / raymarching / reflect]<br />
-			[example:webgl2_volume_cloud WebGL 2 / volume / cloud]<br />
-			[example:webgl2_volume_instancing WebGL 2 / volume / instancing]<br />
-			[example:webgl2_volume_perlin WebGL 2 / volume / perlin]
+			[example:webgl_volume_cloud WebGL / volume / cloud]<br />
+			[example:webgl_volume_instancing WebGL / volume / instancing]<br />
+			[example:webgl_volume_perlin WebGL / volume / perlin]
 		</p>
 
 		<h2>Constructeur</h2>

+ 5 - 0
docs/api/it/lights/shadows/LightShadow.html

@@ -50,6 +50,11 @@
       La quantità di campioni da utilizzare durante la sfocatura di una mappa ombra VSM.
 		</p>
 
+		<h3>[property:Float intensity]</h3>
+		<p>
+			The intensity of the shadow. The default is `1`. Valid values are in the range `[0, 1]`.
+		</p>
+
 		<h3>[property:WebGLRenderTarget map]</h3>
 		<p>
       La mappa di profondità generata usando la telecamera interna; una posizione oltre la profondità di un pixel è in ombra.

+ 3 - 3
docs/api/it/materials/RawShaderMaterial.html

@@ -36,9 +36,9 @@
 			[example:webgl_buffergeometry_instancing_billboards WebGL / buffergeometry / instancing / billboards]<br />
 			[example:webgl_buffergeometry_instancing WebGL / buffergeometry / instancing]<br />
 			[example:webgl_raymarching_reflect WebGL / raymarching / reflect]<br />
-			[example:webgl2_volume_cloud WebGL 2 / volume / cloud]<br />
-			[example:webgl2_volume_instancing WebGL 2 / volume / instancing]<br />
-			[example:webgl2_volume_perlin WebGL 2 / volume / perlin]
+			[example:webgl_volume_cloud WebGL / volume / cloud]<br />
+			[example:webgl_volume_instancing WebGL / volume / instancing]<br />
+			[example:webgl_volume_perlin WebGL / volume / perlin]
 		</p>
 
 		<h2>Costruttore</h2>

+ 1 - 1
docs/api/it/renderers/WebGLArrayRenderTarget.html

@@ -18,7 +18,7 @@
 		<h2>Esempi</h2>
 
 		<p>
-			[example:webgl2_rendertarget_texture2darray WebGL 2 / render target / array]<br />
+			[example:webgl_rendertarget_texture2darray WebGL / render target / array]<br />
 		</p>
 
 		<h2>Costruttore</h2>

+ 1 - 1
docs/api/it/textures/Data3DTexture.html

@@ -29,7 +29,7 @@
 		<h2>Esempi</h2>
 
 		<p>
-			[example:webgl2_materials_texture3d WebGL2 / materials / texture3d]
+			[example:webgl_texture3d WebGL / materials / texture3d]
 		</p>
 
 		<h2>Proprietà</h2>

+ 1 - 1
docs/api/it/textures/DataArrayTexture.html

@@ -79,7 +79,7 @@
 		<h2>Esempi</h2>
 
 		<p>
-			[example:webgl2_materials_texture2darray WebGL2 / materials / texture2darray]
+			[example:webgl_texture2darray WebGL / texture2darray]
 		</p>
 
 		<h2>Proprietà</h2>

+ 5 - 0
docs/api/zh/lights/shadows/LightShadow.html

@@ -48,6 +48,11 @@
 			The amount of samples to use when blurring a VSM shadow map.
 		</p>
 
+		<h3>[property:Float intensity]</h3>
+		<p>
+			The intensity of the shadow. The default is `1`. Valid values are in the range `[0, 1]`.
+		</p>
+
 		<h3>[property:WebGLRenderTarget map]</h3>
 		<p>
 			使用内置摄像头生成的深度图;超出像素深度的位置在阴影中。在渲染期间内部计算。

+ 3 - 3
docs/api/zh/materials/RawShaderMaterial.html

@@ -34,9 +34,9 @@
 			[example:webgl_buffergeometry_instancing_billboards WebGL / buffergeometry / instancing / billboards]<br />
 			[example:webgl_buffergeometry_instancing WebGL / buffergeometry / instancing]<br />
 			[example:webgl_raymarching_reflect WebGL / raymarching / reflect]<br />
-			[example:webgl2_volume_cloud WebGL 2 / volume / cloud]<br />
-			[example:webgl2_volume_instancing WebGL 2 / volume / instancing]<br />
-			[example:webgl2_volume_perlin WebGL 2 / volume / perlin]
+			[example:webgl_volume_cloud WebGL / volume / cloud]<br />
+			[example:webgl_volume_instancing WebGL / volume / instancing]<br />
+			[example:webgl_volume_perlin WebGL / volume / perlin]
 		</p>
 
 		<h2>构造函数(Constructor)</h2>

+ 4 - 4
docs/api/zh/objects/BatchedMesh.html

@@ -49,12 +49,12 @@
 	<h2>构造函数</h2>
 	<h3>
 		[name](
-		[param:Integer maxGeometryCount], [param:Integer maxVertexCount],
+		[param:Integer maxInstanceCount], [param:Integer maxVertexCount],
 		[param:Integer maxIndexCount], [param:Material material],
 		)
 	</h3>
 	<p>
-		[page:Integer maxGeometryCount] - 计划添加的单个几何体的最大数量。<br />
+		[page:Integer maxInstanceCount] - 计划添加的单个几何体的最大数量。<br />
 		[page:Integer maxVertexCount] - 所有几何体使用的最大顶点数。<br />
 		[page:Integer maxIndexCount] - 所有几何图形使用的最大索引数。<br />
 		[page:Material material] - [page:Material] 的一个实例。默认是新的 [page:MeshBasicMaterial]。<br />
@@ -83,7 +83,7 @@
 		如果为 true,则对 [name] 中的各个对象进行排序以改善与过度绘制相关的工件。如果材质被标记为“透明”,则对象将从后到前渲染,如果没有,则它们从前到后渲染。默认为 `true`。
 	</p>
 
-	<h3>[property:Integer maxGeometryCount]</h3>
+	<h3>[property:Integer maxInstanceCount]</h3>
 	<p>
 		只读,[name] 中可以存储的单个几何体的最大数量。
 	</p>
@@ -222,4 +222,4 @@
 	</p>
 </body>
 
-</html>
+</html>

+ 1 - 1
docs/api/zh/renderers/WebGLArrayRenderTarget.html

@@ -18,7 +18,7 @@
 		<h2>示例</h2>
 
 		<p>
-			[example:webgl2_rendertarget_texture2darray WebGL 2 / render target / array]<br />
+			[example:webgl_rendertarget_texture2darray WebGL / render target / array]<br />
 		</p>
 
 		<h2>构造函数</h2>

+ 1 - 1
docs/api/zh/textures/Data3DTexture.html

@@ -29,7 +29,7 @@
 		<h2>例子</h2>
 
 		<p>
-			[example:webgl2_materials_texture3d WebGL2 / materials / texture3d]
+			[example:webgl_texture3d WebGL / materials / texture3d]
 		</p>
 
 		<h2>属性</h2>

+ 2 - 2
docs/api/zh/textures/DataArrayTexture.html

@@ -74,8 +74,8 @@
 		<h2>示例(Examples)</h2>
 
 		<p>
-			[example:webgl2_materials_texture2darray WebGL2 / materials / texture2darray]
-			[example:webgl2_rendertarget_texture2darray WebGL2 / rendertarget / texture2darray]
+			[example:webgl_texture2darray WebGL / texture2darray]<br />
+			[example:webgl_rendertarget_texture2darray WebGL / rendertarget / texture2darray]
 		</p>
 
 		<h2>特性(Properties)</h2>

+ 17 - 6
docs/examples/en/exporters/GLTFExporter.html

@@ -136,18 +136,29 @@
 		[page:Function onError] — Will be called if there are any errors during the gltf generation.<br />
 		[page:Options options] — Export options<br />
 		<ul>
-			<li>trs - bool. Export position, rotation and scale instead of matrix per node. Default is false</li>
-			<li>onlyVisible - bool. Export only visible objects. Default is true.</li>
-			<li>binary - bool. Export in binary (.glb) format, returning an ArrayBuffer. Default is false.</li>
-			<li>maxTextureSize - int. Restricts the image maximum size (both width and height) to the given value. Default is Infinity.</li>
-			<li>animations - Array<[page:AnimationClip AnimationClip]>. List of animations to be included in the export.</li>
-			<li>includeCustomExtensions - bool. Export custom glTF extensions defined on an object's `userData.gltfExtensions` property. Default is false.</li>
+			<li>`trs` - bool. Export position, rotation and scale instead of matrix per node. Default is false</li>
+			<li>`onlyVisible` - bool. Export only visible objects. Default is true.</li>
+			<li>`binary` - bool. Export in binary (.glb) format, returning an ArrayBuffer. Default is false.</li>
+			<li>`maxTextureSize` - int. Restricts the image maximum size (both width and height) to the given value. Default is Infinity.</li>
+			<li>`animations` - Array<[page:AnimationClip AnimationClip]>. List of animations to be included in the export.</li>
+			<li>`includeCustomExtensions` - bool. Export custom glTF extensions defined on an object's `userData.gltfExtensions` property. Default is false.</li>
 		</ul>
 		</p>
 		<p>
 		Generates a .gltf (JSON) or .glb (binary) output from the input (Scenes or Objects)
 		</p>
 
+		<h3>[method:Promise parseAsync]( [param:Object3D input], [param:Object options] )</h3>
+
+		<p>
+			Generates a .gltf (JSON) or .glb (binary) output from the input (Scenes or Objects).
+		</p>
+		<p>
+			This is just like the [page:.parse]() method, but instead of
+			accepting callbacks it returns a promise that resolves with the
+			result, and otherwise accepts the same options.
+		</p>
+
 		<h2>Source</h2>
 
 		<p>

+ 67 - 0
docs/examples/en/geometries/TeapotGeometry.html

@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name] tesselates the famous Utah teapot database by Martin Newell.
+		</p>
+
+		<h2>Import</h2>
+
+		<p>
+			[name] is an add-on, and must be imported explicitly.
+			See [link:#manual/introduction/Installation Installation / Addons].
+		</p>
+
+		<code>
+			import { TeapotGeometry } from 'three/addons/geometries/TeapotGeometry.js';
+		</code>
+
+		<h2>Code Example</h2>
+
+		<code>
+			const geometry = new TeapotGeometry( 50, 18 );
+			const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+			const teapot = new THREE.Mesh( geometry, material );
+			scene.add( teapot );
+		</code>
+
+		<h2>Constructor</h2>
+
+		<h3>
+			[name]([param:Integer size], [param:Integer segments], [param:Boolean bottom], [param:Boolean lid], [param:Boolean body], 
+			[param:Boolean fitLid], [param:Boolean blinn])
+		</h3>
+		<p>
+			size — Relative scale of the teapot. Optional; Defaults to `50`.<br>
+			segments — Number of line segments to subdivide each patch edge. Optional; Defaults to `10`.<br>
+			bottom — Whether the bottom of the teapot is generated or not. Optional; Defaults to `true`.<br>
+			lid — Whether the lid is generated or not. Optional; Defaults to `true`.<br>
+			body — Whether the body is generated or not. Optional; Defaults to `true`.<br>
+			fitLid — Whether the lid is slightly stretched to prevent gaps between the body and lid or not. Optional; Defaults to `true`.<br>
+			blinn — Whether the teapot is scaled vertically for better aesthetics or not. Optional; Defaults to `true`.
+		</p>
+
+		<h2>Properties</h2>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
+
+		<h2>Methods</h2>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/geometries/TeapotGeometry.js 
+			examples/jsm/geometries/TeapotGeometry.js]
+		</p>
+	</body>
+</html>

+ 285 - 0
docs/examples/ko/controls/ArcballControls.html

@@ -0,0 +1,285 @@
+<!DOCTYPE html>
+<html lang="ko">
+
+<head>
+	<meta charset="utf-8" />
+	<base href="../../../" />
+	<script src="page.js"></script>
+	<link type="text/css" rel="stylesheet" href="page.css" />
+</head>
+
+<body>
+	[page:EventDispatcher] &rarr;
+
+	<h1>슬라이드 볼 컨트롤러([name])</h1>
+
+	<p class="desc">
+		ArcballControls 완전한 터치 지원과 고급 내비게이션 기능을 갖춘 가상 궤적구를 통해 카메라를 제어할 수 있습니다.<br>
+		커서/손가락 위치와 움직임은 작은 컨트롤로 표시된 가상 궤적구의 표면에 직관적이고 일관된 카메라 이동에 반사됩니다.커서를 드래그하거나 손가락을 드래그하면 사진기가 공의 중심을 중심으로 안정적으로 회전합니다. (원점으로 돌아가면 사진기가 원래 방향으로 돌아가게 됩니다).<br><br>
+
+		패닝, 확대/축소, 반공 제스처 지원 외에도 arcballcontrols는 두 번의 클릭/클릭을 통해 <i> 포커싱 </i> 기능을 제공하여, 오브젝트의 관심 지점을 가상 트랙볼의 중심으로 직관적으로 이동시킨다.초점은 복잡한 환경에서도 더 나은 검사와 방향을 제공한다.그밖에
+		arcballcontrols는 fov 동작 (아찔한 동작)과 z 축 회전을 허용한다.또한 클립보드를 통해 카메라 상태를 저장하고 복원할 수 있다 (ctrl+c, ctrl+v 단축키를 사용하여 복사 및 붙여넣기 상태).<br><br>
+
+		[page:orbitcontrols], [page:trackballcontrols]와 달리 [name]은 애니메이션이 열릴 때 외부에서 호출될 필요가 없다 [page:.update].<br><br>
+
+
+		이 기능을 사용하려면/examples 디렉터리에 있는 모든 파일과 마찬가지로 html 안에 별도로 포함시켜야 한다.。
+	</p>
+
+	<h2>수입</h2>
+
+	<p>
+		[name] 는 애드온이며 명시적으로 가져와야 합니다. 
+		See [link:#manual/introduction/Installation Installation / Addons]。
+	</p>
+
+	<code>
+			import { ArcballControls } from 'three/addons/controls/ArcballControls.js';
+		</code>
+
+	<h2>코드 예시</h2>
+
+	<code>
+		const renderer = new THREE.WebGLRenderer();
+		renderer.setSize( window.innerWidth, window.innerHeight );
+		document.body.appendChild( renderer.domElement );
+
+		const scene = new THREE.Scene();
+
+		const camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 10000 );
+
+		const controls = new ArcballControls( camera, renderer.domElement, scene );
+
+		controls.addEventListener( 'change', function () {
+
+			renderer.render( scene, camera );
+
+		} );
+
+		//controls.update() must be called after any manual changes to the camera's transform
+		camera.position.set( 0, 20, 100 );
+		controls.update();
+		</code>
+
+	<h2>예시</h2>
+
+	<p>[example:misc_controls_arcball misc / controls / arcball ]</p>
+
+	<h2>생성자</h2>
+
+	<h3>[name]( [param:Camera camera], [param:HTMLDOMElement domElement], [param:Scene scene] )</h3>
+	<p>
+		[page:Camera camera]:(필수) 제어해야 할 카메라입니다.객체가 장면 자체가 아닌 한 카메라는 다른 객체의 하위 객체가 될 수 없습니다.<br><br>
+
+		[page:HTMLDOMElement domElement]: 이벤트 리스너를 위한 HTML 요소.<br><br>
+
+		[page:Scene scene]:카메라가 렌더링한 장면입니다.표시되지 않으면 위젯을 표시할 수 없습니다.
+	</p>
+
+	<h2>이벤트</h2>
+
+	<h3>change</h3>
+	<p>
+		작은 컨트롤이 카메라를 변경할 때 작동합니다.
+	</p>
+
+	<h3>start</h3>
+	<p>
+		상호작용이 시작될 때 촉발된다.
+	</p>
+
+	<h3>end</h3>
+	<p>
+		상호 작용이 완료되었을 때 촉발된다.
+	</p>
+
+	<h2>특성</h2>
+
+	<h3>[property:Boolean adjustNearFar]</h3>
+	<p>
+		true 라면 확대/축소할 때마다 카메라의 근거리 엔드와 원격 엔드를 조정하여 원래의 근거리 엔드와 원격 엔드의 보이는 부분을 동일하게 유지하려고 한다 ([page:PerspectiveCamera] 제한).기본값은 false입니다.
+
+	</p>
+
+	<h3>[property:Camera camera]</h3>
+	<p>
+		카메라가 조종됩니다.
+	</p>
+
+	<h3>[property:Boolean cursorZoom]</h3>
+	<p>
+		크기 조정을 조정하려면 true로 설정했습니다.
+	</p>
+
+	<h3>
+		[property:Float dampingFactor]</h3>
+	<p>
+		[page:.enableanimations] 가 true인 경우 감쇠 관성을 사용한다.
+	</p>
+
+	<h3>[property:HTMLDOMElement domElement]</h3>
+	<p>
+		HTMLDOMElement 마우스/터치 이벤트를 듣는 데 사용합니다.이것은 생성자 (생성자)에 전달되어야 한다.여기에서 변경하면 새 이벤트 리스너가 설정되지 않습니다.
+	</p>
+
+	<h3>[property:Boolean enabled]</h3>
+	<p>
+		'false'로 설정되면 작은 컨트롤은 더 이상 사용자 상호작용에 응답하지 않습니다.기본값은'true'이다.
+	</p>
+
+	<h3>[property:Boolean enableAnimations]</h3>
+	<p>
+		true로 설정하여 회전 (감쇠)과 초점 맞추기 동작을 위한 애니메이션을 활성화합니다.기본값은 true입니다.
+	</p>
+
+	<h3>[property:Boolean enableGrid]</h3>
+	<p>
+		true로 설정하면 패닝 동작을 할 때 모드가 나타날 것입니다 (데스크톱 상호 작용할 때만).기본값은 false입니다.
+	</p>
+
+	<h3>[property:Boolean enablePan]</h3>
+	<p>
+		카메라 펴기를 사용하거나 사용하지 않습니다.기본값은 true입니다.
+	</p>
+
+	<h3>[property:Boolean enableRotate]</h3>
+	<p>
+		카메라 회전을 사용하거나 사용하지 않습니다.기본값은 true입니다.
+	</p>
+
+	<h3>[property:Boolean enableZoom]</h3>
+	<p>
+		카메라 줌을 사용하거나 사용하지 않습니다.
+	</p>
+
+	<h3>[property:Float focusAnimationTime]</h3>
+	<p>
+		초점 애니메이션의 지속 시간입니다.
+	</p>
+
+	<h3>[property:Float maxDistance]</h3>
+	<p>
+		최대 이동 거리(다만 [page:PerspectiveCamera]).무한대로 묵인하다.
+	</p>
+
+	<h3>[property:Float maxZoom]</h3>
+	<p>
+		최대 배율 값입니다(다만 [page:OrthographicCamera]).무한대로 묵인하다.
+	</p>
+
+	<h3>[property:Float minDistance]</h3>
+	<p>
+		최소 이동 거리(다만 [page:PerspectiveCamera])。기본값은 0입니다。
+	</p>
+
+	<h3>[property:Float minZoom]</h3>
+	<p>
+		최소 크기 조정(다만 [page:OrthographicCamera] )。기본값은 0입니다。
+	</p>
+
+	<h3>[property:Float radiusFactor]</h3>
+	<p>
+		화면 너비와 높이에 대한 위젯의 크기입니다. 기본값은 0.67이다。
+	</p>
+
+	<h3>[property:Float rotateSpeed]</h3>
+	<p>
+		회전 속도.기본값은 1입니다.
+	</p>
+
+	<h3>[property:Float scaleFactor]</h3>
+	<p>
+		확대/축소 작업을 수행할 때 사용할 확대/축소 요인입니다.
+	</p>
+
+	<h3>[property:Scene scene]</h3>
+	<p>
+		카메라가 렌더링한 장면입니다.
+	</p>
+
+	<h3>[property:Float wMax]</h3>
+	<p>
+		회전 애니메이션을 시작할 때 허용되는 최대 각속도입니다.
+	</p>
+
+
+	<h2>메소드</h2>
+
+	<h3>[method:undefined activateGizmos] ( [param:Boolean isActive] )</h3>
+	<p>
+		작은 컨트롤을 어느 정도 보이게 합니다.
+	</p>
+
+	<h3>[method:undefined copyState] ()</h3>
+	<p>
+		현재 상태를 클립보드에 복사 (읽을 수 있는 json 텍스트로).
+	</p>
+
+	<h3>[method:undefined dispose] ()</h3>
+	<p>
+		모든 이벤트 리스너를 삭제하고, 처리할 애니메이션을 취소하며, 장면에서 작은 컨트롤과 그리드를 지운다.
+	</p>
+
+	<h3>[method:undefined pasteState] ()</h3>
+	<p>
+		클립보드에서 컨트롤 상태를 설정합니다. 클립보드가 [page:.copyState]에서 저장된 json 텍스트를 저장한다고 가정한다.
+	</p>
+
+	<h3>[method:undefined reset] ()</h3>
+		위젯을 마지막 호출 [page:. saveState] 때의 상태나 원래 상태로 초기화합니다.
+	</p>
+
+	<h3>[method:undefined saveState] ()</h3>
+	<p>
+		컨트롤의 현재 상태를 저장합니다.나중에 [page:.reset]을 통해 다시 시작할 수 있다.
+	</p>
+
+	<h3>[method:undefined setCamera] ( [param:Camera camera] )</h3>
+	<p>
+		컨트롤할 카메라를 설정합니다.새 카메라를 제어하려면 호출되어야 합니다.
+	</p>
+
+	<h3>[method:undefined setGizmosVisible] ( [param:Boolean value] )</h3>
+	<p>
+		작은 컨트롤의 보이는 속성을 설정합니다.
+	</p>
+
+	<h3>[method:undefined setTbRadius] ( [param:Float value] )</h3>
+	<p>
+		`radiusFactor` 값을 업데이트하고, 작은 위젯을 다시 그리고 `changeEvent` 를 시각적으로 보낸다.
+	</p>
+
+	<h3>[method:Boolean setMouseAction] ( [param:String operation], mouse, key )</h3>
+	<p>
+		실행할 동작과 마우스/키 조합을 지정하여 새로운 마우스 동작을 설정합니다.충돌이 발생하면 기존 것을 대체합니다.<br><br>
+		작업은'rotate','pan','fov','zoom'으로 지정할 수 있다.<br>
+		마우스 입력은 마우스 버튼 0, 1, 2 또는'휠'로 지정할 수 있다.<br>
+		키보드 수정자는'ctrl','shift'또는 null(더 이상 필요하지 않을 경우)로 지정할 수 있다.
+	</p>
+
+	<h3>[method:Boolean unsetMouseAction] ( mouse, key )</h3>
+	<p>
+		마우스/키 조합을 지정하여 마우스 동작을 삭제합니다.<br><br>
+		마우스 입력은 마우스 버튼 0, 1, 2 또는'휠'로 지정할 수 있다.<br>
+		키보드 수정자는'ctrl','shift'또는 null(더 이상 필요하지 않을 경우)로 지정할 수 있다.
+	</p>
+
+	<h3>[method:undefined update] ()</h3>
+	<p>
+		컨트롤 업데이트.수동으로 카메라 변경을 한 후에 호출되어야 합니다.
+	</p>
+
+	<h3>[method:Raycaster getRaycaster] ()</h3>
+	<p>
+		사용자 상호 작용을 위한 [page:raycaster] 객체를 되돌려준다.[name]의 [page:object3d.layer.layers] 속성이 설정되어 있으면 일치하는 값을 사용해야 한다. [page:raycaster.layers
+    layers]의 [page:raycaster] 속성, 그렇지 않으면 [name]이 작동되지 않는다.
+	</p>
+
+	<h2>Source</h2>
+
+	<p>
+		[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/ArcballControls.js examples/jsm/controls/ArcballControls.js]
+	</p>
+</body>
+
+</html>

+ 1 - 1
docs/examples/zh/animations/CCDIKSolver.html

@@ -19,7 +19,7 @@
 
 	<iframe id="scene" src="scenes/ccdiksolver-browser.html"></iframe>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/animations/MMDAnimationHelper.html

@@ -16,7 +16,7 @@
 		[page:MMDPhysics]。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/animations/MMDPhysics.html

@@ -16,7 +16,7 @@
 		计算加载模型的物理量。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/controls/ArcballControls.html

@@ -26,7 +26,7 @@
 		要使用此功能,与 /examples 目录中的所有文件一样,您必须将该文件单独包含在 HTML 中。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 2 - 2
docs/examples/zh/controls/DragControls.html

@@ -15,7 +15,7 @@
 		该类被用于提供一个拖放交互。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -146,7 +146,7 @@
 			Sets an array of draggable objects by overwriting the existing one.
 		</p>
 
-		<h2>Source</h2>
+		<h2>源代码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/DragControls.js examples/jsm/controls/DragControls.js]

+ 1 - 1
docs/examples/zh/controls/FirstPersonControls.html

@@ -14,7 +14,7 @@
 			该类是 [page:FlyControls] 的另一个实现。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/controls/FlyControls.html

@@ -15,7 +15,7 @@
 			你可以在3D空间中任意变换摄像机,并且无任何限制(例如,专注于一个特定的目标)。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/controls/MapControls.html

@@ -17,7 +17,7 @@
 		[name] 旨在从鸟瞰角度在地图上转换相机。该类与 [page:OrbitControls] 共享其实现,但使用特定的预设进行鼠标/触摸交互,并默认禁用屏幕空间平移。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 1 - 1
docs/examples/zh/controls/OrbitControls.html

@@ -17,7 +17,7 @@
 
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/controls/PointerLockControls.html

@@ -16,7 +16,7 @@
 		对于第一人称3D游戏来说, [name] 是一个非常完美的选择。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/controls/TrackballControls.html

@@ -18,7 +18,7 @@
 			</p>
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/controls/TransformControls.html

@@ -18,7 +18,7 @@
 			[name] 期望其所附加的3D对象是场景图的一部分。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/exporters/DRACOExporter.html

@@ -22,7 +22,7 @@
 		glTF 文件。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/exporters/EXRExporter.html

@@ -19,7 +19,7 @@
 		这个库在需要准确性的主机应用软件中广泛使用,如逼真渲染、纹理访问、图像合成、深度合成和数字中间处理。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/exporters/GLTFExporter.html

@@ -20,7 +20,7 @@
 		资产可以包含一个或多个场景,包括网格、材质、纹理、蒙皮、骨骼、变形目标、动画、灯光和/或相机。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/exporters/OBJExporter.html

@@ -17,7 +17,7 @@
 		[name] 不能将材质数据导出到 MTL 文件中,因此仅支持几何数据。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/exporters/PLYExporter.html

@@ -18,7 +18,7 @@
 		是一种用于高效传输和加载简单、静态的3D内容的文件格式,采用紧凑的格式。支持二进制和 ASCII 两种格式。PLY 可以存储顶点位置、颜色、法线和 UV 坐标。不保存纹理或纹理引用。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/exporters/STLExporter.html

@@ -17,7 +17,7 @@
 		和二进制两种表示方式,其中二进制表示更加紧凑。STL 文件不包含比例信息或索引,单位是任意的。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/geometries/ConvexGeometry.html

@@ -14,7 +14,7 @@
 		<p class="desc">[name] 可被用于为传入的一组点生成凸包。
 			该任务的平均时间复杂度被认为是O(nlog(n))。</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/geometries/DecalGeometry.html

@@ -13,7 +13,7 @@
 
 		<p class="desc">[name] 可被用于创建贴花网格物体,以达到不同的目的,例如:为模型增加独特的细节、进行动态的视觉环境改变或覆盖接缝。</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/geometries/ParametricGeometry.html

@@ -13,7 +13,7 @@
 
 		<p class="desc">生成由参数表示其表面的几何体。</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/geometries/SDFGeometryGenerator.html

@@ -17,7 +17,7 @@
 		使用 <a href="https://www.npmjs.com/package/isosurface" target="_blank"> Mikola Lysenko 的等值面。</a>
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 1 - 1
docs/examples/zh/geometries/TextGeometry.html

@@ -17,7 +17,7 @@
 				请参阅[page:FontLoader]页面来查看更多详细信息。
 			</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 2 - 2
docs/examples/zh/helpers/LightProbeHelper.html

@@ -15,7 +15,7 @@
 			在场景中渲染一个球来可视化光照探针。
 		<p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -63,7 +63,7 @@
 		<p>释放内部资源。</p>
 
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/LightProbeHelper.js examples/jsm/helpers/LightProbeHelper.js]

+ 1 - 1
docs/examples/zh/helpers/PositionalAudioHelper.html

@@ -13,7 +13,7 @@
 
 		<p class="desc">这一辅助对象显示[page:PositionalAudio]的方向锥。</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 2 - 2
docs/examples/zh/helpers/RectAreaLightHelper.html

@@ -15,7 +15,7 @@
 			创建一个表示 [page:RectAreaLight] 的辅助对象.
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -64,7 +64,7 @@
 		<h3>[method:undefined dispose]()</h3>
 		<p>销毁该区域光源辅助对象.</p>
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/RectAreaLightHelper.js examples/jsm/helpers/RectAreaLightHelper.js]

+ 2 - 2
docs/examples/zh/helpers/VertexNormalsHelper.html

@@ -17,7 +17,7 @@
 			使用了 [page:BufferGeometry.computeVertexNormals computeVertexNormals] 方法计算了顶点法线.<br /><br />
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -82,7 +82,7 @@
 		<p>基于对象的运动更新顶点法线辅助对象.</p>
 
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/helpers/VertexNormalsHelper.js examples/jsm/helpers/VertexNormalsHelper.js]

+ 1 - 1
docs/examples/zh/helpers/VertexTangentsHelper.html

@@ -18,7 +18,7 @@
 		computeTangents] 计算切线。<br /><br />
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 3 - 3
docs/examples/zh/lights/LightProbeGenerator.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh">
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
@@ -14,7 +14,7 @@
 			用于创建 [page:LightProbe] 实例的工具类。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -47,7 +47,7 @@
 			立方体渲染目标的 [page:Texture.format format] 必须被设为 *RGBA*。
 		</p>
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/lights/LightProbeGenerator.js examples/jsm/lights/LightProbeGenerator.js]

+ 1 - 1
docs/examples/zh/loaders/3DMLoader.html

@@ -19,7 +19,7 @@
 		编译为 WebAssembly 。加载器当前使用 [link:https://www.npmjs.com/package/rhino3dm/v/8.0.1 rhino3dm.js 8.0.1.]。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 2 - 2
docs/examples/zh/loaders/DRACOLoader.html

@@ -27,7 +27,7 @@
 			推荐创建一个DRACOLoader实例并重用,可以有效避免重复创建加载多个解压器实例。
 		</p>
 
-		<h2>Import</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name]是一个插件,必须显示引用。
@@ -150,7 +150,7 @@
 		[link:https://github.com/google/draco/issues/349 不能重新加载].
 		</p>
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/DRACOLoader.js examples/jsm/loaders/DRACOLoader.js]

+ 2 - 2
docs/examples/zh/loaders/FontLoader.html

@@ -18,7 +18,7 @@
 		你可以使用[link:https://gero3.github.io/facetype.js/ facetype.js]来在线转换字体。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -93,7 +93,7 @@
 		解析一个<em>JSON</em>>格式的对象,并返回一个font。
 		</p>
 
-		<h2>源</h2>
+		<h2>源代码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/FontLoader.js examples/jsm/loaders/FontLoader.js]

+ 1 - 1
docs/examples/zh/loaders/GLTFLoader.html

@@ -24,7 +24,7 @@
 			and they require special handling during the disposal process. More information in the [link:https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects How to dispose of objects] guide.
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/loaders/KTX2Loader.html

@@ -25,7 +25,7 @@
 		[link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm/libs/basis examples/jsm/libs/basis] 目录中获取。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/loaders/LDrawLoader.html

@@ -24,7 +24,7 @@
 	<p>库部件将通过子文件夹“parts”、“p” 和 “models” 中的反复试验来加载。这些文件访问对于 Web 环境来说并不是最佳的,因此我们制作了一个脚本工具来将 LDraw
 		文件及其所有依赖项打包到一个文件中,这样加载速度会更快。请参阅“打包 LDraw 模型”部分。LDrawLoader 示例加载多个打包文件。由于官方零件库较大,因此不包含在内。</p>
 
-	<h2>Import</h2>
+	<h2>导入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 84 - 0
docs/examples/zh/loaders/LUT3dlLoader.html

@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html lang="zh">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Loader] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			支持.3dl文件格式的3D LUT加载器。<br />
+			参考资料如下:
+		</p>
+
+		<ul>
+			<li>[link:http://download.autodesk.com/us/systemdocs/help/2011/lustre/index.html?url=./files/WSc4e151a45a3b785a24c3d9a411df9298473-7ffd.htm,topicNumber=d0e9492]</li>
+			<li>[link:https://community.foundry.com/discuss/topic/103636/format-spec-for-3dl?mode=Post&postID=895258]</li>
+		</ul>
+
+		<h2>导入</h2>
+
+		<p>
+			[name] 是一个附加组件,必须显式导入。
+			请参阅 [link:#manual/introduction/Installation Installation / Addons].
+		</p>
+
+		<code>
+			import { LUT3dlLoader } from 'three/addons/loaders/LUT3dlLoader.js';
+		</code>
+
+		<h2>构造函数</h2>
+
+		<h3>[name]( [param:LoadingManager manager] )</h3>
+		<p>
+			[page:LoadingManager manager] — 加载器所使用的[page:LoadingManager loadingManager]. 默认值为[page:DefaultLoadingManager DefaultLoadingManager]<br />
+		</p>
+		<p>
+			创建一个新的 [name].
+		</p>
+
+		<h2>属性</h2>
+		<p>共有属性请参见其基类[page:Loader]。</p>
+
+		<h2>方法</h2>
+		<p>共有方法请参见其基类[page:Loader]。</p>
+
+		<h3>[method:undefined load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
+		<p>
+			[page:String url] — `.3dl`格式的文件URL或者路径.<br />
+			[page:Function onLoad] — (可选) 加载成功完成后调用的函数。函数接收[page: function parse]方法的结果。<br />
+			[page:Function onProgress] — (可选) 在加载过程中调用的函数。参数将是XMLHttpRequest实例,它包含[page:Integer total]和[page:Integer loaded]字节。如果服务器没有设置Content-Length报头,[page:Integer total]将为0。<br />
+			[page:Function onError] — (可选) 在加载过程中发生错误时调用的函数。函数接收错误作为参数。<br />
+		</p>
+		<p>
+			开始从url加载并返回加载的LUT。
+		</p>
+
+		<h3>[method:Object parse]( [param:String input] )</h3>
+		<p>
+			[page:String input] — 3dl数据字符串。<br />
+		</p>
+		<p>
+			解析3dl数据字符串并在完成时触发[page:Function onLoad]回调。[page:Function onLoad]的参数将是一个[page:Object对象],包含以下LUT数据:[page:Number .size], [page:datattexture .texture]和[page:Data3DTexture .texture3d]。
+		</p>
+
+		<h3>[method:this setType]( [param:Number type] )</h3>
+		<p>
+			[page:Number type] - 纹理类型。详情请参阅[page:Textures纹理常量]页面。<br />
+		</p>
+		<p>
+			设置所需的纹理类型。支持[page:Textures THREE.UnsignedByteType]和[page:Textures THREE.FloatType]。默认为[page:Textures THREE.UnsignedByteType].
+		</p>
+
+		<h2>源代码</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/[name].js examples/jsm/loaders/[name].js]
+		</p>
+	</body>
+</html>

+ 83 - 0
docs/examples/zh/loaders/LUTCubeLoader.html

@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="zh">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Loader] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			一个支持.cube文件格式的3D LUT加载器。<br />
+			基于以下参考:
+		</p>
+
+		<ul>
+			<li>[link:https://wwwimages2.adobe.com/content/dam/acom/en/products/speedgrade/cc/pdfs/cube-lut-specification-1.0.pdf]</li>
+		</ul>
+
+		<h2>导入</h2>
+
+		<p>
+			[name]是一个附加组件,必须显式导入。
+			参见 [link:#manual/introduction/Installation Installation / Addons]。
+		</p>
+
+		<code>
+			import { LUTCubeLoader } from 'three/addons/loaders/LUTCubeLoader.js';
+		</code>
+
+		<h2>构造函数</h2>
+
+		<h3>[name]( [param:LoadingManager manager] )</h3>
+		<p>
+			[page:LoadingManager manager] — 要使用的加载管理器。默认值为[page:DefaultLoadingManager DefaultLoadingManager]<br />
+		</p>
+		<p>
+			创建一个新的[name]。
+		</p>
+
+		<h2>属性</h2>
+		<p>参见基础[page:Loader]类以获取公共属性。</p>
+
+		<h2>方法</h2>
+		<p>参见基础[page:Loader]类以获取公共方法。</p>
+
+		<h3>[method:undefined load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
+		<p>
+			[page:String url] — 包含 `.cube` 文件路径/URL 的字符串。<br />
+			[page:Function onLoad] — (可选的) 加载成功完成后要调用的函数。该函数接收 [page:Function parse] 方法的结果。<br />
+			[page:Function onProgress] — (可选的)加载过程中要调用的函数。参数将是 XMLHttpRequest 实例,其中包含 [page:Integer total] 和 [page:Integer loaded] 字节。如果服务器未设置 Content-Length 头部;则 [page:Integer total] 将为 0。<br />
+			[page:Function onError] — (可选的)加载过程中发生错误时要调用的函数。该函数将错误作为参数接收。<br />
+		</p>
+		<p>
+			从url开始加载并返回已加载的LUT。
+		</p>
+
+		<h3>[method:Object parse]( [param:String input] )</h3>
+		<p>
+			[page:String input] — cube数据字符串。<br />
+		</p>
+		<p>
+			解析一个 cube 数据字符串,并在解析完成时触发[page:Function onLoad]回调。传递给[page:Function onLoad]函数的参数将是一个[page:Object object],它包含以下LUT(查找表)数据:[page:String .title](标题),[page:Number .size](大小),[page:Vector3 .domainMin](域最小值),[page:Vector3 .domainMax](域最大值),[page:DataTexture .texture](纹理)和[page:Data3DTexture .texture3D](3D纹理)。 
+		</p>
+
+		<h3>[method:this setType]( [param:Number type] )</h3>
+		<p>
+			[page:Number type] - 纹理类型。详情请参见[page:Textures texture constants]页面。<br />
+		</p>
+		<p>
+			设置所需的纹理类型。仅支持[page:Textures THREE.UnsignedByteType](无符号字节类型)和[page:Textures THREE.FloatType](浮点类型)。默认是[page:Textures THREE.UnsignedByteType](无符号字节类型)。
+		</p>
+
+		<h2>源代码</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/[name].js examples/jsm/loaders/[name].js]
+		</p>
+	</body>
+</html>

+ 1 - 1
docs/examples/zh/loaders/MMDLoader.html

@@ -17,7 +17,7 @@
 
 		如果你想要MMD资源的原始内容,请使用.loadPMD/PMX/VMD/VPD方法。</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 2 - 2
docs/examples/zh/loaders/MTLLoader.html

@@ -16,7 +16,7 @@
 		用于描述一个或多个 .OBJ 文件中物体表面着色(材质)属性。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -80,7 +80,7 @@
 		</p>
 
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/[name].js examples/jsm/loaders/[name].js]

+ 2 - 2
docs/examples/zh/loaders/OBJLoader.html

@@ -17,7 +17,7 @@
 		将使每个多边形定义为顶点列表的面以及纹理顶点。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -109,7 +109,7 @@
 		设置由 MTLLoader 载入的材质,或是其它由 [page:MTLLoaderMaterialCreator MTLLoader.MaterialCreator] 提供的材质。
 		</p>
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/OBJLoader.js examples/jsm/loaders/OBJLoader.js]

+ 2 - 2
docs/examples/zh/loaders/PCDLoader.html

@@ -22,7 +22,7 @@
 			</ul>
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -114,7 +114,7 @@
 		该 Object3D 实例实际类型为 [page:Points],由一个 [page:BufferGeometry] 实例和一个 [page:PointsMaterial] 实例作为参数构造而成。
 		</p>
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/PCDLoader.js examples/jsm/loaders/PCDLoader.js]

+ 1 - 1
docs/examples/zh/loaders/PDBLoader.html

@@ -17,7 +17,7 @@
 		[link:http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format) 蛋白质数据库] 文件格式是描述分子三​​维结构的文本文件。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 2 - 2
docs/examples/zh/loaders/SVGLoader.html

@@ -15,7 +15,7 @@
 		[link:https://en.wikipedia.org/wiki/Scalable_Vector_Graphics 可伸缩向量图形]是XML形式的矢量图形格式,用来描述二维矢量图形并支持交互和动画。
 		</p>
 
-		<h2>引用</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name]是附加功能,必须显示引用。
@@ -126,7 +126,7 @@
 			返回一个或多个基于[param:ShapePath shape]的[page:Shape]对象,并作为该函数的一个参数返回。
 		</p>
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/SVGLoader.js examples/jsm/loaders/SVGLoader.js]

+ 2 - 2
docs/examples/zh/loaders/TGALoader.html

@@ -15,7 +15,7 @@
 		[link:https://en.wikipedia.org/wiki/Truevision_TGA TGA]是光栅图形,图形文件格式。
 		</p>
 
-		<h2>引用</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name]是附加项,必须显示的引用。请参考[link:#manual/introduction/Installation Installation / Addons]。
@@ -94,7 +94,7 @@
 			开始加载[page:DataTexture texture]并传递给onLoad。即时引用会将[page:DataTexture texture]直接返回(不一定加载完成)。
 		</p>
 
-		<h2>源码</h2>
+		<h2>源码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/TGALoader.js examples/jsm/loaders/TGALoader.js]

+ 1 - 1
docs/examples/zh/math/Lut.html

@@ -15,7 +15,7 @@
 		表示色彩映射的查找表。它用于从一系列数据值中确定颜色值。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/math/MeshSurfaceSampler.html

@@ -15,7 +15,7 @@
 
 	<p>加权采样对于诸如地形的特定区域内更浓密的植被生长或来自网格特定部分的浓缩粒子排放等效果非常有用。顶点权重可以通过编程方式编写,也可以在 3D 工具(如 Blender)中作为顶点颜色手工绘制。</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 1 - 1
docs/examples/zh/math/OBB.html

@@ -15,7 +15,7 @@
 		表示三维空间中的定向包围盒(OBB)。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/math/convexhull/ConvexHull.html

@@ -16,7 +16,7 @@
 		[link:http://media.steampowered.com/apps/valve/2014/DirkGregorius_ImplementingQuickHull.pdf Implementing QuickHull]
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 1 - 1
docs/examples/zh/math/convexhull/Face.html

@@ -15,7 +15,7 @@
 		表示由特定数量的半边界定的部分。当前的实现假设一个面始终由三个边组成。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 1 - 1
docs/examples/zh/math/convexhull/HalfEdge.html

@@ -15,7 +15,7 @@
 		半边数据结构的基础,也被称为双连通边列表 (DCEL)。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 1 - 1
docs/examples/zh/math/convexhull/VertexList.html

@@ -15,7 +15,7 @@
 		顶点的双向链表。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/math/convexhull/VertexNode.html

@@ -15,7 +15,7 @@
 		一个顶点作为双链表节点。
 	</p>
 
-	<h2>Import</h2>
+	<h2>导入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 1 - 1
docs/examples/zh/misc/Timer.html

@@ -22,7 +22,7 @@
 	</ul>
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 68 - 0
docs/examples/zh/modifiers/EdgeSplitModifier.html

@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="zh">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name] 的设计目的是通过“溶解”边缘来修改几何体,使其看起来更加平滑。
+		</p>
+
+		<h2>导入</h2>
+
+		<p>
+			[name]是一个附加组件,必须显式导入。
+			参见 [link:#manual/introduction/Installation Installation / Addons].
+		</p>
+
+		<code>
+			import { EdgeSplitModifier } from 'three/addons/modifiers/EdgeSplitModifier.js';
+		</code>
+
+		<h2>代码示例</h2>
+
+		<code>
+			const geometry = new THREE.IcosahedronGeometry( 10, 3 );<br />
+			const modifier = new EdgeSplitModifier();<br />
+			const cutOffAngle = 0.5;<br />
+			const tryKeepNormals = false;<br />
+			<br />
+			modifier.modify( geometry, cutOffAngle, tryKeepNormals );
+		</code>
+
+		<h2>示例</h2>
+
+		<p>[example:webgl_modifier_edgesplit misc / modifiers / EdgeSplit ]</p>
+
+		<h2>构造函数</h2>
+
+		<h3>[name]()</h3>
+		<p>
+			创建一个新的[name]对象。
+		</p>
+
+		<h2>方法</h2>
+
+		<h3>[method:undefined modify]( [param:geometry], [param:cutOffAngle], [param:tryKeepNormals] )</h3>
+		<p>
+			使用插值的顶点法线,网格的面会在边缘处变得模糊,从而呈现出平滑的外观。<br />
+
+			您可以通过设置 `cutOffAngle` 来控制平滑度。<br />
+
+			如果希望尝试保留原始法线,请将 `tryKeepNormals` 设置为 `true`。
+
+		</p>
+
+		<h2>源代码</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/modifiers/EdgeSplitModifier.js examples/jsm/modifiers/EdgeSplitModifier.js]
+		</p>
+	</body>
+</html>

+ 2 - 0
docs/examples/zh/objects/Lensflare.html

@@ -15,6 +15,8 @@
 			创建一个模拟追踪着灯光的镜头光晕。 [name] can only be used when setting the *alpha* context parameter of [page:WebGLRenderer] to *true*.
 		</p>
 
+		<h2>导入</h2>
+
 		<p>
 			[name] 是一个附加组件,必须显式导入。
 			See [link:#manual/introduction/Installation Installation / Addons].

+ 91 - 0
docs/examples/zh/objects/Sky.html

@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<html lang="zh">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Mesh] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name]为你的场景创建了一个准备就绪的天空环境。
+		</p>
+
+		<h2>导入</h2>
+
+		<p>
+			[name] 是一个插件,因此必须明确导入。
+			参见[link:#manual/introduction/Installation Installation / Addons].
+		</p>
+
+		<code>
+			import { Sky } from 'three/addons/objects/Sky.js';
+		</code>
+
+		<h2>代码示例</h2>
+
+		<code>
+		const sky = new Sky();<br />
+		sky.scale.setScalar( 450000 );<br />
+
+		const phi = MathUtils.degToRad( 90 );<br />
+		const theta = MathUtils.degToRad( 180 );<br />
+		const sunPosition = new Vector3().setFromSphericalCoords( 1, phi, theta );<br />
+
+		sky.material.uniforms.sunPosition.value = sunPosition;<br />
+
+		scene.add( sky );
+		</code>
+
+		<h2>示例</h2>
+
+		<p>[example:webgl_shaders_sky misc / objects / Sky ]</p>
+
+		<h2>构造函数</h2>
+
+		<h3>[name]()</h3>
+		<p>
+		创建一个[name]实例。
+		</p>
+
+		<h2>属性</h2>
+		<p>
+		[name]实例是一个带有预定义的 [page:ShaderMaterial]材质的[page:Mesh]模型, 因此这里描述的每个属性都应该使用[page:Uniform]s.
+		</p>
+
+		<h3>[property:Number turbidity]</h3>
+		<p>
+		[name]的浑浊度
+		</p>
+		<h3>[property:Number rayleigh]</h3>
+		<p>
+			更详细的解释参见: [link:https://en.wikipedia.org/wiki/Rayleigh_scattering Rayleigh scattering] .
+		</p>
+		<h3>[property:Number mieCoefficient]</h3>
+		<p>
+		[link:https://en.wikipedia.org/wiki/Mie_scattering Mie scattering]数量。
+		</p> 
+		<h3>[property:Number mieDirectionalG]</h3>
+		<p>
+		[link:https://en.wikipedia.org/wiki/Mie_scattering Mie scattering]方向
+		</p>
+		<h3>[property:Vector3 sunPosition]</h3>
+		<p>
+		太阳的位置。
+		</p>
+		<h3>[property:Vector3 up]</h3>
+		<p>
+			太阳从地平线升起的角度,以度为单位。
+		</p>
+
+		<h2>源代码</h2>
+
+		<p>
+		[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/objects/Sky.js examples/jsm/objects/Sky.js]
+		</p>
+	</body>
+</html>

+ 1 - 1
docs/examples/zh/postprocessing/EffectComposer.html

@@ -15,7 +15,7 @@
 			后期处理过程根据它们添加/插入的顺序来执行,最后一个过程会被自动渲染到屏幕上。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/renderers/CSS2DRenderer.html

@@ -14,7 +14,7 @@
 			`[name]` only supports 100% browser and display zoom.
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/renderers/CSS3DRenderer.html

@@ -24,7 +24,7 @@
 			因此,[name]仅仅关注普通的DOM元素,这些元素被包含到了特殊的对象中(*CSS3DObject*或者*CSS3DSprite*),然后被加入到场景图中。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/renderers/SVGRenderer.html

@@ -33,7 +33,7 @@
 			</ul>
 		</div>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 2 - 2
docs/examples/zh/utils/BufferGeometryUtils.html

@@ -13,7 +13,7 @@
 		一个包含 [page:BufferGeometry BufferGeometry] 实例的实用方法的类。
 		</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。
@@ -143,7 +143,7 @@
 		Returns a new indexed geometry based on `THREE.TrianglesDrawMode` draw mode. This mode corresponds to the `gl.TRIANGLES` WebGL primitive.
 		</p>
 
-		<h2>Source</h2>
+		<h2>源代码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/utils/BufferGeometryUtils.js examples/jsm/utils/BufferGeometryUtils.js]

+ 1 - 1
docs/examples/zh/utils/CameraUtils.html

@@ -15,7 +15,7 @@
 		包含用于相机操作的有用实用函数的类。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons].

+ 1 - 1
docs/examples/zh/utils/SceneUtils.html

@@ -11,7 +11,7 @@
 
 		<p class="desc">一个用于操控场景的实用类。</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/utils/SkeletonUtils.html

@@ -11,7 +11,7 @@
 
 		<p class="desc">用于操控 [page:Skeleton]、 [page:SkinnedMesh]、和 [page:Bone] 的实用方法。</p>
 
-		<h2>进口</h2>
+		<h2>导入</h2>
 
 		<p>
 			[name] 是一个附加组件,必须显式导入。

+ 1 - 1
docs/examples/zh/webxr/XREstimatedLight.html

@@ -26,7 +26,7 @@
 		要使用它,就像 /examples 目录中的所有文件一样,您必须在HTML中单独包含该文件。
 	</p>
 
-	<h2>入</h2>
+	<h2>入</h2>
 
 	<p>
 		[name] 是一个附加组件,必须显式导入。请参阅 [link:#manual/introduction/Installation Installation / Addons]。

+ 15 - 5
docs/list.json

@@ -103,7 +103,8 @@
 				"Earcut": "api/en/extras/Earcut",
 				"ImageUtils": "api/en/extras/ImageUtils",
 				"PMREMGenerator": "api/en/extras/PMREMGenerator",
-				"ShapeUtils": "api/en/extras/ShapeUtils"
+				"ShapeUtils": "api/en/extras/ShapeUtils",
+				"TextureUtils": "api/en/extras/TextureUtils"
 			},
 
 			"Extras / Core": {
@@ -343,8 +344,9 @@
 				"ConvexGeometry": "examples/en/geometries/ConvexGeometry",
 				"DecalGeometry": "examples/en/geometries/DecalGeometry",
 				"ParametricGeometry": "examples/en/geometries/ParametricGeometry",
-				"TextGeometry": "examples/en/geometries/TextGeometry",
-				"SDFGeometryGenerator": "examples/en/geometries/SDFGeometryGenerator"
+				"SDFGeometryGenerator": "examples/en/geometries/SDFGeometryGenerator",
+				"TeapotGeometry": "examples/en/geometries/TeapotGeometry",
+				"TextGeometry": "examples/en/geometries/TextGeometry"
 			},
 
 			"Helpers": {
@@ -1117,17 +1119,20 @@
 				"GLTFLoader": "examples/zh/loaders/GLTFLoader",
 				"KTX2Loader": "examples/zh/loaders/KTX2Loader",
 				"LDrawLoader": "examples/zh/loaders/LDrawLoader",
+				"LUT3dlLoader": "examples/zh/loaders/LUT3dlLoader",
+				"LUTCubeLoader": "examples/zh/loaders/LUTCubeLoader",
 				"MMDLoader": "examples/zh/loaders/MMDLoader",
 				"MTLLoader": "examples/zh/loaders/MTLLoader",
 				"OBJLoader": "examples/zh/loaders/OBJLoader",
 				"PCDLoader": "examples/zh/loaders/PCDLoader",
-				"PDBLoader": "examples/en/loaders/PDBLoader",
+				"PDBLoader": "examples/zh/loaders/PDBLoader",
 				"SVGLoader": "examples/zh/loaders/SVGLoader",
 				"TGALoader": "examples/zh/loaders/TGALoader"
 			},
 
 			"物体": {
-				"Lensflare": "examples/zh/objects/Lensflare"
+				"Lensflare": "examples/zh/objects/Lensflare",
+				"Sky": "examples/zh/objects/Sky"
 			},
 
 			"后期处理": {
@@ -1149,6 +1154,10 @@
 				"OBB": "examples/zh/math/OBB"
 			},
 
+			"修改器":{
+				"EdgeSplitModifier": "examples/zh/modifiers/EdgeSplitModifier"
+			},
+
 			"杂项": {
 				"Timer": "examples/zh/misc/Timer"
 			},
@@ -1345,6 +1354,7 @@
 		"Addons": {
 
 			"컨트롤": {
+				"ArcballControls": "examples/ko/controls/ArcballControls",
 				"DragControls": "examples/ko/controls/DragControls",
 				"FirstPersonControls": "examples/ko/controls/FirstPersonControls",
 				"FlyControls": "examples/ko/controls/FlyControls",

+ 1 - 1
docs/manual/ar/introduction/Useful-links.html

@@ -48,7 +48,7 @@
 				[link:https://medium.com/soffritti.pierfrancesco/glossy-spheres-in-three-js-bfd2785d4857 Glossy spheres in three.js].
 			</li>
 		 <li>
-			 [link:https://www.udacity.com/course/cs291 Interactive 3D Graphics] - دورة مجانية على Udacity تُعلِّم أساسيات الرسومات ثلاثية الأبعاد ، وتستخدم three.js كأداة تشفير لها.
+			 [link:https://www.udacity.com/course/interactive-3d-graphics--cs291 Interactive 3D Graphics] - دورة مجانية على Udacity تُعلِّم أساسيات الرسومات ثلاثية الأبعاد ، وتستخدم three.js كأداة تشفير لها.
 		 </li>
 		 <li>
 			[Link:https://aerotwist.com/tutorials/ Aerotwist] tutorials by [link:https://github.com/paullewis/ Paul Lewis].

+ 3 - 3
docs/manual/ar/introduction/WebGL-compatibility-check.html

@@ -9,7 +9,7 @@
 	<body class="rtl">
 		<h1>فحص توافق WebGL</h1>
 		<p>
-			على الرغم من أن هذه المشكلة أصبحت أقل وأقل ، إلا أن بعض الأجهزة أو المتصفحات قد لا تدعم WebGL.
+			على الرغم من أن هذه المشكلة أصبحت أقل وأقل ، إلا أن بعض الأجهزة أو المتصفحات قد لا تدعم WebGL 2.
 			تتيح لك الطريقة التالية التحقق مما إذا كانت مدعومة وعرض رسالة للمستخدم إذا لم تكن مدعومة.
 			قم باستيراد وحدة الكشف عن دعم WebGL ، وقم بتشغيل ما يلي قبل محاولة عرض أي شيء.
 		</p>
@@ -17,14 +17,14 @@
 		<code>
 		import WebGL from 'three/addons/capabilities/WebGL.js';
 
-		if ( WebGL.isWebGLAvailable() ) {
+		if ( WebGL.isWebGL2Available() ) {
 
 			// Initiate function or other initializations here
 			animate();
 
 		} else {
 
-			const warning = WebGL.getWebGLErrorMessage();
+			const warning = WebGL.getWebGL2ErrorMessage();
 			document.getElementById( 'container' ).appendChild( warning );
 
 		}

+ 1 - 1
docs/manual/en/introduction/Useful-links.html

@@ -55,7 +55,7 @@
 				[link:https://medium.com/soffritti.pierfrancesco/glossy-spheres-in-three-js-bfd2785d4857 Glossy spheres in three.js].
 			</li>
 		 <li>
-			 [link:https://www.udacity.com/course/cs291 Interactive 3D Graphics] - a free course on Udacity that teaches the fundamentals of 3D Graphics,
+			 [link:https://www.udacity.com/course/interactive-3d-graphics--cs291 Interactive 3D Graphics] - a free course on Udacity that teaches the fundamentals of 3D Graphics,
 			 and uses three.js as its coding tool.
 		 </li>
 		 <li>

+ 3 - 3
docs/manual/en/introduction/WebGL-compatibility-check.html

@@ -9,7 +9,7 @@
 	<body>
 		<h1>[name]</h1>
 		<p>
-			Even though this is becoming less and less of a problem, some devices or browsers may still not support WebGL.
+			Even though this is becoming less and less of a problem, some devices or browsers may still not support WebGL 2.
 			The following method allows you to check if it is supported and display a message to the user if it is not.
 			Import the WebGL support detection module, and run the following before attempting to render anything.
 		</p>
@@ -17,14 +17,14 @@
 		<code>
 		import WebGL from 'three/addons/capabilities/WebGL.js';
 
-		if ( WebGL.isWebGLAvailable() ) {
+		if ( WebGL.isWebGL2Available() ) {
 
 			// Initiate function or other initializations here
 			animate();
 
 		} else {
 
-			const warning = WebGL.getWebGLErrorMessage();
+			const warning = WebGL.getWebGL2ErrorMessage();
 			document.getElementById( 'container' ).appendChild( warning );
 
 		}

Some files were not shown because too many files changed in this diff