Mr.doob 2 years ago
parent
commit
ed993256bb
100 changed files with 6989 additions and 4468 deletions
  1. 1482 1459
      build/three.cjs
  2. 1483 1459
      build/three.js
  3. 1 0
      build/three.min.js
  4. 1482 1459
      build/three.module.js
  5. 1 1
      docs/api/ar/audio/Audio.html
  6. 1 1
      docs/api/en/audio/Audio.html
  7. 9 0
      docs/api/en/materials/Material.html
  8. 1 1
      docs/api/en/math/Ray.html
  9. 5 0
      docs/api/en/scenes/Fog.html
  10. 5 0
      docs/api/en/scenes/FogExp2.html
  11. 10 6
      docs/api/en/textures/CompressedArrayTexture.html
  12. 5 0
      docs/api/en/textures/CompressedTexture.html
  13. 97 9
      docs/api/en/textures/Data3DTexture.html
  14. 57 5
      docs/api/en/textures/DataArrayTexture.html
  15. 2 2
      docs/api/en/textures/DataTexture.html
  16. 50 0
      docs/api/en/textures/FramebufferTexture.html
  17. 5 0
      docs/api/en/textures/Source.html
  18. 1 1
      docs/api/fr/audio/Audio.html
  19. 1 1
      docs/api/it/audio/Audio.html
  20. 9 0
      docs/api/it/materials/Material.html
  21. 1 1
      docs/api/it/math/Ray.html
  22. 5 0
      docs/api/it/scenes/Fog.html
  23. 6 0
      docs/api/it/scenes/FogExp2.html
  24. 1 1
      docs/api/it/textures/DataArrayTexture.html
  25. 1 1
      docs/api/it/textures/DataTexture.html
  26. 5 0
      docs/api/it/textures/Source.html
  27. 1 1
      docs/api/ko/audio/Audio.html
  28. 51 0
      docs/api/ko/constants/BufferAttributeUsage.html
  29. 75 0
      docs/api/ko/geometries/BoxGeometry.html
  30. 74 0
      docs/api/ko/geometries/CapsuleGeometry.html
  31. 75 0
      docs/api/ko/geometries/CircleGeometry.html
  32. 73 0
      docs/api/ko/geometries/ConeGeometry.html
  33. 74 0
      docs/api/ko/geometries/CylinderGeometry.html
  34. 59 0
      docs/api/ko/geometries/DodecahedronGeometry.html
  35. 55 0
      docs/api/ko/geometries/EdgesGeometry.html
  36. 111 0
      docs/api/ko/geometries/ExtrudeGeometry.html
  37. 58 0
      docs/api/ko/geometries/IcosahedronGeometry.html
  38. 77 0
      docs/api/ko/geometries/LatheGeometry.html
  39. 58 0
      docs/api/ko/geometries/OctahedronGeometry.html
  40. 70 0
      docs/api/ko/geometries/PlaneGeometry.html
  41. 67 0
      docs/api/ko/geometries/PolyhedronGeometry.html
  42. 73 0
      docs/api/ko/geometries/RingGeometry.html
  43. 83 0
      docs/api/ko/geometries/ShapeGeometry.html
  44. 78 0
      docs/api/ko/geometries/SphereGeometry.html
  45. 59 0
      docs/api/ko/geometries/TetrahedronGeometry.html
  46. 71 0
      docs/api/ko/geometries/TorusGeometry.html
  47. 74 0
      docs/api/ko/geometries/TorusKnotGeometry.html
  48. 111 0
      docs/api/ko/geometries/TubeGeometry.html
  49. 56 0
      docs/api/ko/geometries/WireframeGeometry.html
  50. 1 1
      docs/api/pt-br/audio/Audio.html
  51. 1 1
      docs/api/zh/audio/Audio.html
  52. 13 4
      docs/api/zh/materials/Material.html
  53. 1 1
      docs/api/zh/math/Ray.html
  54. 5 0
      docs/api/zh/scenes/Fog.html
  55. 6 0
      docs/api/zh/scenes/FogExp2.html
  56. 1 1
      docs/api/zh/textures/DataTexture.html
  57. 10 5
      docs/api/zh/textures/Source.html
  58. 11 0
      docs/examples/en/animations/CCDIKSolver.html
  59. 11 0
      docs/examples/en/animations/MMDAnimationHelper.html
  60. 11 0
      docs/examples/en/animations/MMDPhysics.html
  61. 10 0
      docs/examples/en/controls/ArcballControls.html
  62. 12 1
      docs/examples/en/controls/DragControls.html
  63. 11 0
      docs/examples/en/controls/FirstPersonControls.html
  64. 11 0
      docs/examples/en/controls/FlyControls.html
  65. 18 3
      docs/examples/en/controls/OrbitControls.html
  66. 13 2
      docs/examples/en/controls/PointerLockControls.html
  67. 11 0
      docs/examples/en/controls/TrackballControls.html
  68. 11 0
      docs/examples/en/controls/TransformControls.html
  69. 11 0
      docs/examples/en/exporters/ColladaExporter.html
  70. 85 0
      docs/examples/en/exporters/DRACOExporter.html
  71. 11 0
      docs/examples/en/exporters/EXRExporter.html
  72. 20 1
      docs/examples/en/exporters/GLTFExporter.html
  73. 13 3
      docs/examples/en/exporters/OBJExporter.html
  74. 11 0
      docs/examples/en/exporters/PLYExporter.html
  75. 75 0
      docs/examples/en/exporters/STLExporter.html
  76. 15 2
      docs/examples/en/geometries/ConvexGeometry.html
  77. 15 1
      docs/examples/en/geometries/DecalGeometry.html
  78. 11 14
      docs/examples/en/geometries/ParametricGeometry.html
  79. 8 13
      docs/examples/en/geometries/TextGeometry.html
  80. 11 0
      docs/examples/en/helpers/LightProbeHelper.html
  81. 11 0
      docs/examples/en/helpers/PositionalAudioHelper.html
  82. 11 0
      docs/examples/en/helpers/RectAreaLightHelper.html
  83. 11 0
      docs/examples/en/helpers/VertexNormalsHelper.html
  84. 11 0
      docs/examples/en/helpers/VertexTangentsHelper.html
  85. 11 0
      docs/examples/en/lights/LightProbeGenerator.html
  86. 15 4
      docs/examples/en/loaders/3DMLoader.html
  87. 11 0
      docs/examples/en/loaders/DRACOLoader.html
  88. 11 0
      docs/examples/en/loaders/FontLoader.html
  89. 11 0
      docs/examples/en/loaders/GLTFLoader.html
  90. 12 1
      docs/examples/en/loaders/KTX2Loader.html
  91. 10 0
      docs/examples/en/loaders/LDrawLoader.html
  92. 12 1
      docs/examples/en/loaders/MMDLoader.html
  93. 11 0
      docs/examples/en/loaders/MTLLoader.html
  94. 11 0
      docs/examples/en/loaders/OBJLoader.html
  95. 11 0
      docs/examples/en/loaders/PCDLoader.html
  96. 11 0
      docs/examples/en/loaders/PDBLoader.html
  97. 11 0
      docs/examples/en/loaders/PRWMLoader.html
  98. 11 0
      docs/examples/en/loaders/SVGLoader.html
  99. 11 0
      docs/examples/en/loaders/TGALoader.html
  100. 12 1
      docs/examples/en/math/Lut.html

File diff suppressed because it is too large
+ 1482 - 1459
build/three.cjs


File diff suppressed because it is too large
+ 1483 - 1459
build/three.js


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


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


+ 1 - 1
docs/api/ar/audio/Audio.html

@@ -89,7 +89,7 @@
 		<h3>[property:Number duration]</h3>
 		<p>يتجاوز مدة الصوت. مثل المعلمة *duration* لـ[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). الافتراضي هو *undefined* لتشغيل المخزن المؤقت بالكامل.</p>
 
-		<h3>[property:String source]</h3>
+		<h3>[property:AudioNode source]</h3>
 		<p>[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode]  تم إنشاؤها باستخدام [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().</p>
 
 		<h3>[property:String sourceType]</h3>

+ 1 - 1
docs/api/en/audio/Audio.html

@@ -91,7 +91,7 @@
 		<h3>[property:Number duration]</h3>
 		<p>Overrides the duration of the audio. Same as the `duration` parameter of [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). Default is `undefined` to play the whole buffer.</p>
 
-		<h3>[property:String source]</h3>
+		<h3>[property:AudioNode source]</h3>
 		<p>An [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] created
 		using [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().</p>
 

+ 9 - 0
docs/api/en/materials/Material.html

@@ -128,6 +128,15 @@
 		When drawing 2D overlays it can be useful to disable the depth writing in order to layer several things together without creating z-index artifacts.
 		</p>
 
+		<h3>[property:Boolean forceSinglePass]</h3>
+		<p>
+		Whether double-sided, transparent objects should be rendered with a single pass or not. Default is `false`.<br /><br />
+
+		The engine renders double-sided, transparent objects with two draw calls (back faces first, then front faces) to mitigate transparency artifacts.
+		There are scenarios however where this approach produces no quality gains but still doubles draw calls e.g. when rendering flat vegetation like grass sprites. 
+		In these cases, set the `forceSinglePass` flag to `false` to disable the two pass rendering to avoid performance issues.
+		</p>
+
 		<h3>[property:Boolean isMaterial]</h3>
 		<p>
 			Read-only flag to check if a given object is of type [name].

+ 1 - 1
docs/api/en/math/Ray.html

@@ -196,7 +196,7 @@
 		<h3>[method:this set]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
 		<p>
 		[page:Vector3 origin] - the [page:.origin origin] of the [page:Ray].<br />
-		[page:Vector3 origin] - the [page:.direction direction] of the [page:Ray].
+		[page:Vector3 direction] - the [page:.direction direction] of the [page:Ray].
 		This must be normalized (with [page:Vector3.normalize]) for the methods to operate
 		properly.<br /><br />
 

+ 5 - 0
docs/api/en/scenes/Fog.html

@@ -11,6 +11,11 @@
 
 		<p class="desc">This class contains the parameters that define linear fog, i.e., that grows linearly denser with the distance.</p>
 
+		<h2>Code Example</h2>
+
+		<code>const scene = new THREE.Scene();
+		scene.fog = new THREE.Fog( 0xcccccc, 10, 15 );
+		</code>
 
 		<h2>Constructor</h2>
 

+ 5 - 0
docs/api/en/scenes/FogExp2.html

@@ -11,6 +11,11 @@
 
 		<p class="desc">This class contains the parameters that define exponential squared fog, which gives a clear view near the camera and a faster than exponentially densening fog farther from the camera.</p>
 
+		<h2>Code Example</h2>
+
+		<code>const scene = new THREE.Scene();
+		scene.fog = new THREE.FogExp2( 0xcccccc, 0.002 );
+		</code>
 
 		<h2>Constructor</h2>
 

+ 10 - 6
docs/api/en/textures/CompressedArrayTexture.html

@@ -39,7 +39,6 @@
 
 		[page:Constant type] -- Default is [page:Textures THREE.UnsignedByteType].
 		See [page:Textures type constants] for other choices.<br />
-
 		</p>
 
 
@@ -49,10 +48,15 @@
 
 		<h3>[property:number wrapR]</h3>
 		<p>
-		This defines how the texture is wrapped in the depth direction.<br />
-		The default is [page:Textures THREE.ClampToEdgeWrapping], where the edge is clamped to the outer edge texels.
-		The other two choices are [page:Textures THREE.RepeatWrapping] and [page:Textures THREE.MirroredRepeatWrapping].
-		See the [page:Textures texture constants] page for details.
+			This defines how the texture is wrapped in the depth direction.<br />
+			The default is [page:Textures THREE.ClampToEdgeWrapping], where the edge is clamped to the outer edge texels.
+			The other two choices are [page:Textures THREE.RepeatWrapping] and [page:Textures THREE.MirroredRepeatWrapping].
+			See the [page:Textures texture constants] page for details.
+		</p>
+
+		<h3>[property:Object image]</h3>
+		<p>
+			Overridden with a object containing width, height, and depth.
 		</p>
 
 		<h3>[property:Boolean isCompressedArrayTexture]</h3>
@@ -63,7 +67,7 @@
 		<h2>Methods</h2>
 
 		<p>
-		See the base [page:CompressedTexture CompressedTexture] class for common methods.
+			See the base [page:CompressedTexture CompressedTexture] class for common methods.
 		</p>
 
 		<h2>Source</h2>

+ 5 - 0
docs/api/en/textures/CompressedTexture.html

@@ -75,6 +75,11 @@
 			False by default. Mipmaps can't be generated for compressed textures
 		</p>
 
+		<h3>[property:Object image]</h3>
+		<p>
+			Overridden with a object containing width and height.
+		</p>
+
 		<h3>[property:Boolean isCompressedTexture]</h3>
 		<p>
 			Read-only flag to check if a given object is of type [name].

+ 97 - 9
docs/api/en/textures/Data3DTexture.html

@@ -11,13 +11,16 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">Creates a three-dimensional texture. This type of texture can only be used with a WebGL 2 rendering context.</p>
+		<p class="desc">
+			Creates a three-dimensional texture from raw data, with parameters to divide it into width, height, and depth. 
+			This type of texture can only be used with a WebGL 2 rendering context.
+		</p>
 
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:TypedArray data], [param:Number width], [param:Number height], [param:Number depth] )</h3>
 		<p>
-			[page:Object data] -- data of the texture.<br />
+			[page:Object data] -- [link:https://developer.mozilla.org/en-US/docs/Web/API/ArrayBufferView ArrayBufferView] of the texture.<br />
 
 			[page:Number width] -- width of the texture.<br />
 
@@ -26,30 +29,115 @@
 			[page:Number depth] -- depth of the texture.
 		</p>
 
+		<h2>Code Example</h2>
+
+		<p>This creates a [name] with repeating data, 0 to 255</p>
+
+		<code>
+		// create a buffer with some data
+
+		const sizeX = 64;
+		const sizeY = 64;
+		const sizeZ = 64;
+
+		const data = new Uint8Array( sizeX * sizeY * sizeZ );
+
+		let i = 0;
+
+		for ( let z = 0; z < sizeZ; z ++ ) {
+
+			for ( let y = 0; y < sizeY; y ++ ) {
+
+				for ( let x = 0; x < sizeX; x ++ ) {
+
+					data[ i ] = i % 256;
+
+					i ++;
+
+				}
+
+			}
+
+		}
+
+		// use the buffer to create the texture
+
+		const texture = new THREE.Data3DTexture( data, sizeX, sizeY, sizeZ );
+		texture.needsUpdate = true;
+		</code>
+
 		<h2>Examples</h2>
 
 		<p>
-			[example:webgl2_materials_texture3d WebGL2 / materials / texture3d]
+			[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]
 		</p>
 
 		<h2>Properties</h2>
 
 		<p>
-		See the base [page:Texture Texture] class for common properties.
+			See the base [page:Texture Texture] class for common properties.
+		</p>
+
+		<h3>[property:Boolean flipY]</h3>
+		<p>
+			Whether the texture is flipped along the Y axis when uploaded to the GPU. Default is `false`.
+		</p>
+	
+		<h3>[property:Boolean generateMipmaps]</h3>
+		<p>
+			Whether to generate mipmaps (if possible) for the texture. Default is `false`.
+		</p>
+
+		<h3>[property:Image image]</h3>
+		<p>
+			Overridden with a record type holding data, width and height and depth.
+		</p>
+
+		<h3>[property:Boolean isData3DTexture]</h3>
+		<p>
+			Read-only flag to check if a given object is of type [name].
+		</p>
+
+		<h3>[property:number magFilter]</h3>
+		<p>
+			How the texture is sampled when a texel covers more than one pixel. The default is
+		 	[page:Textures THREE.NearestFilter], which uses the value of the closest texel.<br /><br />
+		 
+			See the [page:Textures texture constants] page for details.
+		</p>
+
+		<h3>[property:number minFilter]</h3>
+		<p>
+			How the texture is sampled when a texel covers less than one pixel. The default is
+			[page:Textures THREE.NearestFilter], which uses the value of the closest texel.<br /><br />
+
+			See the [page:Textures texture constants] page for details.
+		</p>
+
+		<h3>[property:number unpackAlignment]</h3>
+		<p>
+			1 by default. Specifies the alignment requirements for the start of each pixel row in memory.
+			The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes),
+			4 (word-alignment), and 8 (rows start on double-word boundaries).
+			See [link:https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glPixelStorei.xhtml glPixelStorei]
+			for more information.
 		</p>
 
 		<h3>[property:number wrapR]</h3>
 		<p>
-		This defines how the texture is wrapped in the depth direction.<br />
-		The default is [page:Textures THREE.ClampToEdgeWrapping], where the edge is clamped to the outer edge texels.
-		The other two choices are [page:Textures THREE.RepeatWrapping] and [page:Textures THREE.MirroredRepeatWrapping].
-		See the [page:Textures texture constants] page for details.
+			This defines how the texture is wrapped in the depth direction.<br />
+			The default is [page:Textures THREE.ClampToEdgeWrapping], where the edge is clamped to the outer edge texels.
+			The other two choices are [page:Textures THREE.RepeatWrapping] and [page:Textures THREE.MirroredRepeatWrapping].
+			See the [page:Textures texture constants] page for details.
 		</p>
 
 		<h2>Methods</h2>
 
 		<p>
-		See the base [page:Texture Texture] class for common methods.
+			See the base [page:Texture Texture] class for common methods.
 		</p>
 
 		<h2>Source</h2>

+ 57 - 5
docs/api/en/textures/DataArrayTexture.html

@@ -11,7 +11,10 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">Creates an array of textures directly from raw data, width and height and depth. This type of texture can only be used with a WebGL 2 rendering context.</p>
+		<p class="desc">
+			Creates an array of textures directly from raw data, width and height and depth. 
+			This type of texture can only be used with a WebGL 2 rendering context.
+		</p>
 
 
 		<h2>Constructor</h2>
@@ -74,23 +77,72 @@
 
 		<p>
 			[example:webgl2_materials_texture2darray WebGL2 / materials / texture2darray]
+			[example:webgl2_rendertarget_texture2darray WebGL2 / rendertarget / texture2darray]
 		</p>
 
 		<h2>Properties</h2>
 
 		<p>
-		See the base [page:Texture Texture] class for common properties.
+			See the base [page:Texture Texture] class for common properties.
+		</p>
+
+		<h3>[property:Boolean flipY]</h3>
+		<p>
+			Whether the texture is flipped along the Y axis when uploaded to the GPU. Default is `false`.
+		</p>
+	
+		<h3>[property:Boolean generateMipmaps]</h3>
+		<p>
+			Whether to generate mipmaps (if possible) for the texture. Default is `false`.
+		</p>
+
+		<h3>[property:Object image]</h3>
+		<p>
+			Overridden with a object holding data, width, height, and depth.
+		</p>
+
+		<h3>[property:Boolean isDataArrayTexture]</h3>
+		<p>
+			Read-only flag to check if a given object is of type [name].
+		</p>
+
+		<h3>[property:number magFilter]</h3>
+		<p>
+			How the texture is sampled when a texel covers more than one pixel. The default is
+		 	[page:Textures THREE.NearestFilter], which uses the value of the closest texel.<br /><br />
+		 
+			See the [page:Textures texture constants] page for details.
+		</p>
+
+		<h3>[property:number minFilter]</h3>
+		<p>
+			How the texture is sampled when a texel covers less than one pixel. The default is
+			[page:Textures THREE.NearestFilter], which uses the value of the closest texel.<br /><br />
+
+			See the [page:Textures texture constants] page for details.
+		</p>
+
+		<h3>[property:number unpackAlignment]</h3>
+		<p>
+			1 by default. Specifies the alignment requirements for the start of each pixel row in memory.
+			The allowable values are 1 (byte-alignment), 2 (rows aligned to even-numbered bytes),
+			4 (word-alignment), and 8 (rows start on double-word boundaries).
+			See [link:https://registry.khronos.org/OpenGL-Refpages/es3.0/html/glPixelStorei.xhtml glPixelStorei]
+			for more information.
 		</p>
 
-		<h3>[property:Image image]</h3>
+		<h3>[property:number wrapR]</h3>
 		<p>
-		Overridden with a record type holding data, width and height and depth.
+			This defines how the texture is wrapped in the depth direction.<br />
+			The default is [page:Textures THREE.ClampToEdgeWrapping], where the edge is clamped to the outer edge texels.
+			The other two choices are [page:Textures THREE.RepeatWrapping] and [page:Textures THREE.MirroredRepeatWrapping].
+			See the [page:Textures texture constants] page for details.
 		</p>
 
 		<h2>Methods</h2>
 
 		<p>
-		See the base [page:Texture Texture] class for common methods.
+			See the base [page:Texture Texture] class for common methods.
 		</p>
 
 		<h2>Source</h2>

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

@@ -80,9 +80,9 @@
 		Whether to generate mipmaps (if possible) for a texture. False by default.
 		</p>
 
-		<h3>[property:Image image]</h3>
+		<h3>[property:Object image]</h3>
 		<p>
-		Overridden with a record type holding data, width and height.
+			Overridden with a object holding data, width, and height.
 		</p>
 
 		<h3>[property:Boolean isDataTexture]</h3>

+ 50 - 0
docs/api/en/textures/FramebufferTexture.html

@@ -15,7 +15,34 @@
 			This class can only be used in combination with [page:WebGLRenderer.copyFramebufferToTexture]().
 		</p>
 
+		<code>
+			const pixelRatio = window.devicePixelRatio;
+			const textureSize = 128 * pixelRatio;
+
+			// instantiate a framebuffer texture
+			const frameTexture = new FramebufferTexture( textureSize, textureSize, RGBAFormat );
+	
+			// calculate start position for copying part of the frame data
+			const vector = new Vector2();
+			vector.x = ( window.innerWidth * pixelRatio / 2 ) - ( textureSize / 2 );
+			vector.y = ( window.innerHeight * pixelRatio / 2 ) - ( textureSize / 2 );
+
+			// render the scene
+			renderer.clear();
+			renderer.render( scene, camera );
+
+			// copy part of the rendered frame into the framebuffer texture
+			renderer.copyFramebufferToTexture( vector, frameTexture );
+		</code>
+
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl_framebuffer_texture]
+		</p>
+
 		<h2>Constructor</h2>
+
 		<h3>[name]( [param:Number width], [param:Number height], [param:Constant format] )</h3>
 		<p>
 		[page:Number width] -- The width of the texture.<br />
@@ -31,11 +58,34 @@
 
 		<p>See the base [page:Texture Texture] class for common properties.</p>
 
+		<h3>[property:Boolean generateMipmaps]</h3>
+		<p>
+			Whether to generate mipmaps for the [name]. Default value is `false`.
+		</p>
+
 		<h3>[property:Boolean isFramebufferTexture]</h3>
 		<p>
 			Read-only flag to check if a given object is of type [name].
 		</p>
 
+		<h3>[property:number magFilter]</h3>
+		<p>
+			How the texture is sampled when a texel covers more than one pixel. The default is
+			[page:Textures THREE.NearestFilter], which uses the value of the closest texel.
+			<br /><br />
+			
+			See [page:Textures texture constants] for details.
+		</p>
+
+		<h3>[property:number minFilter]</h3>
+		<p>
+			How the texture is sampled when a texel covers less than one pixel. The default is
+			[page:Textures THREE.NearestFilter], which uses the value of the closest texel. 
+			<br /><br />
+
+			See [page:Textures texture constants] for details.
+		</p>
+
 		<h3>[property:Boolean needsUpdate]</h3>
 
 		<p>

+ 5 - 0
docs/api/en/textures/Source.html

@@ -27,6 +27,11 @@
 		The actual data of a texture. The type of this property depends on the texture that uses this instance.
 		</p>
 
+		<h3>[property:Boolean isSource]</h3>
+		<p>
+			Read-only flag to check if a given object is of type [name].
+		</p>
+
 		<h3>[property:Boolean needsUpdate]</h3>
 		<p>
 		Set this to `true` to trigger a data upload to the GPU next time the source is used.

+ 1 - 1
docs/api/fr/audio/Audio.html

@@ -91,7 +91,7 @@
 		<h3>[property:Number duration]</h3>
 		<p>Écrase la durée de l'audio. Équivalent au paramètre `duration` de [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). La valeur par défaut est `undefined` afin de jour le buffer entier.</p>
 
-		<h3>[property:String source]</h3>
+		<h3>[property:AudioNode source]</h3>
 		<p>Un [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] créé
 		en utilisant [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().</p>
 

+ 1 - 1
docs/api/it/audio/Audio.html

@@ -107,7 +107,7 @@
       Il valore predefinito è `undefined` per riprodurre l'intero buffer.
     </p>
 
-		<h3>[property:String source]</h3>
+		<h3>[property:AudioNode source]</h3>
 		<p>
       Un [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] creato
       usando [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().

+ 9 - 0
docs/api/it/materials/Material.html

@@ -137,6 +137,15 @@
 			cose insieme senza creare artefatti z.index.
 		</p>
 
+		<h3>[property:Boolean forceSinglePass]</h3>
+		<p>
+		Whether double-sided, transparent objects should be rendered with a single pass or not. Default is `false`.<br /><br />
+
+		The engine renders double-sided, transparent objects with two draw calls (back faces first, then front faces) to mitigate transparency artifacts.
+		There are scenarios however where this approach produces no quality gains but still doubles draw calls e.g. when rendering flat vegetation like grass sprites. 
+		In these cases, set the `forceSinglePass` flag to `false` to disable the two pass rendering to avoid performance issues.
+		</p>
+
 		<h3>[property:Boolean isMaterial]</h3>
 		<p>
 			Flag di sola lettura per  verificare se l'oggetto dato è di tipo [name].

+ 1 - 1
docs/api/it/math/Ray.html

@@ -193,7 +193,7 @@
 		<h3>[method:this set]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
 		<p>
 		[page:Vector3 origin] - l'[page:.origin origine] del [page:Ray raggio].<br />
-		[page:Vector3 origin] - la [page:.direction direzione] del [page:Ray raggio].
+		[page:Vector3 direction] - la [page:.direction direzione] del [page:Ray raggio].
 		Deve essere normalizzato (con [page:Vector3.normalize]) affinchè i metodi funzionino correttamente.<br /><br />
 
 		Imposta le proprietà [page:.origin origine] e [page:.direction direzione] di questo raggio copiando i valori dagli oggetti dati.

+ 5 - 0
docs/api/it/scenes/Fog.html

@@ -11,6 +11,11 @@
 
 		<p class="desc">Questa classe contiene i parametri che definiscono la nebbia lineare, cioè che cresce linearmente con la distanza.</p>
 
+		<h2>Codice di Esempio</h2>
+
+		<code>const scene = new THREE.Scene();
+		scene.fog = new THREE.Fog( 0xcccccc, 10, 15 );
+		</code>
 
 		<h2>Costruttore</h2>
 

+ 6 - 0
docs/api/it/scenes/FogExp2.html

@@ -15,6 +15,12 @@
 			a densità esponenziale più lontana dalla telecamera.
 		</p>
 
+		<h2>Codice di Esempio</h2>
+
+		<code>const scene = new THREE.Scene();
+		scene.fog = new THREE.FogExp2( 0xcccccc, 0.002 );
+		</code>
+
 		<h2>Costruttore</h2>
 
 

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

@@ -89,7 +89,7 @@
     	Vedi la classe base [page:Texture Texture] per le proprietà comuni.
     </p>
 
-		<h3>[property:Image image]</h3>
+		<h3>[property:Object image]</h3>
 		<p>
 			Sostituito con un tipo di record contenente dati, larghezza, altezza e profondità.
 		</p>

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

@@ -83,7 +83,7 @@
 			Indica se generare mipmap (se possibile) per una texture. Falso per impostazione predefinita.
 		</p>
 
-		<h3>[property:Image image]</h3>
+		<h3>[property:Object image]</h3>
 		<p>
 			Sostituito con un tipo di record contenente dati, larghezza, altezza e profondità.
 		</p>

+ 5 - 0
docs/api/it/textures/Source.html

@@ -27,6 +27,11 @@
 			I dati effettivi di una texture. Il tipo di questa proprietà dipende dalla texture che utilizza questa istanza.
 		</p>
 
+		<h3>[property:Boolean isSource]</h3>
+		<p>
+			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
+		</p>
+
 		<h3>[property:Boolean needsUpdate]</h3>
 		<p>
 			Impostalo a `true` per attivare un caricamento di dati sulla GPU la prossima volta che viene utilizzata la sorgente.

+ 1 - 1
docs/api/ko/audio/Audio.html

@@ -89,7 +89,7 @@
 		<h3>[property:Number duration]</h3>
 		<p>오디오 길이를 오버라이드합니다. [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()의 *duration* 파라미터와 동일. 전체 버퍼 재생을 위한 기본값은 *undefined*입니다.</p>
 
-		<h3>[property:String source]</h3>
+		<h3>[property:AudioNode source]</h3>
 		<p>
 			[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]()로 생성된
 			[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode]입니다.

+ 51 - 0
docs/api/ko/constants/BufferAttributeUsage.html

@@ -0,0 +1,51 @@
+<!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>
+		<h1>Buffer Attribute Usage Constants</h1>
+
+		<p>
+			사용 상수를 사용하여 성능을 최적화하기 위해 지오메트리 버퍼 속성을 사용하는 방법에 대한 힌트를 API에 제공할 수 있습니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.BufferGeometry();
+		const positionAttribute = new THREE.BufferAttribute( array, 3 , false );
+		positionAttribute.setUsage( THREE.DynamicDrawUsage );
+		geometry.setAttribute( 'position', positionAttribute );
+		</code>
+
+		<h2>예제</h2>
+		<p>[example:webgl_buffergeometry_drawrange materials / buffergeometry / drawrange ]</p>
+
+		<h2>Geometry Usage</h2>
+		<code>
+		THREE.StaticDrawUsage
+		THREE.DynamicDrawUsage
+		THREE.StreamDrawUsage
+
+		THREE.StaticReadUsage
+		THREE.DynamicReadUsage
+		THREE.StreamReadUsage
+
+		THREE.StaticCopyUsage
+		THREE.DynamicCopyUsage
+		THREE.StreamCopyUsage
+		</code>
+
+		이러한 각 상수에 대한 자세한 내용은 [link:https://www.khronos.org/opengl/wiki/Buffer_Object#Buffer_Object_Usage this OpenGL documentation]를 참조하세요. 
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+		</p>
+	</body>
+</html>

+ 75 - 0
docs/api/ko/geometries/BoxGeometry.html

@@ -0,0 +1,75 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name]는 주어진 '폭', '높이', '깊이'를 갖는 직사각형 정육면체 형상에 대한 클래스입니다.
+			생성 시, 정육면체는 원점의 중심에 위치하며, 각 모서리는 축 중 하나와 평행합니다.
+		</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#BoxGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.BoxGeometry( 1, 1, 1 );
+		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		const cube = new THREE.Mesh( geometry, material );
+		scene.add( cube );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float width], [param:Float height], [param:Float depth], [param:Integer widthSegments], [param:Integer heightSegments], [param:Integer depthSegments])</h3>
+		<p>
+		width — 너비, 즉 X축에 평행한 모서리의 길이입니다.  Optional; 기본값은 1 입니다.<br />
+		height — 높이, 즉 Y축에 평행한 가장자리의 길이입니다. Optional; 기본값은 1 입니다.<br />
+		depth — 깊이, 즉 Z축에 평행한 가장자리의 길이입니다. Optional; 기본값은 1 입니다.<br />
+		widthSegments — 변의 폭을 따라 분할된 직사각형 면의 수입니다. Optional; 기본값은 1 입니다.<br />
+		heightSegments — 변의 높이를 따라 분할된 직사각형 면의 수입니다. Optional; 기본값은 1 입니다.<br />
+		depthSegments — 변의 깊이를 따라 분할된 직사각형 면의 수입니다. Optional; 기본값은 1 입니다.<br />
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 74 - 0
docs/api/ko/geometries/CapsuleGeometry.html

@@ -0,0 +1,74 @@
+<!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:BufferGeometry] &rarr; [page:LatheGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name]는 주어진 반지름과 높이를 가진 캡슐 형상에 대한  클래스입니다.
+			LatheGeometry를 사용하여 생성됩니다.
+		</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#CapsuleGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.CapsuleGeometry( 1, 1, 4, 8 );
+		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		const capsule = new THREE.Mesh( geometry, material );
+		scene.add( capsule );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Float length], [param:Integer capSubdivisions], [param:Integer radialSegments])</h3>
+		<p>
+
+		radius — 캡슐의 반경입니다. Optional; 기본값은 1 입니다.<br />
+		length — 중간 구역의 길이입니다. Optional; 기본값은 1 입니다.<br />
+		capSegments — 캡을 구성하는 데 사용된 곡선 면의 수입니다. Optional; 기본값은 4 입니다.<br />
+		radialSegments — 캡슐 둘레 주변의 분할된 면의 수입니다. Optional; 기본값은 8 입니다.<br />
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 75 - 0
docs/api/ko/geometries/CircleGeometry.html

@@ -0,0 +1,75 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name]는 유클리드 기하학의 단순한 모양입니다.
+			중심점을 중심으로 방향을 잡고 주어진 반경만큼 멀리 뻗어있는 많은 삼각형 세그먼트로 구성됩니다.
+			시작 각도와 주어진 중심 각도에서 시계 반대 방향으로 만들어집니다.
+			세그먼트의 수가 변의 수를 결정하는 정규 다각형을 만드는 데도 사용할 수 있습니다.
+		</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#CircleGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.CircleGeometry( 5, 32 );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		const circle = new THREE.Mesh( geometry, material );
+		scene.add( circle );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
+		<p>
+		radius — 원의 반지름, 기본값 = 1.<br />
+		segments — 세그먼트 수(삼각형), 최소값 = 3, 기본값 = 32.<br />
+		thetaStart — 첫 세그먼트의 각도 시작, 기본값 = 0 (3시 위치).<br />
+		thetaLength — 원형 섹터의 중심 각도(흔히 세타라고 함)입니다. 기본값은 완전한 원을 만드는 2*Pi 입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 73 - 0
docs/api/ko/geometries/ConeGeometry.html

@@ -0,0 +1,73 @@
+<!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:BufferGeometry] &rarr; [page:CylinderGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">원뿔 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#ConeGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.ConeGeometry( 5, 20, 32 );
+		const material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
+		const cone = new THREE.Mesh( geometry, material );
+		scene.add( cone );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Float height], [param:Integer radialSegments], [param:Integer heightSegments], [param:Boolean openEnded], [param:Float thetaStart], [param:Float thetaLength])</h3>
+		<p>
+		radius — 원뿔 밑면의 반지름입니다. 기본값은 1 입니다.<br />
+		height — 원뿔의 높이입니다. 기본값은 1 입니다.<br />
+		radialSegments — 원뿔 둘레 주변의 분할된 면의 수입니다. 기본값은 32 입니다.<br />
+		heightSegments — 원뿔 높이를 따라 있는 면의 행 수입니다. 기본값은 1 입니다.<br />
+		openEnded — 원뿔의 밑면이 열려 있는지 닫혀 있는지를 나타내는 부울입니다. 기본값은 닫힘을 의미하는 false 입니다.<br />
+		thetaStart — 첫 번째 세그먼트의 시작 각도, 기본값은 0 입니다 (3시 위치).<br />
+		thetaLength — 원형 섹터의 중심 각도(흔히 세타라고 함)입니다. 기본값은 완전한 원을 만드는 2*Pi 입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:CylinderGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:CylinderGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 74 - 0
docs/api/ko/geometries/CylinderGeometry.html

@@ -0,0 +1,74 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">실린더 형상을 생성하기 위한 클래스입니다..</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#CylinderGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.CylinderGeometry( 5, 5, 20, 32 );
+		const material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
+		const cylinder = new THREE.Mesh( geometry, material );
+		scene.add( cylinder );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radiusTop], [param:Float radiusBottom], [param:Float height], [param:Integer radialSegments], [param:Integer heightSegments], [param:Boolean openEnded], [param:Float thetaStart], [param:Float thetaLength])</h3>
+		<p>
+		radiusTop — 상단에서 원통의 반지름입니다. 기본값은 1 입니다.<br />
+		radiusBottom — 바닥에서 원통의 반지름입니다. 기본값은 1 입니다.<br />
+		height — 실린더의 높이입니다. 기본값은 1 입니다.<br />
+		radialSegments — 실린더 원주 주위의 분할된 면의 수입니다. 기본값은 32 입니다.<br />
+		heightSegments — 원통 높이를 따라 있는 면의 행 수입니다. 기본값은 1 입니다.<br />
+		openEnded — 원뿔의 끝이 열려 있는지 닫혀 있는지를 나타내는 부울입니다. 기본값은 닫힘을 의미하는 false 입니다.<br />
+		thetaStart — 첫 번째 세그먼트의 시작 각도, 기본값은 0 입니다 (3시 위치).<br />
+		thetaLength — 원형 섹터의 중심 각도(흔히 세타라고 함)입니다. 기본값은 완전한 실린더를 만드는 2*Pi 입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+		
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 59 - 0
docs/api/ko/geometries/DodecahedronGeometry.html

@@ -0,0 +1,59 @@
+<!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:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">12면체 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#DodecahedronGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — 12면체의 반지름입니다. 기본값은 1입니다.<br />
+		detail — 기본값은 0 입니다. 이 값을 0보다 큰 값으로 설정하면 정점이 추가되어 더 이상 12면체가 아닙니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 55 - 0
docs/api/ko/geometries/EdgesGeometry.html

@@ -0,0 +1,55 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">[page:BufferGeometry geometry]는 지오메트리의 모서리를 보기 위한 도우미 개체로 사용할 수 있습니다.</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.BoxGeometry( 100, 100, 100 );
+		const edges = new THREE.EdgesGeometry( geometry );
+		const line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xffffff } ) );
+		scene.add( line );
+		</code>
+
+		<h2>예제</h2>
+		<p>
+			[example:webgl_helpers helpers]
+		</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( [param:BufferGeometry geometry], [param:Integer thresholdAngle] )</h3>
+		<p>
+		geometry — 모든 기하학 객체.<br />
+		thresholdAngle — 인접한 면의 면 법선 사이의 각도 (단위는 도)가 이 값을 초과하는 경우에만 가장자리가 렌더링됩니다. 기본값 = 1도.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 111 - 0
docs/api/ko/geometries/ExtrudeGeometry.html

@@ -0,0 +1,111 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">경로 모양에서 돌출된 형상을 만듭니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#ExtrudeGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+
+		<code>
+		const length = 12, width = 8;
+
+		const shape = new THREE.Shape();
+		shape.moveTo( 0,0 );
+		shape.lineTo( 0, width );
+		shape.lineTo( length, width );
+		shape.lineTo( length, 0 );
+		shape.lineTo( 0, 0 );
+
+		const extrudeSettings = {
+			steps: 2,
+			depth: 16,
+			bevelEnabled: true,
+			bevelThickness: 1,
+			bevelSize: 1,
+			bevelOffset: 0,
+			bevelSegments: 1
+		};
+
+		const geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );
+		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+		const mesh = new THREE.Mesh( geometry, material ) ;
+		scene.add( mesh );
+		</code>
+
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]([param:Array shapes], [param:Object options])</h3>
+		<p>
+		shapes — 모양 또는 모양의 배열입니다. <br />
+		options — 다음 매개변수를 포함할 수 있는 객체입니다.
+
+			<ul>
+				<li>curveSegments — int. 곡선의 점 수. 기본값은 12 입니다.</li>
+				<li>steps — int. 돌출된 스플라인의 깊이를 따라 세그먼트를 세분화하는 데 사용되는 점 수입니다. 기본값은 1 입니다.</li>
+				<li>depth — float. 모양을 돌출시킬 깊이입니다. 기본값은 1 입니다.</li>
+				<li>bevelEnabled — bool. 모양에 베벨링을 적용합니다. 기본값은 true 입니다.</li>
+				<li>bevelThickness — float. 베벨이 원래 모양으로 들어가는 깊이입니다. 기본값은 0.2 입니다.</li>
+				<li>bevelSize — float. 베벨이 확장되는 모양 윤곽선으로부터의 거리입니다. 기본값은 bevelThickness - 0.1 입니다.</li>
+				<li>bevelOffset — float. 경사가 시작되는 모양 윤곽선으로부터의 거리입니다. 기본값은 0 입니다.</li>
+				<li>bevelSegments — int. 베벨 레이어 수. 기본값은 3 입니다.</li>
+				<li>extrudePath — THREE.Curve. 모양이 돌출되어야 하는 3D 스플라인 경로입니다. 경로 돌출에는 베벨이 지원되지 않습니다.</li>
+				<li>UVGenerator —  Object. UV 제너레이터 기능을 제공하는 객체</li>
+			</ul>
+
+		</p>
+		<p>
+			이 객체는 2D 모양을 3D 형상으로 돌출시킵니다.
+		</p>
+
+		<p>
+			이 지오메트리로 메시를 생성할 때 면과 돌출된 면에 별도의 재질을 사용하려는 경우 여러 재질을 사용할 수 있습니다. 첫 번째 재질이 얼굴에 적용됩니다. 두 번째 재료는 측면에 적용됩니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 58 - 0
docs/api/ko/geometries/IcosahedronGeometry.html

@@ -0,0 +1,58 @@
+<!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:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
+		<h1>[name]</h1>
+
+		<p class="desc">20면체 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#IcosahedronGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — 기본값은 1 입니다. <br />
+		detail — 기본값은 0 입니다.  이 값을 0보다 큰 값으로 설정하면 정점이 더 추가되어 더 이상 20면체가 아닙니다. 디테일이 1보다 크면 사실상 구체입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 77 - 0
docs/api/ko/geometries/LatheGeometry.html

@@ -0,0 +1,77 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">꽃병과 같은 축 대칭으로 메쉬를 만듭니다. 선반은 Y축을 중심으로 회전합니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#LatheGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const points = [];
+		for ( let i = 0; i < 10; i ++ ) {
+			points.push( new THREE.Vector2( Math.sin( i * 0.2 ) * 10 + 5, ( i - 5 ) * 2 ) );
+		}
+		const geometry = new THREE.LatheGeometry( points );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		const lathe = new THREE.Mesh( geometry, material );
+		scene.add( lathe );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Array points], [param:Integer segments], [param:Float phiStart], [param:Float phiLength])</h3>
+		<p>
+		points — Vector2의 배열. 각 점의 x 좌표는 0보다 커야 합니다. 기본값은 단순한 다이아몬드 모양을 만드는 (0,-0.5), (0.5,0) 및 (0,0.5)의 배열입니다.<br />
+		segments — 생성할 원주 세그먼트의 수입니다. 기본값은 12 입니다.<br />
+		phiStart — 시작 각도(라디안 단위). 기본값은 0 입니다.<br />
+		phiLength — 선반 섹션의 라디안(0 ~ 2PI) 범위 2PI는 닫힌 선반이고, 2PI 미만이 한 부분입니다. 기본값은 2PI 입니다.
+		</p>
+		<p>
+		이렇게 하면 매개변수를 기반으로 [name]가 생성됩니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성을 가진 개체입니다. 인스턴스화 후에 수정해도 지오메트리는 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 58 - 0
docs/api/ko/geometries/OctahedronGeometry.html

@@ -0,0 +1,58 @@
+<!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:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
+		<h1>[name]</h1>
+
+		<p class="desc">팔면체 형상을 생성하기 위한 클래스입니다..</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#OctahedronGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — 팔면체의 반지름. 기본값은 1 입니다.<br />
+		detail — 기본값은 0 입니다.   이 값을 0보다 큰 값으로 설정하면 정점이 더 이상 팔면체가 아닙니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 70 - 0
docs/api/ko/geometries/PlaneGeometry.html

@@ -0,0 +1,70 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">평면 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#PlaneGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.PlaneGeometry( 1, 1 );
+		const material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
+		const plane = new THREE.Mesh( geometry, material );
+		scene.add( plane );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float width], [param:Float height], [param:Integer widthSegments], [param:Integer heightSegments])</h3>
+		<p>
+		width — X축의 너비입니다. 기본값은 1 입니다.<br />
+		height — Y축의 높이입니다. 기본값은 1 입니다.<br />
+		widthSegments — Optional. 기본값은 1 입니다. <br />
+		heightSegments — Optional. 기본값은 1 입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 67 - 0
docs/api/ko/geometries/PolyhedronGeometry.html

@@ -0,0 +1,67 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			다면체는 평평한 면을 가진 3차원 입체입니다. 이 클래스는 정점 배열을 구에 투영한 다음 원하는 세부 수준으로 나눕니다.
+			이 클래스는 [page:DodecahedronGeometry], [page:IcosahedronGeometry], [page:OctahedronGeometry],
+			및 [page:TetrahedronGeometry] 에서 각각의 형상을 생성하는 데 사용됩니다 .
+		</p>
+
+		<h2>코드 예제</h2>
+		<code>
+		const verticesOfCube = [
+		    -1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,
+ 		    -1,-1, 1,    1,-1, 1,    1, 1, 1,    -1, 1, 1,
+		];
+
+		const indicesOfFaces = [
+ 		   2,1,0,    0,3,2,
+ 		   0,4,7,    7,3,0,
+ 		   0,1,5,    5,4,0,
+ 		   1,2,6,    6,5,1,
+ 		   2,3,7,    7,6,2,
+ 		   4,5,6,    6,7,4
+		];
+
+		const geometry = new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 6, 2 );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]([param:Array vertices], [param:Array indices], [param:Float radius], [param:Integer detail])</h3>
+		<p>
+		vertices — 다음과 같은 형태의 점 [page:Array] [1,1,1, -1,-1,-1, ... ] <br />
+		indices — 다음과 같은 형식의 면을 구성하는 인덱스들의 [page:Array] [0,1,2, 2,3,0, ... ] <br />
+		radius — [page:Float] - 최종 모양의 반지름 <br />
+		detail — [page:Integer] - 지오메트리를 세분화할 레벨 수. 디테일이 많을수록 모양이 부드러워집니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 73 - 0
docs/api/ko/geometries/RingGeometry.html

@@ -0,0 +1,73 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">2차원 링 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#RingGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.RingGeometry( 1, 5, 32 );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
+		const mesh = new THREE.Mesh( geometry, material );
+		scene.add( mesh );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float innerRadius], [param:Float outerRadius], [param:Integer thetaSegments], [param:Integer phiSegments], [param:Float thetaStart], [param:Float thetaLength])</h3>
+		<p>
+		innerRadius — 기본값은 0.5 입니다. <br />
+		outerRadius — 기본값은 1 입니다. <br />
+		thetaSegments — 세그먼트 수. 숫자가 높을수록 링이 더 둥글다는 의미입니다. 최소값은 3 입니다.  기본값은 32 입니다. <br />
+		phiSegments — 최소값은 1 입니다.  기본값은 1 입니다.<br />
+		thetaStart — 시작 각도입니다. 기본값은 0 입니다. <br />
+		thetaLength — 중심 각도입니다.  기본값은 Math.PI * 2 입니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 찹조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 83 - 0
docs/api/ko/geometries/ShapeGeometry.html

@@ -0,0 +1,83 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">하나 이상의 경로 모양에서 한면 다각형 형상을 만듭니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#ShapeGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+
+		<h2>코드 예제</h2>
+
+
+		<code>
+		const x = 0, y = 0;
+
+		const heartShape = new THREE.Shape();
+
+		heartShape.moveTo( x + 5, y + 5 );
+		heartShape.bezierCurveTo( x + 5, y + 5, x + 4, y, x, y );
+		heartShape.bezierCurveTo( x - 6, y, x - 6, y + 7,x - 6, y + 7 );
+		heartShape.bezierCurveTo( x - 6, y + 11, x - 3, y + 15.4, x + 5, y + 19 );
+		heartShape.bezierCurveTo( x + 12, y + 15.4, x + 16, y + 11, x + 16, y + 7 );
+		heartShape.bezierCurveTo( x + 16, y + 7, x + 16, y, x + 10, y );
+		heartShape.bezierCurveTo( x + 7, y, x + 5, y + 5, x + 5, y + 5 );
+
+		const geometry = new THREE.ShapeGeometry( heartShape );
+		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+		const mesh = new THREE.Mesh( geometry, material ) ;
+		scene.add( mesh );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]([param:Array shapes], [param:Integer curveSegments])</h3>
+		<p>
+		shapes — 모양의 [page:Array] 또는 단일 [page:Shape shape]. 기본값은 단일 삼각형 모양입니다.<br />
+		curveSegments - [page:Integer] - 모양당 세그먼트 수입니다. 기본값은 12 입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 78 - 0
docs/api/ko/geometries/SphereGeometry.html

@@ -0,0 +1,78 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">구 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#SphereGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.SphereGeometry( 15, 32, 16 );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		const sphere = new THREE.Mesh( geometry, material );
+		scene.add( sphere );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer widthSegments], [param:Integer heightSegments], [param:Float phiStart], [param:Float phiLength], [param:Float thetaStart], [param:Float thetaLength])</h3>
+
+		<p>
+		radius — 구 반지름. Default is 1.<br />
+		widthSegments — 수평 세그먼트의 수입니다. 최소값은 3 입니다, 그리고 기본값은 32 입니다.<br />
+		heightSegments — 수직 세그먼트의 수입니다. 최소값은 2 입니다, 그리고 기본값은 16 입니다.<br />
+		phiStart — 수평 시작 각도를 지정합니다. 기본값은 0 입니다.<br />
+		phiLength — 수평 스위프 각도 크기를 지정합니다. 기본값은 Math.PI * 2 입니다.<br />
+		thetaStart — 수직 시작 각도를 지정합니다. 기본값은 0 입니다.<br />
+		thetaLength — 수직 스위프 각도 크기를 지정합니다. 기본값은 Math.PI 입니다.<br />
+		</p>
+
+		<p>
+		지오메트리는 Y축(수평 스윕)과 Z축(수직 스윕) 주위의 정점을 스윕하고 계산하여 생성됩니다.따라서, 우리가 정점 계산을 시작(또는 종료)하는 지점을 정의하기 위해, 다른 값의 phiStart, phiLength, 세타Start 및 세타Length를 사용하여 불완전한 구('sphere slices' 와 유사한)를 만들 수 있다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 59 - 0
docs/api/ko/geometries/TetrahedronGeometry.html

@@ -0,0 +1,59 @@
+<!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:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">사면체 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#TetrahedronGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
+		<p>
+		radius — 사면체의 반지름. 기본값은 1 입니다.<br />
+		detail — 기본값은 0 입니다. 이 값을 0보다 큰 값으로 설정하면 정점이 추가되어 더 이상 사면체가 아닙니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:PolyhedronGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 71 - 0
docs/api/ko/geometries/TorusGeometry.html

@@ -0,0 +1,71 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">도넛 모양 형상을 생성하기 위한 클래스입니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#TorusGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.TorusGeometry( 10, 3, 16, 100 );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		const torus = new THREE.Mesh( geometry, material );
+		scene.add( torus );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Float tube], [param:Integer radialSegments], [param:Integer tubularSegments], [param:Float arc])</h3>
+		<p>
+		radius -  도넛 모양 중심에서 튜브 중심까지의 도넛 모양 반경. 기본값은 1 입니다. <br />
+		tube — 튜브의 반경입니다. 기본값은 0.4 입니다. <br />
+		radialSegments — 기본값은 12 입니다. <br />
+		tubularSegments — 기본값은 48 입니다. <br />
+		arc — 중심 각도입니다.  기본값은 Math.PI * 2 입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 74 - 0
docs/api/ko/geometries/TorusKnotGeometry.html

@@ -0,0 +1,74 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">도넛 모양 매듭의 특정 모양이 한 쌍의 서로소 정수(p 및 q)로 정의되는 도넛 모양 매듭을 만듭니다. p와 q가 서로소가 아니면 결과는 도넛 모양 링크가 됩니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#TorusKnotGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.TorusKnotGeometry( 10, 3, 100, 16 );
+		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		const torusKnot = new THREE.Mesh( geometry, material );
+		scene.add( torusKnot );
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]([param:Float radius], [param:Float tube], [param:Integer tubularSegments], [param:Integer radialSegments], [param:Integer p], [param:Integer q])</h3>
+		<p>
+			<ul>
+				<li>radius - 도넛 모양의 반경. 기본값은 1 입니다.</li>
+				<li>tube — 큐브의 반경. 기본값은 0.4 입니다.</li>
+				<li>tubularSegments — 기본값은 64 입니다.</li>
+				<li>radialSegments — 기본값은 8 입니다.</li>
+				<li>p — 이 값은 형상이 회전 대칭 축 주위를 감는 횟수를 결정합니다. 기본값은 2 입니다.</li>
+				<li>q — 이 값은 형상이 도넛 모양 내부의 원 주위를 감는 횟수를 결정합니다. 기본값은 3 입니다.</li>
+			</ul>
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 111 - 0
docs/api/ko/geometries/TubeGeometry.html

@@ -0,0 +1,111 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">3D 커브를 따라 돌출되는 튜브를 생성합니다.</p>
+
+		<iframe id="scene" src="scenes/geometry-browser.html#TubeGeometry"></iframe>
+
+		<script>
+
+		// iOS iframe auto-resize workaround
+
+		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
+
+			const scene = document.getElementById( 'scene' );
+
+			scene.style.width = getComputedStyle( scene ).width;
+			scene.style.height = getComputedStyle( scene ).height;
+			scene.setAttribute( 'scrolling', 'no' );
+
+		}
+
+		</script>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		class CustomSinCurve extends THREE.Curve {
+
+			constructor( scale = 1 ) {
+
+				super();
+
+				this.scale = scale;
+
+			}
+
+			getPoint( t, optionalTarget = new THREE.Vector3() ) {
+
+				const tx = t * 3 - 1.5;
+				const ty = Math.sin( 2 * Math.PI * t );
+				const tz = 0;
+
+				return optionalTarget.set( tx, ty, tz ).multiplyScalar( this.scale );
+
+			}
+
+		}
+
+		const path = new CustomSinCurve( 10 );
+		const geometry = new THREE.TubeGeometry( path, 20, 2, 8, false );
+		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+		const mesh = new THREE.Mesh( geometry, material );
+		scene.add( mesh );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]([param:Curve path], [param:Integer tubularSegments], [param:Float radius], [param:Integer radialSegments], [param:Boolean closed])</h3>
+		<p>
+		path — [page:Curve] - [page:Curve] 기본 클래스 에서 상속되는 3D 경로입니다. 기본값은 2차 베지어 곡선입니다.<br />
+		tubularSegments — [page:Integer] - 튜브를 구성하는 세그먼트 수입니다. 기본값은 64 입니다.<br />
+		radius — [page:Float] - 튜브의 반지름입니다. 기본값은 1 입니다.<br />
+		radialSegments — [page:Integer] - 횡단면을 구성하는 세그먼트의 수입니다. 기본값은 8 입니다.<br />
+		closed — [page:Boolean] 튜브가 열려 있거나 닫혀 있는지 여부입니다. 기본값은 false 입니다.<br />
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h3>[property:Object parameters]</h3>
+		<p>
+		각 생성자 매개 변수에 대한 속성이 있는 개체입니다. 인스턴스화 후 수정해도 형상은 변경되지 않습니다.
+		</p>
+
+		<h3>[property:Array tangents]</h3>
+		<p>
+		[page:Vector3] 접선의 배열
+		</p>
+
+		<h3>[property:Array normals]</h3>
+		<p>
+		[page:Vector3] 법선의 배열
+		</p>
+
+		<h3>[property:Array binormals]</h3>
+		<p>
+		[page:Vector3] 종법선의 배열
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 56 - 0
docs/api/ko/geometries/WireframeGeometry.html

@@ -0,0 +1,56 @@
+<!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:BufferGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">[page:BufferGeometry geometry] 와이어프레임으로 보기 위한 도우미 오브젝트로 사용할 수 있습니다.</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const geometry = new THREE.SphereGeometry( 100, 100, 100 );
+
+		const wireframe = new THREE.WireframeGeometry( geometry );
+
+		const line = new THREE.LineSegments( wireframe );
+		line.material.depthTest = false;
+		line.material.opacity = 0.25;
+		line.material.transparent = true;
+
+		scene.add( line );
+		</code>
+
+		<h2>예제</h2>
+
+		<p>
+			[example:webgl_helpers helpers]
+		</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( [param:BufferGeometry geometry] )</h3>
+		<p>
+		geometry — any geometry object.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:BufferGeometry] 클래스를 참조하십시오.</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 1 - 1
docs/api/pt-br/audio/Audio.html

@@ -91,7 +91,7 @@
 		<h3>[property:Number duration]</h3>
 		<p>Substitui a duração do áudio. O mesmo que o parâmetro `duration` do [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). O padrão é `undefined` para reproduzir todo o buffer.</p>
 
-		<h3>[property:String source]</h3>
+		<h3>[property:AudioNode source]</h3>
 		<p>Um [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] criado
 		usando [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().</p>
 

+ 1 - 1
docs/api/zh/audio/Audio.html

@@ -89,7 +89,7 @@
 		<h3>[property:Number duration]</h3>
 		<p>覆盖音频的持续时间。与[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start]()中的*duration*属性相同。默认为*undefined*,以用于播放整个buffer。</p>
 
-		<h3>[property:String source]</h3>
+		<h3>[property:AudioNode source]</h3>
 		<p>使用 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]()创建的[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode].</p>
 
 		<h3>[property:String sourceType]</h3>

+ 13 - 4
docs/api/zh/materials/Material.html

@@ -107,10 +107,19 @@
 	在绘制2D叠加时,将多个事物分层在一起而不创建z-index时,禁用深度写入会很有用。
 </p>
 
-		<h3>[property:Boolean isMaterial]</h3>
-		<p>
-			检查这个对象是否为材质[name]的只读标记.
-		</p>
+<h3>[property:Boolean forceSinglePass]</h3>
+<p>
+Whether double-sided, transparent objects should be rendered with a single pass or not. Default is `false`.<br /><br />
+
+The engine renders double-sided, transparent objects with two draw calls (back faces first, then front faces) to mitigate transparency artifacts.
+There are scenarios however where this approach produces no quality gains but still doubles draw calls e.g. when rendering flat vegetation like grass sprites. 
+In these cases, set the `forceSinglePass` flag to `false` to disable the two pass rendering to avoid performance issues.
+</p>
+
+<h3>[property:Boolean isMaterial]</h3>
+<p>
+	检查这个对象是否为材质[name]的只读标记.
+</p>
 
 <h3>[property:Boolean stencilWrite]</h3>
 <p>

+ 1 - 1
docs/api/zh/math/Ray.html

@@ -188,7 +188,7 @@
 		<h3>[method:this set]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
 		<p>
 		[page:Vector3 origin] - [page:Ray](射线)的[page:.origin origin](原点)。<br />
-		[page:Vector3 origin] - [page:Ray](射线)的[page:.direction direction](方向)。
+		[page:Vector3 direction] - [page:Ray](射线)的[page:.direction direction](方向)。
 
 		该向量必须经过标准化(使用[page:Vector3.normalize]),这样才能使方法正常运行。
 		<br /><br />

+ 5 - 0
docs/api/zh/scenes/Fog.html

@@ -11,6 +11,11 @@
 
 		<p class="desc">这个类中的参数定义了线性雾。也就是说,雾的密度是随着距离线性增大的。</p>
 
+		<h2>代码示例</h2>
+
+		<code>const scene = new THREE.Scene();
+		scene.fog = new THREE.Fog( 0xcccccc, 10, 15 );
+		</code>
 
 		<h2>构造器</h2>
 

+ 6 - 0
docs/api/zh/scenes/FogExp2.html

@@ -11,6 +11,12 @@
 
 		<p class="desc">该类所包含的参数定义了指数雾,它可以在相机附近提供清晰的视野,且距离相机越远,雾的浓度随着指数增长越快。</p>
 
+		<h2>代码示例</h2>
+
+		<code>const scene = new THREE.Scene();
+		scene.fog = new THREE.FogExp2( 0xcccccc, 0.002 );
+		</code>
+
 		<h2>构造器</h2>
 
 

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

@@ -80,7 +80,7 @@
 		Whether to generate mipmaps (if possible) for a texture. False by default.
 		</p>
 
-		<h3>[property:Image image]</h3>
+		<h3>[property:Object image]</h3>
 		<p>
 		Overridden with a record type holding data, width and height.
 		</p>

+ 10 - 5
docs/api/zh/textures/Source.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh">
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />
@@ -13,20 +13,25 @@
 			Represents the data source of a texture.
 		</p>
 
-		<h2>Constructor</h2>
+		<h2>构造函数</h2>
 
 		<h3>[name]( [param:Any data] )</h3>
 		<p>
 			[page:Any data] -- The data definition of a texture. Default is *null*.
 		</p>
 
-		<h2>Properties</h2>
+		<h2>属性</h2>
 
 		<h3>[property:Any data]</h3>
 		<p>
 		The actual data of a texture. The type of this property depends on the texture that uses this instance.
 		</p>
 
+		<h3>[property:Boolean isCubeTexture]</h3>
+		<p>
+			Read-only flag to check if a given object is of type [name].
+		</p>
+
 		<h3>[property:Boolean needsUpdate]</h3>
 		<p>
 		Set this to *true* to trigger a data upload to the GPU next time the source is used.
@@ -43,7 +48,7 @@
 		This starts at *0* and counts how many times [page:Source.needsUpdate .needsUpdate] is set to *true*.
 		</p>
 
-		<h2>Methods</h2>
+		<h2>方法</h2>
 
 		<h3>[method:Object toJSON]( [param:Object meta] )</h3>
 		<p>
@@ -51,7 +56,7 @@
 		Convert the data source to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
 		</p>
 
-		<h2>Source</h2>
+		<h2>源代码</h2>
 
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 11 - 0
docs/examples/en/animations/CCDIKSolver.html

@@ -16,6 +16,17 @@
 
 		<iframe id="scene" src="scenes/ccdiksolver-browser.html"></iframe>
 
+		<h2>Import</h2>
+
+		<p>
+			[name] is an add-on, and must be imported explicitly.
+			See [link:#manual/introduction/Installation Installation / Addons].
+		</p>
+
+		<code>
+			import { CCDIKSolver } from 'three/addons/animation/CCDIKSolver.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/animations/MMDAnimationHelper.html

@@ -14,6 +14,17 @@
 		It uses [page:CCDIKSolver] and [page:MMDPhysics] inside.
 		</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 { MMDAnimationHelper } from 'three/addons/animation/MMDAnimationHelper.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/animations/MMDPhysics.html

@@ -13,6 +13,17 @@
 		[name] calculates Physics for model loaded by [page:MMDLoader] with [link:https://github.com/kripken/ammo.js/ ammo.js] (Bullet-based JavaScript Physics engine).
 		</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 { MMDPhysics } from 'three/addons/animation/MMDPhysics.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 10 - 0
docs/examples/en/controls/ArcballControls.html

@@ -31,9 +31,19 @@
 
 		To use this, as with all files in the /examples directory, you will have to
 		include the file separately in your HTML.
+		</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 { ArcballControls } from 'three/addons/controls/ArcballControls.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 12 - 1
docs/examples/en/controls/DragControls.html

@@ -12,9 +12,20 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		This class can be used to provide a drag'n'drop interaction.
+			This class can be used to provide a drag'n'drop interaction.
 		</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 { DragControls } from 'three/addons/controls/DragControls.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/controls/FirstPersonControls.html

@@ -14,6 +14,17 @@
 			This class is an alternative implementation of [page:FlyControls].
 		</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 { FirstPersonControls } from 'three/addons/controls/FirstPersonControls.js';
+		</code>
+
 		<h2>Examples</h2>
 
 		<p>[example:webgl_geometry_terrain webgl / geometry / terrain ]</p>

+ 11 - 0
docs/examples/en/controls/FlyControls.html

@@ -15,6 +15,17 @@
 			3D space without any limitations (e.g. focus on a specific target).
 		</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 { FlyControls } from 'three/addons/controls/FlyControls.js';
+		</code>
+
 		<h2>Examples</h2>
 
 		<p>[example:misc_controls_fly misc / controls / fly ]</p>

+ 18 - 3
docs/examples/en/controls/OrbitControls.html

@@ -10,13 +10,23 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		Orbit controls allow the camera to orbit around a target.<br>
+			Orbit controls allow the camera to orbit around a target.<br>
 
-		To use this, as with all files in the /examples directory, you will have to
-		include the file separately in your HTML.
+			To use this, as with all files in the /examples directory, you will have to
+			include the file separately in your HTML.
+		</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 { OrbitControls } from 'three/addons/controls/OrbitControls.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>
@@ -302,6 +312,11 @@ controls.touches = {
 			Save the current state of the controls. This can later be recovered with [page:.reset].
 		</p>
 
+		<h3>[method:undefined stopListenToKeyEvents] ()</h3>
+		<p>
+			Removes the key event listener previously defined with [page:.listenToKeyEvents]().
+		</p>
+
 		<h3>[method:Boolean update] ()</h3>
 		<p>
 			Update the controls. Must be called after any manual changes to the camera's transform,

+ 13 - 2
docs/examples/en/controls/PointerLockControls.html

@@ -12,10 +12,21 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		The implementation of this class is based on the [link:https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API Pointer Lock API].
-		[name] is a perfect choice for first person 3D games.
+			The implementation of this class is based on the [link:https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API Pointer Lock API].
+			[name] is a perfect choice for first person 3D games.
 		</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 { PointerLockControls } from 'three/addons/controls/PointerLockControls.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/controls/TrackballControls.html

@@ -18,6 +18,17 @@
 			</p>
 		</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 { TrackballControls } from 'three/addons/controls/TrackballControls.js';
+		</code>
+
 		<h2>Examples</h2>
 
 		<p>[example:misc_controls_trackball misc / controls / trackball ]</p>

+ 11 - 0
docs/examples/en/controls/TransformControls.html

@@ -18,6 +18,17 @@
 			[name] expects that its attached 3D object is part of the scene graph.
 		</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 { TransformControls } from 'three/addons/controls/TransformControls.js';
+		</code>
+
 		<h2>Examples</h2>
 
 		<p>[example:misc_controls_transform misc / controls / transform ]</p>

+ 11 - 0
docs/examples/en/exporters/ColladaExporter.html

@@ -17,6 +17,17 @@
 		This exporter only supports exporting geometry, materials, textures, and scene hierarchy.
 		</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 { ColladaExporter } from 'three/addons/exporters/ColladaExporter.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 85 - 0
docs/examples/en/exporters/DRACOExporter.html

@@ -0,0 +1,85 @@
+<!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">
+			An exporter to compress geometry with the Draco library. <br /><br />
+			[link:https://google.github.io/draco/ Draco] is an open source library for compressing and
+			decompressing 3D meshes and point clouds. Compressed geometry can be significantly smaller,
+			at the cost of additional decoding time on the client device.
+		</p>
+
+		<p>
+			Standalone Draco files have a `.drc` extension, and contain vertex positions,
+			normals, colors, and other attributes. Draco files *do not* contain materials,
+			textures, animation, or node hierarchies – to use these features, embed Draco geometry
+			inside of a glTF file. A normal glTF file can be converted to a Draco-compressed glTF file
+			using [link:https://github.com/AnalyticalGraphicsInc/gltf-pipeline glTF-Pipeline].
+		</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 { DRACOExporter } from 'three/addons/exporters/DRACOExporter.js';
+		</code>
+
+		<h2>Code Example</h2>
+
+		<code>
+		// Instantiate a exporter
+		const exporter = new DRACOExporter();
+
+		// Parse the input and generate the DRACO encoded output
+		const binaryData = exporter.parse( mesh, options );
+		</code>
+
+		<h2>Examples</h2>
+
+		<p>
+			[example:misc_exporter_draco]
+		</p>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]()</h3>
+		<p>
+		Creates a new [name].
+		</p>
+
+		<h2>Methods</h2>
+
+		<h3>[method:Int8Array parse]( [param:Mesh object] | [param:Points object], [param:Object options] )</h3>
+
+		<p>
+		[page:Mesh object] | [page:Points object] — Mesh or Points to encode.<br />
+		[page:Options options] — Optional export options<br />
+		<ul>
+			<li>decodeSpeed - int. Indicates how to tune the encoder regarding decode speed (0 gives better speed but worst quality). Default is 5</li>
+			<li>encodeSpeed - int. Indicates how to tune the encoder parameters (0 gives better speed but worst quality). Default is 5.</li>
+			<li>encoderMethod - int. Either sequential (very little compression) or Edgebreaker. Edgebreaker traverses the triangles of the mesh in a deterministic, spiral-like way which provides most of the benefits of this data format. Default is DRACOExporter.MESH_EDGEBREAKER_ENCODING.</li>
+			<li>quantization - Array of int. Indicates the presision of each type of data stored in the draco file in the order (POSITION, NORMAL, COLOR, TEX_COORD, GENERIC). Default is [ 16, 8, 8, 8, 8 ]</li>
+			<li>exportUvs - bool. Default is true.</li>
+			<li>exportNormals - bool. Default is true.</li>
+			<li>exportColor - bool. Default is false.</li>
+		</ul>
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/exporters/DRACOExporter.js examples/jsm/exporters/DRACOExporter.js]
+		</p>
+	</body>
+</html>

+ 11 - 0
docs/examples/en/exporters/EXRExporter.html

@@ -21,6 +21,17 @@
 		and DI.
 		</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 { EXRExporter } from 'three/addons/exporters/EXRExporter.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 20 - 1
docs/examples/en/exporters/GLTFExporter.html

@@ -20,6 +20,17 @@
 		textures, skins, skeletons, morph targets, animations, lights, and/or cameras.
 		</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 { GLTFExporter } from 'three/addons/exporters/GLTFExporter.js';
+		</code>
+
 		<h2>Extensions</h2>
 
 		<p>
@@ -29,7 +40,16 @@
 
 		<ul>
 			<li>KHR_lights_punctual</li>
+			<li>KHR_materials_clearcoat</li>
+			<li>KHR_materials_emissive_strength</li>
+			<li>KHR_materials_ior</li>
+			<li>KHR_materials_iridescence</li>		
+			<li>KHR_materials_specular</li>
+			<li>KHR_materials_sheen</li>
+			<li>KHR_materials_transmission</li>
 			<li>KHR_materials_unlit</li>
+			<li>KHR_materials_volume</li>
+			<li>KHR_mesh_quantization</li>
 			<li>KHR_texture_transform</li>
 		</ul>
 
@@ -120,7 +140,6 @@
 			<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>forceIndices - bool. Generate indices for non-index geometry and export with them. Default is false.</li>
 			<li>includeCustomExtensions - bool. Export custom glTF extensions defined on an object's `userData.gltfExtensions` property. Default is false.</li>
 		</ul>
 		</p>

+ 13 - 3
docs/examples/en/exporters/OBJExporter.html

@@ -10,12 +10,22 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		An exporter for the [link:https://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] file format.
+			An exporter for the [link:https://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] file format.
+			<br/><br/>
+			[name] is not able to export material data into MTL files so only geometry data are supported.
 		</p>
-		<p class="desc">
-		[name] is not able to export material data into MTL files so only geometry data are supported.
+
+		<h2>Import</h2>
+
+		<p>
+			[name] is an add-on, and must be imported explicitly.
+			See [link:#manual/introduction/Installation Installation / Addons].
 		</p>
 
+		<code>
+			import { OBJExporter } from 'three/addons/exporters/OBJExporter.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/exporters/PLYExporter.html

@@ -18,6 +18,17 @@
 		uv coordinates. No textures or texture references are saved.
 		</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 { PLYExporter } from 'three/addons/exporters/PLYExporter.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 75 - 0
docs/examples/en/exporters/STLExporter.html

@@ -0,0 +1,75 @@
+<!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">
+			An exporter for the STL file format. <br /><br />
+			[link:https://en.wikipedia.org/wiki/STL_(file_format) STL] files describe only the surface geometry
+			of a three-dimensional object without any representation of color, texture or other common model attributes.
+			The STL format specifies both ASCII and binary representations, with binary being more compact. 
+			STL files contain no scale information or indexes, and the units are arbitrary.
+		</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 { STLExporter } from 'three/addons/exporters/STLExporter.js';
+		</code>
+
+		<h2>Code Example</h2>
+
+		<code>
+		// Instantiate an exporter
+		const exporter = new STLExporter();
+
+		// Configure export options
+		const options = { binary: true }
+
+		// Parse the input and generate the STL encoded output
+		const result = exporter.parse( mesh, options );
+		</code>
+
+		<h2>Examples</h2>
+
+		<p>
+			[example:misc_exporter_stl]
+		</p>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]()</h3>
+		<p>
+		Creates a new [name].
+		</p>
+
+		<h2>Methods</h2>
+
+		<h3>[method:Object parse]( [param:Object3D scene], [param:Object options] )</h3>
+
+		<p>
+		[page:Object3D scene] — Scene, Mesh, or other Object3D based class containing Meshes to encode.<br />
+		[page:Options options] — Optional export options<br />
+		<ul>
+			<li>binary - bool. Return an ASCII encoded string or binary data buffer. Default is `false`.</li>
+		</ul>
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/exporters/STLExporter.js examples/jsm/exporters/STLExporter.js]
+		</p>
+	</body>
+</html>

+ 15 - 2
docs/examples/en/geometries/ConvexGeometry.html

@@ -11,8 +11,21 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">[name] can be used to generate a convex hull for a given array of 3D points.
-			The average time complexity for this task is considered to be O(nlog(n)).</p>
+		<p class="desc">
+			[name] can be used to generate a convex hull for a given array of 3D points.
+			The average time complexity for this task is considered to be O(nlog(n)).
+		</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 { ConvexGeometry } from 'three/addons/geometries/ConvexGeometry.js';
+		</code>
 
 		<h2>Code Example</h2>
 

+ 15 - 1
docs/examples/en/geometries/DecalGeometry.html

@@ -11,7 +11,21 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">[name] can be used to create a decal mesh that serves different kinds of purposes e.g. adding unique details to models, performing dynamic visual environmental changes or covering seams.</p>
+		<p class="desc">
+			[name] can be used to create a decal mesh that serves different kinds of purposes e.g. adding unique details
+			to models, performing dynamic visual environmental changes or covering seams.
+		</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 { DecalGeometry } from 'three/addons/geometries/DecalGeometry.js';
+		</code>
 
 		<h2>Code Example</h2>
 

+ 11 - 14
docs/examples/en/geometries/ParametricGeometry.html

@@ -11,23 +11,20 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">Generate geometry representing a parametric surface.</p>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
+		<p class="desc">
+			Generate geometry representing a parametric surface.
+		</p>
 
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
+		<h2>Import</h2>
 
-		}
+		<p>
+			[name] is an add-on, and must be imported explicitly.
+			See [link:#manual/introduction/Installation Installation / Addons].
+		</p>
 
-		</script>
+		<code>
+			import { ParametricGeometry } from 'three/addons/geometries/ParametricGeometry.js';
+		</code>
 
 		<h2>Code Example</h2>
 

+ 8 - 13
docs/examples/en/geometries/TextGeometry.html

@@ -17,21 +17,16 @@
 			See the [page:FontLoader] page for additional details.
 		</p>
 
-		<script>
+		<h2>Import</h2>
 
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
+		<p>
+			[name] is an add-on, and must be imported explicitly.
+			See [link:#manual/introduction/Installation Installation / Addons].
+		</p>
 
-		</script>
+		<code>
+			import { TextGeometry } from 'three/addons/geometries/TextGeometry.js';
+		</code>
 
 		<h2>Code Example</h2>
 

+ 11 - 0
docs/examples/en/helpers/LightProbeHelper.html

@@ -15,6 +15,17 @@
 			Renders a sphere to visualize a light probe in the scene.
 		<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 { LightProbeHelper } from 'three/addons/helpers/LightProbeHelper.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/helpers/PositionalAudioHelper.html

@@ -13,6 +13,17 @@
 
 		<p class="desc">This helper displays the directional cone of a [page:PositionalAudio].</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 { PositionalAudioHelper } from 'three/addons/helpers/PositionalAudioHelper.js';
+		</code>
+
 		<h2>Code Example</h2>
 		<code>
 		const positionalAudio = new THREE.PositionalAudio( listener );

+ 11 - 0
docs/examples/en/helpers/RectAreaLightHelper.html

@@ -15,6 +15,17 @@
 			Creates a visual aid for a [page:RectAreaLight].
 		</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 { RectAreaLightHelper } from 'three/addons/helpers/RectAreaLightHelper.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/helpers/VertexNormalsHelper.html

@@ -17,6 +17,17 @@
 			have been calculated using [page:BufferGeometry.computeVertexNormals computeVertexNormals].<br /><br />
 		</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 { VertexNormalsHelper } from 'three/addons/helpers/VertexNormalsHelper.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/helpers/VertexTangentsHelper.html

@@ -17,6 +17,17 @@
 			have been calculated using [page:BufferGeometry.computeTangents computeTangents].<br /><br />
 		</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 { VertexTangentsHelper } from 'three/addons/helpers/VertexTangentsHelper.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/lights/LightProbeGenerator.html

@@ -14,6 +14,17 @@
 			Utility class for creating instances of [page:LightProbe].
 		</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 { LightProbeGenerator } from 'three/addons/lights/LightProbeGenerator.js';
+		</code>
+
 		<h2>Examples</h2>
 
 		<p>

+ 15 - 4
docs/examples/en/loaders/3DMLoader.html

@@ -17,6 +17,17 @@
 			The loader currently uses [link:https://www.npmjs.com/package/rhino3dm/v/0.15.0-beta rhino3dm.js 0.15.0-beta.]
 		</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 { 3DMLoader } from 'three/addons/loaders/3DMLoader.js';
+		</code>
+
 		<h2>Supported Conversions</h2>
 
 		<p>
@@ -110,7 +121,7 @@
 
 		// Specify path to a folder containing WASM/JS libraries or a CDN.
 		//loader.setLibraryPath( '/path_to_library/rhino3dm/' );
-		loader.setLibraryPath( 'https://cdn.jsdelivr.net/npm/rhino3dm@0.15.0-beta/' );
+		loader.setLibraryPath( 'https://cdn.jsdelivr.net/npm/rhino3dm@7.15.0/' );
 
 		// Load a 3DM file
 		loader.load(
@@ -184,13 +195,13 @@
 		</p>
 
 		<code>
-		import rhino3dm from 'https://cdn.jsdelivr.net/npm/rhino3dm@0.15.0-beta/rhino3dm.module.js'
+		import rhino3dm from 'https://cdn.jsdelivr.net/npm/rhino3dm@7.15.0/rhino3dm.module.js'
 
 		// Instantiate a loader
 		const loader = new Rhino3dmLoader();
 
 		// Specify path to a folder containing WASM/JS libraries or a CDN.
-		loader.setLibraryPath( 'https://cdn.jsdelivr.net/npm/rhino3dm@0.15.0-beta/' );
+		loader.setLibraryPath( 'https://cdn.jsdelivr.net/npm/rhino3dm@7.15.0/' );
 
 		rhino3dm().then(async m => {
 
@@ -227,7 +238,7 @@
 		// Specify path to a folder containing the WASM/JS library:
 		loader.setLibraryPath( '/path_to_library/rhino3dm/' );
 		// or from a CDN:
-		loader.setLibraryPath( 'https://cdn.jsdelivr.net/npm/rhino3dm@0.15.0-beta/' );
+		loader.setLibraryPath( 'https://cdn.jsdelivr.net/npm/rhino3dm@7.15.0/' );
 		</code>
 
 		<h3>[method:this setWorkerLimit]( [param:Number workerLimit] )</h3>

+ 11 - 0
docs/examples/en/loaders/DRACOLoader.html

@@ -31,6 +31,17 @@
 			decoder instances.
 		</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 { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/loaders/FontLoader.html

@@ -19,6 +19,17 @@
 		You can convert fonts online using [link:https://gero3.github.io/facetype.js/ facetype.js]
 		</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 { FontLoader } from 'three/addons/loaders/FontLoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/loaders/GLTFLoader.html

@@ -25,6 +25,17 @@
 			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>Import</h2>
+
+		<p>
+			[name] is an add-on, and must be imported explicitly.
+			See [link:#manual/introduction/Installation Installation / Addons].
+		</p>
+
+		<code>
+			import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
+		</code>
+
 		<h2>Extensions</h2>
 
 		<p>

+ 12 - 1
docs/examples/en/loaders/KTX2Loader.html

@@ -27,6 +27,17 @@
 			directory.
 		</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 { KTX2Loader } from 'three/addons/loaders/KTX2Loader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>
@@ -81,7 +92,7 @@
 
 		<h3>[method:CompressedTexture load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
 		<p>
-		[page:String url] — A string containing the path/URL of the `.basis` file.<br />
+		[page:String url] — A string containing the path/URL of the `.ktx2` file.<br />
 		[page:Function onLoad] — A function to be called after the loading is successfully completed.<br />
 		[page:Function onProgress] — (optional) A function to be called while the loading is in progress. The argument will be the XMLHttpRequest instance, that contains .[page:Integer total] and .[page:Integer loaded] bytes. If the server does not set the Content-Length header; .[page:Integer total] will be 0.<br />
 		[page:Function onError] — (optional) A function to be called if an error occurs during loading. The function receives error as an argument.<br />

+ 10 - 0
docs/examples/en/loaders/LDrawLoader.html

@@ -29,6 +29,16 @@
 		See section 'Packing LDraw models'. The LDrawLoader example loads several packed files.
 		The official parts library is not included due to its large size.</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 { LDrawLoader } from 'three/addons/loaders/LDrawLoader.js';
+		</code>
 
 		<h2>Extensions</h2>
 

+ 12 - 1
docs/examples/en/loaders/MMDLoader.html

@@ -15,7 +15,18 @@
 		[name] creates Three.js Objects from MMD resources as PMD, PMX, VMD, and VPD files.
 		See [page:MMDAnimationHelper] for MMD animation handling as IK, Grant, and Physics.<br /><br />
 
-		If you want raw content of MMD resources, use .loadPMD/PMX/VMD/VPD methods.
+		If you want raw content of MMD resources, use .loadPMD/PMX/VMD/VPD methods.</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 { MMDLoader } from 'three/addons/loaders/MMDLoader.js';
+		</code>
 
 		<h2>Code Example</h2>
 

+ 11 - 0
docs/examples/en/loaders/MTLLoader.html

@@ -16,6 +16,17 @@
 		(material) properties of objects within one or more .OBJ files.
 		</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 { MTLLoader } from 'three/addons/loaders/MTLLoader.js';
+		</code>
+
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:LoadingManager loadingManager] )</h3>

+ 11 - 0
docs/examples/en/loaders/OBJLoader.html

@@ -18,6 +18,17 @@
 		vertices, and texture vertices.
 		</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 { OBJLoader } from 'three/addons/loaders/OBJLoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/loaders/PCDLoader.html

@@ -22,6 +22,17 @@
 			</ul>
 		</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 { PCDLoader } from 'three/addons/loaders/PCDLoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/loaders/PDBLoader.html

@@ -15,6 +15,17 @@
 		The [link:http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format) Protein Data Bank] file format is a textual file describing the three-dimensional structures of molecules.
 		</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 { PDBLoader } from 'three/addons/loaders/PDBLoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/loaders/PRWMLoader.html

@@ -19,6 +19,17 @@
 		on this [link:https://github.com/kchapelier/PRWM here].
 		</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 { PRWMLoader } from 'three/addons/loaders/PRWMLoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/loaders/SVGLoader.html

@@ -15,6 +15,17 @@
 		[link:https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics] is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
 		</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 { SVGLoader } from 'three/addons/loaders/SVGLoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 11 - 0
docs/examples/en/loaders/TGALoader.html

@@ -15,6 +15,17 @@
 		[link:https://en.wikipedia.org/wiki/Truevision_TGA TGA] is a raster graphics, image file format.
 		</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 { TGALoader } from 'three/addons/loaders/TGALoader.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

+ 12 - 1
docs/examples/en/math/Lut.html

@@ -10,9 +10,20 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		Represents a lookup table for colormaps. It is used to determine the color values from a range of data values.
+			Represents a lookup table for colormaps. It is used to determine the color values from a range of data values.
 		</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 { Lut } from 'three/addons/math/Lut.js';
+		</code>
+
 		<h2>Code Example</h2>
 
 		<code>

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