Mr.doob 4 years ago
parent
commit
b51624a12a
100 changed files with 4649 additions and 434 deletions
  1. 187 125
      build/three.js
  2. 0 0
      build/three.min.js
  3. 204 127
      build/three.module.js
  4. 5 2
      docs/api/en/core/BufferGeometry.html
  5. 5 0
      docs/api/en/core/Object3D.html
  6. 3 3
      docs/api/en/extras/core/Shape.html
  7. 4 4
      docs/api/en/extras/curves/CubicBezierCurve3.html
  8. 1 1
      docs/api/en/geometries/PlaneGeometry.html
  9. 0 3
      docs/api/en/materials/MeshBasicMaterial.html
  10. 0 3
      docs/api/en/materials/MeshDepthMaterial.html
  11. 0 3
      docs/api/en/materials/MeshDistanceMaterial.html
  12. 0 3
      docs/api/en/materials/MeshLambertMaterial.html
  13. 0 3
      docs/api/en/materials/MeshMatcapMaterial.html
  14. 0 3
      docs/api/en/materials/MeshNormalMaterial.html
  15. 0 4
      docs/api/en/materials/MeshPhongMaterial.html
  16. 2 2
      docs/api/en/materials/MeshPhysicalMaterial.html
  17. 0 3
      docs/api/en/materials/MeshStandardMaterial.html
  18. 0 3
      docs/api/en/materials/MeshToonMaterial.html
  19. 0 5
      docs/api/en/materials/ShaderMaterial.html
  20. 12 9
      docs/api/en/math/Matrix4.html
  21. 2 2
      docs/api/en/objects/Skeleton.html
  22. 1 2
      docs/api/en/objects/SkinnedMesh.html
  23. 58 0
      docs/api/en/renderers/WebGLMultipleRenderTargets.html
  24. 7 0
      docs/api/en/renderers/WebGLMultisampleRenderTarget.html
  25. 42 2
      docs/api/en/renderers/webxr/WebXRManager.html
  26. 4 3
      docs/api/en/textures/VideoTexture.html
  27. 1 1
      docs/api/ko/animation/AnimationClip.html
  28. 1 1
      docs/api/ko/animation/KeyframeTrack.html
  29. 3 3
      docs/api/ko/animation/PropertyBinding.html
  30. 1 1
      docs/api/ko/animation/PropertyMixer.html
  31. 205 0
      docs/api/ko/core/BufferAttribute.html
  32. 298 0
      docs/api/ko/core/BufferGeometry.html
  33. 87 0
      docs/api/ko/core/Clock.html
  34. 97 0
      docs/api/ko/core/EventDispatcher.html
  35. 111 0
      docs/api/ko/core/GLBufferAttribute.html
  36. 42 0
      docs/api/ko/core/InstancedBufferAttribute.html
  37. 40 0
      docs/api/ko/core/InstancedBufferGeometry.html
  38. 44 0
      docs/api/ko/core/InstancedInterleavedBuffer.html
  39. 124 0
      docs/api/ko/core/InterleavedBuffer.html
  40. 119 0
      docs/api/ko/core/InterleavedBufferAttribute.html
  41. 97 0
      docs/api/ko/core/Layers.html
  42. 470 0
      docs/api/ko/core/Object3D.html
  43. 206 0
      docs/api/ko/core/Raycaster.html
  44. 269 0
      docs/api/ko/core/Uniform.html
  45. 65 0
      docs/api/ko/core/bufferAttributeTypes/BufferAttributeTypes.html
  46. 31 0
      docs/api/ko/extras/DataUtils.html
  47. 33 0
      docs/api/ko/extras/Earcut.html
  48. 31 0
      docs/api/ko/extras/ImageUtils.html
  49. 78 0
      docs/api/ko/extras/PMREMGenerator.html
  50. 51 0
      docs/api/ko/extras/ShapeUtils.html
  51. 118 0
      docs/api/ko/extras/core/Curve.html
  52. 76 0
      docs/api/ko/extras/core/CurvePath.html
  53. 54 0
      docs/api/ko/extras/core/Font.html
  54. 48 0
      docs/api/ko/extras/core/Interpolations.html
  55. 144 0
      docs/api/ko/extras/core/Path.html
  56. 101 0
      docs/api/ko/extras/core/Shape.html
  57. 88 0
      docs/api/ko/extras/core/ShapePath.html
  58. 26 0
      docs/api/ko/extras/curves/ArcCurve.html
  59. 79 0
      docs/api/ko/extras/curves/CatmullRomCurve3.html
  60. 74 0
      docs/api/ko/extras/curves/CubicBezierCurve.html
  61. 75 0
      docs/api/ko/extras/curves/CubicBezierCurve3.html
  62. 91 0
      docs/api/ko/extras/curves/EllipseCurve.html
  63. 45 0
      docs/api/ko/extras/curves/LineCurve.html
  64. 44 0
      docs/api/ko/extras/curves/LineCurve3.html
  65. 69 0
      docs/api/ko/extras/curves/QuadraticBezierCurve.html
  66. 70 0
      docs/api/ko/extras/curves/QuadraticBezierCurve3.html
  67. 65 0
      docs/api/ko/extras/curves/SplineCurve.html
  68. 110 0
      docs/api/ko/extras/objects/ImmediateRenderObject.html
  69. 5 0
      docs/api/zh/core/Object3D.html
  70. 3 3
      docs/api/zh/extras/core/Shape.html
  71. 1 1
      docs/api/zh/geometries/PlaneGeometry.html
  72. 0 3
      docs/api/zh/materials/MeshBasicMaterial.html
  73. 0 3
      docs/api/zh/materials/MeshDepthMaterial.html
  74. 0 3
      docs/api/zh/materials/MeshDistanceMaterial.html
  75. 0 3
      docs/api/zh/materials/MeshLambertMaterial.html
  76. 0 3
      docs/api/zh/materials/MeshMatcapMaterial.html
  77. 0 3
      docs/api/zh/materials/MeshNormalMaterial.html
  78. 0 4
      docs/api/zh/materials/MeshPhongMaterial.html
  79. 2 2
      docs/api/zh/materials/MeshPhysicalMaterial.html
  80. 0 3
      docs/api/zh/materials/MeshStandardMaterial.html
  81. 0 3
      docs/api/zh/materials/MeshToonMaterial.html
  82. 0 5
      docs/api/zh/materials/ShaderMaterial.html
  83. 3 3
      docs/api/zh/math/Spherical.html
  84. 2 2
      docs/api/zh/objects/Skeleton.html
  85. 0 1
      docs/api/zh/objects/SkinnedMesh.html
  86. 58 0
      docs/api/zh/renderers/WebGLMultipleRenderTargets.html
  87. 7 0
      docs/api/zh/renderers/WebGLMultisampleRenderTarget.html
  88. 42 2
      docs/api/zh/renderers/webxr/WebXRManager.html
  89. 29 0
      docs/examples/en/utils/CameraUtils.html
  90. 21 21
      docs/examples/zh/loaders/PCDLoader.html
  91. 3 0
      docs/list.json
  92. 0 1
      docs/manual/ar/introduction/How-to-update-things.html
  93. 0 1
      docs/manual/en/introduction/How-to-update-things.html
  94. 1 2
      docs/manual/ja/introduction/How-to-update-things.html
  95. 0 1
      docs/manual/ko/introduction/How-to-update-things.html
  96. 0 1
      docs/manual/zh/introduction/How-to-update-things.html
  97. 12 12
      docs/page.js
  98. 0 1
      docs/scenes/bones-browser.html
  99. 23 23
      editor/js/Sidebar.Material.js
  100. 19 3
      editor/js/Strings.js

File diff suppressed because it is too large
+ 187 - 125
build/three.js


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


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


+ 5 - 2
docs/api/en/core/BufferGeometry.html

@@ -176,8 +176,11 @@
 		</p>
 		</p>
 
 
 
 
-		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
-		<p>Bakes matrix transform directly into vertex coordinates.</p>
+		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>Applies the matrix transform to the geometry.</p>
+
+		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
+		<p>Applies the rotation represented by the quaternion to the geometry.</p>
 
 
 		<h3>[method:BufferGeometry center] ()</h3>
 		<h3>[method:BufferGeometry center] ()</h3>
 		<p>Center the geometry based on the bounding box.</p>
 		<p>Center the geometry based on the bounding box.</p>

+ 5 - 0
docs/api/en/core/Object3D.html

@@ -325,6 +325,11 @@
 		Removes *object* as child of this object. An arbitrary number of objects may be removed.
 		Removes *object* as child of this object. An arbitrary number of objects may be removed.
 		</p>
 		</p>
 
 
+		<h3>[method:this removeFromParent]()</h3>
+		<p>
+		Removes this object from its current parent.
+		</p>
+
 		<h3>[method:this clear]()</h3>
 		<h3>[method:this clear]()</h3>
 		<p>
 		<p>
 		Removes all child objects.
 		Removes all child objects.

+ 3 - 3
docs/api/en/extras/core/Shape.html

@@ -23,13 +23,13 @@
 
 
 		heartShape.moveTo( 25, 25 );
 		heartShape.moveTo( 25, 25 );
 		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
 		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
-		heartShape.bezierCurveTo( 30, 0, 30, 35,30,35 );
-		heartShape.bezierCurveTo( 30, 55, 10, 77, 25, 95 );
+		heartShape.bezierCurveTo( - 30, 0, - 30, 35, - 30, 35 );
+		heartShape.bezierCurveTo( - 30, 55, - 10, 77, 25, 95 );
 		heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
 		heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
 		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
 		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
 		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
 		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
 
 
-		const extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
+		const extrudeSettings = { depth: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
 
 
 		const geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
 		const geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
 
 

+ 4 - 4
docs/api/en/extras/curves/CubicBezierCurve3.html

@@ -51,16 +51,16 @@
 		<h2>Properties</h2>
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 		<p>See the base [page:Curve] class for common properties.</p>
 
 
-		<h3>[property:Vector2 v0]</h3>
+		<h3>[property:Vector3 v0]</h3>
 		<p>The starting point.</p>
 		<p>The starting point.</p>
 
 
-		<h3>[property:Vector2 v1]</h3>
+		<h3>[property:Vector3 v1]</h3>
 		<p>The first control point.</p>
 		<p>The first control point.</p>
 
 
-		<h3>[property:Vector2 v2]</h3>
+		<h3>[property:Vector3 v2]</h3>
 		<p>The second control point.</p>
 		<p>The second control point.</p>
 
 
-		<h3>[property:Vector2 v3]</h3>
+		<h3>[property:Vector3 v3]</h3>
 		<p>The ending point.</p>
 		<p>The ending point.</p>
 
 
 
 

+ 1 - 1
docs/api/en/geometries/PlaneGeometry.html

@@ -33,7 +33,7 @@
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>
 
 
-		<code>const geometry = new THREE.PlaneGeometry( 5, 20, 32 );
+		<code>const geometry = new THREE.PlaneGeometry( 1, 1 );
 		const material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
 		const material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
 		const plane = new THREE.Mesh( geometry, material );
 		const plane = new THREE.Mesh( geometry, material );
 		scene.add( plane );
 		scene.add( plane );

+ 0 - 3
docs/api/en/materials/MeshBasicMaterial.html

@@ -109,9 +109,6 @@
 			The refraction ratio should not exceed 1. Default is *0.98*.
 			The refraction ratio should not exceed 1. Default is *0.98*.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p>Specular map used by the material. Default is null.</p>
 		<p>Specular map used by the material. Default is null.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshDepthMaterial.html

@@ -87,9 +87,6 @@
 		<h3>[property:Boolean morphTargets]</h3>
 		<h3>[property:Boolean morphTargets]</h3>
 		<p>Define whether the material uses morphTargets. Default is false.</p>
 		<p>Define whether the material uses morphTargets. Default is false.</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>Render geometry as wireframe. Default is false (i.e. render as smooth shaded).</p>
 		<p>Render geometry as wireframe. Default is false (i.e. render as smooth shaded).</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshDistanceMaterial.html

@@ -108,9 +108,6 @@
 			The position of the point light in world space.
 			The position of the point light in world space.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h2>Methods</h2>
 		<h2>Methods</h2>
 		<p>See the base [page:Material] class for common methods.</p>
 		<p>See the base [page:Material] class for common methods.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshLambertMaterial.html

@@ -138,9 +138,6 @@
 			The refraction ratio should not exceed 1. Default is *0.98*.
 			The refraction ratio should not exceed 1. Default is *0.98*.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p>Specular map used by the material. Default is null.</p>
 		<p>Specular map used by the material. Default is null.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshMatcapMaterial.html

@@ -136,9 +136,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h2>Methods</h2>
 		<h2>Methods</h2>
 		<p>See the base [page:Material] class for common methods.</p>
 		<p>See the base [page:Material] class for common methods.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshNormalMaterial.html

@@ -113,9 +113,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>
 		<p>
 			Render geometry as wireframe. Default is false (i.e. render as smooth shaded).
 			Render geometry as wireframe. Default is false (i.e. render as smooth shaded).

+ 0 - 4
docs/api/en/materials/MeshPhongMaterial.html

@@ -203,10 +203,6 @@
 		<h3>[property:Float shininess]</h3>
 		<h3>[property:Float shininess]</h3>
 		<p>How shiny the [page:.specular] highlight is; a higher value gives a sharper highlight. Default is *30*.</p>
 		<p>How shiny the [page:.specular] highlight is; a higher value gives a sharper highlight. Default is *30*.</p>
 
 
-
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Color specular]</h3>
 		<h3>[property:Color specular]</h3>
 		<p>
 		<p>
 			Specular color of the material. Default is a [page:Color] set to *0x111111* (very dark grey).<br /><br />
 			Specular color of the material. Default is a [page:Color] set to *0x111111* (very dark grey).<br /><br />

+ 2 - 2
docs/api/en/materials/MeshPhysicalMaterial.html

@@ -82,14 +82,14 @@
 
 
 		<h3>[property:Float clearcoat]</h3>
 		<h3>[property:Float clearcoat]</h3>
 		<p>
 		<p>
-		Represents the thickness of the clear coat layer, from *0.0* to *1.0*. Use clear coat related properties to enable multilayer
+		Represents the intensity of the clear coat layer, from *0.0* to *1.0*. Use clear coat related properties to enable multilayer
 		materials that have a thin translucent layer over the base layer. Default is *0.0*.
 		materials that have a thin translucent layer over the base layer. Default is *0.0*.
 		</p>
 		</p>
 
 
 		<h3>[property:Texture clearcoatMap]</h3>
 		<h3>[property:Texture clearcoatMap]</h3>
 		<p>
 		<p>
 		The red channel of this texture is multiplied against [page:.clearcoat], for per-pixel control
 		The red channel of this texture is multiplied against [page:.clearcoat], for per-pixel control
-		over a coating's thickness. Default is *null*.
+		over a coating's intensity. Default is *null*.
 		</p>
 		</p>
 
 
 		<h3>[property:Texture clearcoatNormalMap]</h3>
 		<h3>[property:Texture clearcoatNormalMap]</h3>

+ 0 - 3
docs/api/en/materials/MeshStandardMaterial.html

@@ -242,9 +242,6 @@
 		<h3>[property:Texture roughnessMap]</h3>
 		<h3>[property:Texture roughnessMap]</h3>
 		<p>The green channel of this texture is used to alter the roughness of the material.</p>
 		<p>The green channel of this texture is used to alter the roughness of the material.</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean vertexTangents]</h3>
 		<h3>[property:Boolean vertexTangents]</h3>
 		<p>
 		<p>
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,

+ 0 - 3
docs/api/en/materials/MeshToonMaterial.html

@@ -163,9 +163,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 
 

+ 0 - 5
docs/api/en/materials/ShaderMaterial.html

@@ -383,11 +383,6 @@ this.extensions = {
 		Define whether the material is rendered with flat shading. Default is false.
 		Define whether the material is rendered with flat shading. Default is false.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>
-		Define whether the material uses skinning; true to pass skinning attributes to the shader. Default is false.
-		</p>
-
 		<h3>[property:Object uniforms]</h3>
 		<h3>[property:Object uniforms]</h3>
 		<p>
 		<p>
 			An object of the form:
 			An object of the form:

+ 12 - 9
docs/api/en/math/Matrix4.html

@@ -138,7 +138,7 @@ m.elements = [ 11, 21, 31, 41,
 
 
 		<h3>[method:null decompose]( [param:Vector3 position], [param:Quaternion quaternion], [param:Vector3 scale] )</h3>
 		<h3>[method:null decompose]( [param:Vector3 position], [param:Quaternion quaternion], [param:Vector3 scale] )</h3>
 		<p>
 		<p>
-		Decomposes this matrix into it's [page:Vector3 position], [page:Quaternion quaternion] and [page:Vector3 scale] components.<br/><br/>
+		Decomposes this matrix into its [page:Vector3 position], [page:Quaternion quaternion] and [page:Vector3 scale] components.<br/><br/>
 		Note: Not all matrices are decomposable in this way. For example, if an object has a non-uniformly scaled parent, then the object's world matrix may not be decomposable, and this method may not be appropriate.
 		Note: Not all matrices are decomposable in this way. For example, if an object has a non-uniformly scaled parent, then the object's world matrix may not be decomposable, and this method may not be appropriate.
 		</p>
 		</p>
 
 
@@ -317,18 +317,21 @@ x, 0, 0, 0,
 			</code>
 			</code>
 		</p>
 		</p>
 
 
-		<h3>[method:this makeShear]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<h3>[method:this makeShear]( [param:Float xy], [param:Float xz], [param:Float yx], [param:Float yz], [param:Float zx], [param:Float zy] )</h3>
 		<p>
 		<p>
-		[page:Float x] - the amount to shear in the X axis.<br />
-		[page:Float y] - the amount to shear in the Y axis.<br />
-		[page:Float z] - the amount to shear in the Z axis.<br /><br />
+			[page:Float x] - the amount to shear X by Y.<br />
+			[page:Float x] - the amount to shear X by Z.<br />
+			[page:Float x] - the amount to shear Y by X.<br />
+			[page:Float x] - the amount to shear Y by Z.<br />
+			[page:Float y] - the amount to shear Z by X.<br />
+			[page:Float z] - the amount to shear Z by Y.<br /><br />
 
 
 		Sets this matrix as a shear transform:
 		Sets this matrix as a shear transform:
 <code>
 <code>
-1, y, z, 0,
-x, 1, z, 0,
-x, y, 1, 0,
-0, 0, 0, 1
+1,   yx,  zx,  0,
+xy,   1,  zy,  0,
+xz,  yz,   1,  0,
+0,    0,   0,  1
 </code>
 </code>
 		</p>
 		</p>
 
 

+ 2 - 2
docs/api/en/objects/Skeleton.html

@@ -91,15 +91,15 @@
 		Returns a clone of this Skeleton object.
 		Returns a clone of this Skeleton object.
 		</p>
 		</p>
 
 
-
 		<h3>[method:null calculateInverses]()</h3>
 		<h3>[method:null calculateInverses]()</h3>
 		<p>Generates the [page:.boneInverses boneInverses] array if not provided in the constructor.</p>
 		<p>Generates the [page:.boneInverses boneInverses] array if not provided in the constructor.</p>
 
 
+		<h3>[method:null computeBoneTexture]()</h3>
+		<p>Computes an instance of [page:DataTexture] in order to pass the bone data more efficiently to the shader. The texture is assigned to [page:.boneTexture boneTexture].</p>
 
 
 		<h3>[method:null pose]()</h3>
 		<h3>[method:null pose]()</h3>
 		<p>Returns the skeleton to the base pose.</p>
 		<p>Returns the skeleton to the base pose.</p>
 
 
-
 		<h3>[method:null update]()</h3>
 		<h3>[method:null update]()</h3>
 		<p>
 		<p>
 		Updates the [page:Float32Array boneMatrices] and [page:DataTexture boneTexture] after changing the bones.
 		Updates the [page:Float32Array boneMatrices] and [page:DataTexture boneTexture] after changing the bones.

+ 1 - 2
docs/api/en/objects/SkinnedMesh.html

@@ -13,7 +13,6 @@
 
 
 		<p class="desc">
 		<p class="desc">
 			A mesh that has a [page:Skeleton] with [page:Bone bones] that can then be used to animate the vertices of the geometry.
 			A mesh that has a [page:Skeleton] with [page:Bone bones] that can then be used to animate the vertices of the geometry.
-			The material must support skinning and have skinning enabled - see [page:MeshStandardMaterial.skinning].
 		</p>
 		</p>
 
 
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>
@@ -157,7 +156,7 @@
 		<p>
 		<p>
 		Calculates the position of the vertex at the given index relative to the current bone transformations.
 		Calculates the position of the vertex at the given index relative to the current bone transformations.
 		</p>
 		</p>
-			
+
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		<p>
 		<p>

+ 58 - 0
docs/api/en/renderers/WebGLMultipleRenderTargets.html

@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:WebGLRenderTarget] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			A special render target that enables a fragment shader to write to several textures.
+			This approach is useful for advanced rendering techniques like post-processing or deferred rendering.
+
+			Heads up: [name] can only be used with a WebGL 2 rendering context.
+		</p>
+
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl2_multiple_rendertargets webgl2 / multiple / rendertargets ]
+		</p>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([param:Number width], [param:Number height], [param:Number count])</h3>
+
+		<p>
+		[page:Number width] - The width of the render target. <br />
+		[page:Number height] - The height of the render target.<br />
+		[page:Number count] - The number of render targets.
+		</p>
+
+		<h2>Properties</h2>
+
+		<h3>[property:Array texture]</h3>
+		<p>
+		The texture property is overwritten in [name] and replaced with an array. This array holds the [page:WebGLRenderTarget.texture texture]
+		references of the respective render targets.
+		</p>
+
+		<p>[page:WebGLRenderTarget WebGLRenderTarget] properties are available on this class.</p>
+
+		<h2>Methods</h2>
+
+		<p>[page:WebGLRenderTarget WebGLRenderTarget] methods are available on this class.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 7 - 0
docs/api/en/renderers/WebGLMultisampleRenderTarget.html

@@ -7,6 +7,8 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	</head>
 	<body>
 	<body>
+		[page:WebGLRenderTarget] &rarr;
+
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">
 		<p class="desc">
@@ -14,6 +16,11 @@
 			Heads up: [name] can only be used with a WebGL 2 rendering context.
 			Heads up: [name] can only be used with a WebGL 2 rendering context.
 		</p>
 		</p>
 
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl2_multisampled_renderbuffers webgl2 / multisampled / renderbuffers ]
+		</p>
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 

+ 42 - 2
docs/api/en/renderers/webxr/WebXRManager.html

@@ -19,6 +19,11 @@
 
 
 		<h2>Properties</h2>
 		<h2>Properties</h2>
 
 
+		<h3>[property:Boolean cameraAutoUpdate]</h3>
+		<p>
+		Whether the manager's XR camera should be automatically updated or not. Default is *true*.
+		</p>
+
 		<h3>[property:Boolean enabled]</h3>
 		<h3>[property:Boolean enabled]</h3>
 		<p>
 		<p>
 		This flag notifies the renderer to be ready for XR rendering. Default is *false*. Set it to *true* if you are going
 		This flag notifies the renderer to be ready for XR rendering. Default is *false*. Set it to *true* if you are going
@@ -32,11 +37,21 @@
 
 
 		<h2>Methods</h2>
 		<h2>Methods</h2>
 
 
+		<h3>[method:ArrayCamera getCamera]()</h3>
+		<p>
+		Returns an instance of [page:ArrayCamera] which represents the XR camera of the active XR session.
+		For each view it holds a separate camera object in its [page:ArrayCamera.cameras cameras] property.
+		</p>
+		<p>
+		The camera's *fov* is currently not used and does not reflect the fov of the XR camera. If you need the fov on app level,
+		you have to compute in manually from the XR camera's projection matrices.
+		</p>
+
 		<h3>[method:Group getController]( [param:Integer index] )</h3>
 		<h3>[method:Group getController]( [param:Integer index] )</h3>
 		<p>
 		<p>
 		[page:Integer index] — The index of the controller. <br /><br />
 		[page:Integer index] — The index of the controller. <br /><br />
 
 
-		Returns a [page:Group] representing the so called *target ray* space of the controller.
+		Returns a [page:Group] representing the so called *target ray* space of the XR controller.
 		Use this space for visualizing 3D objects that support the user in pointing tasks like UI interaction.
 		Use this space for visualizing 3D objects that support the user in pointing tasks like UI interaction.
 		</p>
 		</p>
 
 
@@ -44,7 +59,7 @@
 		<p>
 		<p>
 		[page:Integer index] — The index of the controller. <br /><br />
 		[page:Integer index] — The index of the controller. <br /><br />
 
 
-		Returns a [page:Group] representing the so called *grip* space of the controller.
+		Returns a [page:Group] representing the so called *grip* space of the XR controller.
 		Use this space if the user is going to hold other 3D objects like a lightsaber.
 		Use this space if the user is going to hold other 3D objects like a lightsaber.
 		</p>
 		</p>
 
 
@@ -54,6 +69,24 @@
 		in two different coordinate spaces for the same WebXR controller.
 		in two different coordinate spaces for the same WebXR controller.
 		</p>
 		</p>
 
 
+		<h3>[method:Group getHand]( [param:Integer index] )</h3>
+		<p>
+		[page:Integer index] — The index of the controller. <br /><br />
+
+		Returns a [page:Group] representing the so called *hand* or *joint* space of the XR controller.
+		Use this space for visualizing the user's hands when no physical controllers are used.
+		</p>
+
+		<h3>[method:String getReferenceSpace]()</h3>
+		<p>
+		Returns the reference space.
+		</p>
+
+		<h3>[method:XRSession getSession]()</h3>
+		<p>
+		Returns the *XRSession* object which allows a more fine-grained management of active WebXR sessions on application level.
+		</p>
+
 		<h3>[method:void setFramebufferScaleFactor]( [param:Float framebufferScaleFactor] )</h3>
 		<h3>[method:void setFramebufferScaleFactor]( [param:Float framebufferScaleFactor] )</h3>
 		<p>
 		<p>
 		[page:Float framebufferScaleFactor] — The framebuffer scale factor to set.<br /><br />
 		[page:Float framebufferScaleFactor] — The framebuffer scale factor to set.<br /><br />
@@ -76,6 +109,13 @@
 		Please check out the [link:https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType MDN] for possible values and their use cases.
 		Please check out the [link:https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType MDN] for possible values and their use cases.
 		</p>
 		</p>
 
 
+		<h3>[method:void updateCamera]( [param:PerspectiveCamera camera] )</h3>
+		<p>
+		Updates the state of the XR camera. Use this method on app level if you set [page:.cameraAutoUpdate] to *false*.
+		The method requires the non-XR camera of the scene as a parameter. The passed in camera's transformation is automatically
+		adjusted to the position of the XR camera when calling this method.
+		</p>
+
 		<p>
 		<p>
 		Note: It is not possible to change the reference space type while presenting XR content.
 		Note: It is not possible to change the reference space type while presenting XR content.
 		</p>
 		</p>

+ 4 - 3
docs/api/en/textures/VideoTexture.html

@@ -14,7 +14,7 @@
 		<p class="desc">
 		<p class="desc">
 		Creates a texture for use with a video texture.<br /><br />
 		Creates a texture for use with a video texture.<br /><br />
 
 
-		This is almost the same as the base [page:Texture Texture] class, except that it continuosly sets [page:Texture.needsUpdate needsUpdate] to *true* so that the texture is updated as the video plays. Automatic creation of [page:Texture.mipmaps mipmaps] is also disabled.
+		This is almost the same as the base [page:Texture Texture] class, except that it continuously sets [page:Texture.needsUpdate needsUpdate] to *true* so that the texture is updated as the video plays. Automatic creation of [page:Texture.mipmaps mipmaps] is also disabled.
 		</p>
 		</p>
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>
@@ -49,8 +49,9 @@
 		[page:Constant minFilter] -- How the texture is sampled when a texel covers less than one pixel.
 		[page:Constant minFilter] -- How the texture is sampled when a texel covers less than one pixel.
 		The default is [page:Textures THREE.LinearMipmapLinearFilter]. See [page:Textures minification filter constants] for other choices.<br />
 		The default is [page:Textures THREE.LinearMipmapLinearFilter]. See [page:Textures minification filter constants] for other choices.<br />
 
 
-		[page:Constant format] -- The format used in the texture.
-		See [page:Textures format constants] for other choices.<br />
+		[page:Constant format] -- The default is [page:Textures THREE.RGBFormat].
+		See [page:Textures format constants] for other choices.
+		Note that a bug has been reported with Firefox's WebGL implementation where use of [page:Textures THREE.RGBFormat] on a VideoTexture can result in a significant performance penalty, if you encounter this issue it is recommended to pass in [page:Textures THREE.RGBAFormat] instead.<br />
 
 
 		[page:Constant type] -- Default is [page:Textures THREE.UnsignedByteType].
 		[page:Constant type] -- Default is [page:Textures THREE.UnsignedByteType].
 		See [page:Textures type constants] for other choices.<br />
 		See [page:Textures type constants] for other choices.<br />

+ 1 - 1
docs/api/ko/animation/AnimationClip.html

@@ -112,7 +112,7 @@
 
 
 		<h3>[method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )</h3>
 		<h3>[method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )</h3>
 		<p>
 		<p>
-			Searches for an AnimationClip을 위한 검색기로, 첫 파라미터 혹은 AnimationClips 배열, "animations"라는 이름을 가진 mesh, geometry 열로부터 이름을 기반으로 검색합니다.
+			Searches for an AnimationClip을 위한 검색기로, 첫 파라미터 혹은 AnimationClips 배열, "animations"라는 이름을 가진 mesh, geometry 열로부터 이름을 기반으로 검색합니다.
 		</p>
 		</p>
 
 
 		<h3>[method:AnimationClip parse]( [param:Object json] )</h3>
 		<h3>[method:AnimationClip parse]( [param:Object json] )</h3>

+ 1 - 1
docs/api/ko/animation/KeyframeTrack.html

@@ -88,7 +88,7 @@
 		</p>
 		</p>
 
 
 		<p>
 		<p>
-			트랙의 이름은 노드의 이름을 사용하거나 노드의 uuid(믹서에 전달된 장면 그래프 노드의 서브트리 안에 있어야 하지만)를 사용해서 노드를 특정할 수 있습니다.
+			트랙의 이름은 노드의 이름을 사용하거나 노드의 uuid(믹서에 전달된  그래프 노드의 서브트리 안에 있어야 하지만)를 사용해서 노드를 특정할 수 있습니다.
 			혹은 만약 트랙 이름이 .으로 시작한다면, 트랙은  믹서에 전달된 루트 노드를 적용할 것입니다.
 			혹은 만약 트랙 이름이 .으로 시작한다면, 트랙은  믹서에 전달된 루트 노드를 적용할 것입니다.
 		</p>
 		</p>
 
 

+ 3 - 3
docs/api/ko/animation/PropertyBinding.html

@@ -10,7 +10,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">
 		<p class="desc">
-			내부적으로 사용되는 장면 그래프의 실제 프로퍼티에 대한 내용입니다.
+			내부적으로 사용되는  그래프의 실제 프로퍼티에 대한 내용입니다.
 		</p>
 		</p>
 
 
 
 
@@ -81,13 +81,13 @@
 
 
 		<h3>[method:null bind]( )</h3>
 		<h3>[method:null bind]( )</h3>
 		<p>
 		<p>
-			장면 그래프에 있는 프로퍼티에 대한 게터와 세터를 생성합니다. 내부적으로
+			 그래프에 있는 프로퍼티에 대한 게터와 세터를 생성합니다. 내부적으로
 			[page:PropertyBinding.getValue getValue] 와 [page:PropertyBinding.setValue setValue]로 사용됩니다.
 			[page:PropertyBinding.getValue getValue] 와 [page:PropertyBinding.setValue setValue]로 사용됩니다.
 		</p>
 		</p>
 
 
 		<h3>[method:null unbind]( )</h3>
 		<h3>[method:null unbind]( )</h3>
 		<p>
 		<p>
-			장면 그래프에 있는 프로퍼티에 대한 게터와 세터의 연결을 끊습니다.
+			 그래프에 있는 프로퍼티에 대한 게터와 세터의 연결을 끊습니다.
 		</p>
 		</p>
 
 
 		<h3>[method:Constructor Composite]( targetGroup, path, optionalParsedPath )</h3>
 		<h3>[method:Constructor Composite]( targetGroup, path, optionalParsedPath )</h3>

+ 1 - 1
docs/api/ko/animation/PropertyMixer.html

@@ -10,7 +10,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">
 		<p class="desc">
-		내부적으로 사용되는 가중치 축적을 허용하는 버퍼 장면 그래프 프로퍼티입니다.
+		내부적으로 사용되는 가중치 축적을 허용하는 버퍼  그래프 프로퍼티입니다.
 		</p>
 		</p>
 
 
 
 

+ 205 - 0
docs/api/ko/core/BufferAttribute.html

@@ -0,0 +1,205 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		이 클래스에는 [page:BufferGeometry]와 연관된 속성 데이터(꼭짓점 위치, 면 순서, 법선, 색깔,
+		UV, 모든 커스텀 속성들 등)를 저장하고 있으며, GPU에 보다 효율적으로 데이터를 전송할 수 있게 합니다. 
+		세부사항 및 활용 예제를 확인해보세요.<br /><br />
+
+		데이터는 모든 길이가 벡터로 저장되며 ([page:BufferAttribute.itemSize itemSize]로 정의된 값),
+		일반적으로 인덱스 값으로 전달될 경우 메서드 내에서 밑줄이 쳐지며 자동으로 벡터 길이에 곱해집니다.
+		</p>
+
+		<h2>생성자</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
+		<p>
+		[page:TypedArray array] -- 반드시 [link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/TypedArray TypedArray]여야 합니다.
+		버퍼를 시작하는데에 사용됩니다. <br />
+		배열에는 
+	 	<code>itemSize * numVertices</code>
+		엘레먼트가 있어야 하며, numVertices는 [page:BufferGeometry BufferGeometry]와 연관된 꼭짓점의 갯수입니다.<br /><br />
+
+
+		[page:Integer itemSize] --  특정 꼭짓점과 연관된 배열의 값의 수입니다.
+		예를 들어 이 속성에서 3개의 벡터(위치, 법선, 색 처럼)를 저장하고 있다면, itemSize는 3이 됩니다.
+		<br /><br />
+
+		[page:Boolean normalized] -- (생략가능) 정수 데이터에만 적용됩니다. 버퍼에 있는 기저 데이터가 GLSL 코드에서 값으로 맵핑되는 방식입니다. 
+		예를 들어 [page:TypedArray array]가 UInt16Array의 인스턴스이고, [page:Boolean normalized]가 true면 배열에 있는 0 - +65535 값들은 
+		GLSL 속성에서 0.0f - +1.0f로 매핑될 것입니다. Int16Array (기호 있는)는 -32767 - +32767 가 -1.0f - +1.0f 로 매핑될 것입니다. 
+		[page:Boolean normalized]가 false라면, 값은 수정 없이 floats로 변환될 것입니다. 예) 32767은 32767.0f로 변환.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:TypedArray array]</h3>
+		<p>
+		버퍼에 저장되어 있는 데이터를 담고 있는 [page:TypedArray array].
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+		[page:BufferAttribute.itemSize itemSize]로 나눈 [page:BufferAttribute.array array]의 길이를 저장.<br /><br />
+
+		버퍼가 3개의 컴포넌트를 저장한 벡터(위치, 법선, 색 등)
+		저장된 벡터들의 수를 계산합니다.
+		</p>
+
+		<h3>[property:Integer itemSize]</h3>
+		<p>[page:BufferAttribute.array array]에 저장되는 벡터의 길이.</p>
+
+		<h3>[property:String name]</h3>
+		<p>
+		이 속성 인스턴스의 임시 이름. 기본값은 빈 문자열입니다.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+		이 속성이 변했는지와 GPU에 다시 전송해야하는지에 대한 표시입니다.
+		배열의 값을 수정했다면 이 값을 true로 설정하세요.<br /><br />
+
+		이 값을 true로 설정하면 [page:BufferAttribute.version version] 값도 높입니다.
+		</p>
+
+		<h3>[property:Boolean normalized]</h3>
+		<p>
+		버퍼에 있는 기저 데이터가 GLSL 코드에서 값으로 맵핑되는 방식입니다. 
+		자세한 내용은 위의 생성자 부분을 참고하세요.
+		</p>
+
+		<h3>[property:Function onUploadCallback]</h3>
+		<p>
+		렌더러가 속성 배열 데이터를 GPU에 전달한 후에 실행되는 함수입니다.
+		</p>
+
+		<h3>[property:Object updateRange]</h3>
+		<p>포함 객체:<br />
+			[page:Integer offset]: 기본값은 *0*입니다. 업데이트를 시작할 위치입니다.<br />
+			[page:Integer count]: 기본값은 *-1*이고, 업데이트 번위를 사용하지 않는다는 의미입니다.<br /><br />
+
+			저장된 벡터의 몇몇 컴포넌트들을 업데이트 할 때만 사용됩니다 (예를 들면, 색과 관련된 컴포넌트만 업데이트할 때).
+		</p>
+
+		<h3>[property:Usage usage]</h3>
+		<p>
+			최적화를 목적으로 특정 데이터 저장 패턴 사용을 정의합니다. 
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]()의 *usage* 파라미터에 대응됩니다.
+			기본값은 *THREE.StaticDrawUsage*입니다.
+		</p>
+
+		<h3>[property:Integer version]</h3>
+		<p>버전값으로, [page:BufferAttribute.needsUpdate needsUpdate] 속성이 true로 설정될 때 증가합니다.</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:this applyMatrix3]( [param:Matrix3 m] )</h3>
+		<p>현재 BufferAttribute의 모든 Vector3 엘레먼트에 matrix [page:Matrix3 m]를 적용합니다.</p>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>현재 BufferAttribute의 모든 Vector3 엘레먼트에 matrix [page:Matrix4 m]를 적용합니다.</p>
+
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>현재 BufferAttribute의 모든 Vector3 엘레먼트에 일반 matrix [page:Matrix3 m]를 적용합니다.</p>
+
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>현재 BufferAttribute의 모든 Vector3 엘레먼트에 matrix [page:Matrix4 m]를 적용하고, 엘레먼트를 방향 벡터로 이동합니다.</p>
+
+		<h3>[method:BufferAttribute clone]() </h3>
+		<p>bufferAttribute 사본을 리턴합니다.</p>
+
+		<h3>[method:BufferAttribute copy]( [param:BufferAttribute bufferAttribute] )</h3>
+		<p>현재의 BufferAttribute에 다른 BufferAttribute를 붙여 넣습니다.</p>
+
+		<h3>[method:BufferAttribute copyArray]( array ) </h3>
+		<p>[page:BufferAttribute.array array]에 해당 배열(일반 배열 혹은 TypedArray)을 복사합니다.<br /><br />
+
+			TypedArray를 복사할 때의 조건에 대한 주의사항은 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]
+			를 참고해 주세요.
+		</p>
+
+		<h3>[method:null copyAt] ( [param:Integer index1], [param:BufferAttribute bufferAttribute], [param:Integer index2] ) </h3>
+		<p>bufferAttribute[index2]의 벡터를 [page:BufferAttribute.array array][index1]에 복사합니다.</p>
+
+		<h3>[method:BufferAttribute copyColorsArray]( [param:Array colors] ) </h3>
+		<p>RGB 색상 값을 나타내는 배열을 [page:BufferAttribute.array array]에 복사합니다.</p>
+
+		<h3>[method:BufferAttribute copyVector2sArray]( [param:Array vectors] ) </h3>
+		<p>[page:Vector2]값을 나타내는 배열을 [page:BufferAttribute.array array]에 복사합니다.</p>
+
+		<h3>[method:BufferAttribute copyVector3sArray]( [param:Array vectors] ) </h3>
+		<p>[page:Vector3]값을 나타내는 배열을 [page:BufferAttribute.array array]에 복사합니다.</p>
+
+		<h3>[method:BufferAttribute copyVector4sArray]( [param:Array vectors] ) </h3>
+		<p>[page:Vector4]값을 나타내는 배열을 [page:BufferAttribute.array array]에 복사합니다.</p>
+
+		<h3>[method:Number getX]( [param:Integer index] ) </h3>
+		<p>해당 index의 벡터의 x 컴포넌트 값을 리턴합니다.</p>
+
+		<h3>[method:Number getY]( [param:Integer index] ) </h3>
+		<p>해당 index의 벡터의 y 컴포넌트 값을 리턴합니다.</p>
+
+		<h3>[method:Number getZ]( [param:Integer index] ) </h3>
+		<p>해당 index의 벡터의 z 컴포넌트 값을 리턴합니다.</p>
+
+		<h3>[method:Number getW]( [param:Integer index] ) </h3>
+		<p>해당 index의 벡터의 w 컴포넌트 값을 리턴합니다.</p>
+
+		<h3>[method:this onUpload]( [param:Function callback] ) </h3>
+		<p>
+		onUploadCallback 속성의 값을 설정합니다.<br /><br />
+
+		이 값은 [example:webgl_buffergeometry WebGL / Buffergeometry]에서 버퍼가 GPU로 전송된 후에 자유 메모리로 사용됩니다. 
+		</p>
+
+		<h3>[method:BufferAttribute set] ( [param:Array value], [param:Integer offset] ) </h3>
+		<p>
+		value -- 복사할 [page:Array] 혹은 [page:TypedArray] 값입니다. <br />
+		offset -- (생략가능) 복사를 시작할 [page:BufferAttribute.array array] 의 인덱스값입니다.<br /><br />
+
+		[page:BufferAttribute.array array]에서 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set TypedArray.set]( [page:Array value], [page:Integer offset] )
+		를 호출합니다.<br /><br />
+
+		[page:Array value]가 [page:TypedArray]로 되는 조건에 대해서는 해당 페이지를 참고하세요.
+		</p>
+
+		<h3>[method:BufferAttribute setUsage] ( [param:Usage value] ) </h3>
+		<p>[page:BufferAttribute.usage usage]를 value로 설정합니다.</p>
+
+		<h3>[method:BufferAttribute setX]( [param:Integer index], [param:Float x] ) </h3>
+		<p> x 컴포넌트 값을 설정합니다.</p>
+
+		<h3>[method:BufferAttribute setY]( [param:Integer index], [param:Float y] ) </h3>
+		<p> y 컴포넌트 값을 설정합니다.</p>
+
+		<h3>[method:BufferAttribute setZ]( [param:Integer index], [param:Float z] ) </h3>
+		<p> z 컴포넌트 값을 설정합니다.</p>
+
+		<h3>[method:BufferAttribute setW]( [param:Integer index], [param:Float w] ) </h3>
+		<p> w 컴포넌트 값을 설정합니다.</p>
+
+		<h3>[method:BufferAttribute setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
+		<p>index의 벡터의 x 및 y 컴포넌트를 설정합니다.</p>
+
+		<h3>[method:BufferAttribute setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
+		<p> x, y 및 z 컴포넌트를 설정합니다. </p>
+
+		<h3>[method:BufferAttribute setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
+		<p> x, y, z 및 w 컴포넌트를 설정합니다. </p>
+
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 298 - 0
docs/api/ko/core/BufferGeometry.html

@@ -0,0 +1,298 @@
+<!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>[name]</h1>
+
+		<p>
+		메쉬, 선, 점 기하학의 표현입니다. 꼭짓점의 위치, 면 순서, 법선, 색상, UV, 버퍼에 있는 커스텀 속성을 포함하고 있으며, 데이터를 GPU에 전달하는 
+		자원을 줄여줍니다.
+		</p>
+		<p>
+		속성에 있는 데이터를 읽고 수정하려면, [page:BufferAttribute] 문서를 참고하세요.
+		</p>
+
+		<h2>코드 예제</h2>
+		<code>
+		const geometry = new THREE.BufferGeometry();
+		// create a simple square shape. We duplicate the top left and bottom right
+		// vertices because each vertex needs to appear once per triangle.
+		const vertices = new Float32Array( [
+			-1.0, -1.0,  1.0,
+			 1.0, -1.0,  1.0,
+			 1.0,  1.0,  1.0,
+
+			 1.0,  1.0,  1.0,
+			-1.0,  1.0,  1.0,
+			-1.0, -1.0,  1.0
+		] );
+
+		// itemSize = 3 because there are 3 values (components) per vertex
+		geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
+		const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		const mesh = new THREE.Mesh( geometry, material );
+		</code>
+
+		<h2>예제</h2>
+		<p>
+			[example:webgl_buffergeometry Mesh with non-indexed faces]<br />
+			[example:webgl_buffergeometry_indexed Mesh with indexed faces]<br />
+			[example:webgl_buffergeometry_lines Lines]<br />
+			[example:webgl_buffergeometry_lines_indexed Indexed Lines]<br />
+			[example:webgl_buffergeometry_custom_attributes_particles Particles]<br />
+			[example:webgl_buffergeometry_rawshader Raw Shaders]
+		</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]()</h3>
+		<div>
+		새 [name]를 만듭니다. 몇몇 기본값도 설정합니다.
+		</div>
+
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Object attributes]</h3>
+		<p>
+		이 해시맵은 설정될 속성의 이름을 id로 가지고 있으며 설정해야 할 [page:BufferAttribute buffer] 값을 value로 가지고 있습니다.
+		프로퍼티에 직접 접근하기보다, [page:.setAttribute] 및 [page:.getAttribute]를 통해 이 기하학 속성에 접근하세요.
+		</p>
+
+		<h3>[property:Box3 boundingBox]</h3>
+		<p>
+			bufferGeometry의 바운딩 박스이며 [page:.computeBoundingBox]()로 계산할 수 있습니다. 
+			기본값은 *null*입니다.
+		</p>
+
+		<h3>[property:Sphere boundingSphere]</h3>
+		<p>
+			bufferGeometry의 바운딩 스피어이며 [page:.computeBoundingSphere]()로 계산할 수 있습니다. 
+			기본값은 *null*입니다.
+		</p>
+
+		<h3>[property:Object drawRange]</h3>
+		<p>
+			렌더링할 기하학의 부분을 정의합니다. 직접 설정하면 안되며 [page:.setDrawRange]를 사용해야 합니다. 
+			기본 값은 다음과 같습니다.
+			<code>
+				{ start: 0, count: Infinity }
+			</code>
+			인덱스가 없는 BufferGeometry의 경우, count는 렌더링할 꼭짓점들의 갯수입니다.
+			인덱스가 있는 BufferGeometry의 경우, count는 렌더링할 인덱스의 갯수입니다.
+		</p>
+
+		<h3>[property:Array groups]</h3>
+		<p>
+			기하학을 그룹으로 나누며 각자의 WebGL 그리기 요청을 통해 렌더링 됩니다.
+			bufferGeometry와 함께 사용되는 재질의 배열을 허용합니다..<br /><br />
+
+			각자의 그룹은 형태의 객체입니다:
+			<code>{ start: Integer, count: Integer, materialIndex: Integer }</code>
+			start는 이 드리기 요청에서 첫 번째 엘레먼드를 지정하지만 – 첫 번째 인덱스가 없는 기하학이기때문이지만,
+			다른 경우는 첫 번째 삼각형 인덱스입니다. Count는 몇 개의 꼭짓점(혹은 인덱스)가 포함되었는지, 
+			materialIndex는 사용할 재질 배열 인덱스를 지정합니다.
+
+			배열을 직접 수정하기보다는 [page:.addGroup]를 사용해 그룹을 추가합니다.
+		</p>
+
+
+		<!-- Note: groups used to be called drawCalls
+
+		<h3>[property:Array drawcalls]</h3>
+		<p>
+		For geometries that use indexed triangles, this Array can be used to split the object
+		into multiple WebGL draw calls. Each draw call will draw some subset of the vertices
+		in this geometry using the configured [page:Material shader]. This may be necessary if,
+		for instance, you have more than 65535 vertices in your object.
+		</p> -->
+
+
+		<h3>[property:Integer id]</h3>
+		<p>인스턴스의 고유한 번호입니다.</p>
+
+		<h3>[property:BufferAttribute index]</h3>
+		<p>
+			꼭짓점을 여러 개의 삼각형으로 재 사용할 수 있게 해줍니다; 이를 "indexed triangles"를 사용한다고 합니다.
+			각각의 삼각형은 세 꼭짓점의 인덱스와 연관되어 있습니다. 이 속성은 따라서 각 삼각형 면의 각 꼭짓점의 인덱스를 저장하고 있습니다.
+
+			이 속성이 설정되어 있지 않다면, [page:WebGLRenderer renderer]는 세 연속된 위치가 단일 삼각형을 나타낸다고 추정합니다.
+			
+			기본값은 *null* 입니다.
+		</p>
+
+		<h3>[property:Object morphAttributes]</h3>
+		<p>
+			[page:BufferAttribute]의 해쉬맵은 기하학의 모프 타겟에 대한 세부정보를 담고 있습니다.
+		</p>
+
+		<h3>[property:Boolean morphTargetsRelative]</h3>
+		<p>
+			모프 타겟의 행동을 컨트롤하는데에 사용됩니다; true로 설정하면, 모프 타겟 데이터는 absolute positions/normals 대신 relative offsets으로 취급됩니다.
+
+			기본값은 *false* 입니다.
+		</p>
+
+		<h3>[property:String name]</h3>
+		<p>
+		인스턴스의 임의 이름입니다. 기본값은 빈 문자열입니다.
+		</p>
+
+		<h3>[property:Object userData]</h3>
+		<p>
+		BufferGeometry에 관한 커스텀 데이터를 저장하는데에 사용될 수 있는 객체입니다. 이 속성은 복제되지 않기 때문에
+		기능에 대한 참조를 포함하고 있어서는 안됩니다.
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		객체 인스턴스의 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]입니다.
+		자동으로 할당되며 수정할 수 없습니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>이 클래스에서는 [page:EventDispatcher EventDispatcher] 메서드들이 활용 가능합니다.</h3>
+
+		<h3>[method:BufferGeometry setAttribute]( [param:String name], [param:BufferAttribute attribute] )</h3>
+		<p>
+		기하학에 대한 속성을 설정합니다. [page:.attributes]의 내부 해시맵은 속성들의 반복 속도 증가를 위해 유지되기 때문에, 
+		속성 프로퍼티 대신 이 메서드를 사용하세요.
+		</p>
+
+		<h3>[method:null addGroup]( [param:Integer start], [param:Integer count], [param:Integer materialIndex] )</h3>
+		<p>
+			기하학에 그룹을 추가합니다; 프로퍼티 상세에 대해서는 [page:BufferGeometry.groups groups] 페이지를 참고하세요.
+		</p>
+
+
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>꼭짓점 좌표로 직접 매트릭스 변형을 합니다.</p>
+
+		<h3>[method:BufferGeometry center] ()</h3>
+		<p>바운딩 박스를 기준으로 기하학을 중앙정렬합니다.</p>
+
+		<h3>[method:BufferGeometry clone]()</h3>
+		<p>BufferGeometry의 사본을 만듭니다.</p>
+
+		<h3>[method:BufferGeometry copy]( [param:BufferGeometry bufferGeometry] )</h3>
+		<p>다른 BufferGeometry를 이 BufferGeometry에 복사합니다.</p>
+
+		<h3>[method:null clearGroups]( )</h3>
+		<p>모든 그룹을 제거합니다.</p>
+
+		<h3>[method:null computeBoundingBox]()</h3>
+		<p>
+		기하학의 바운딩 박스를 계산하고 [page:.boundingBox] 속성을 업데이트합니다.<br />
+		바운딩 박스는 자동으로 계산되지 않습니다. 명시적으로 계산되어야하며 그렇지 않으면 *null* 값입니다.
+		</p>
+
+		<h3>[method:null computeBoundingSphere]()</h3>
+		<p>
+		기하학의 바운딩 스피어를 계산하고 [page:.boundingSphere] 속성을 업데이트합니다.<br />
+		바운딩 스피어는 자동으로 계산되지 않습니다. 명시적으로 계산되어야하며 그렇지 않으면 *null* 값입니다.
+		</p>
+
+		<h3>[method:null computeTangents]()</h3>
+		<p>
+		기하학에 탄젠트 속성을 계산하고 추가합니다.<br />
+		이 계산은 인덱스가 있는 기하학에만 지원되며 위치, 법선, uv 속성이 정의되어야 합니다.
+		</p>
+
+		<h3>[method:null computeVertexNormals]()</h3>
+		<p>면의 법선 평균값을 통해 꼭짓점 법선을 계산합니다.</p>
+
+		<h3>[method:null dispose]()</h3>
+		<p>
+		메모리에서 객체를 정리합니다. <br />
+		앱이 동작중인데 BufferGeometry를 삭제하고 싶을 때 호출합니다.
+		</p>
+
+		<h3>[method:BufferAttribute getAttribute]( [param:String name] )</h3>
+		<p>[page:BufferAttribute attribute]를 특정 이름과 함께 리턴합니다.</p>
+
+		<h3>[method:BufferAttribute getIndex] ()</h3>
+		<p>[page:.index] 버퍼를 리턴합니다.</p>
+
+		<h3>[method:Boolean hasAttribute]( [param:String name] )</h3>
+		<p>특정 이름의 속성이 존재하면 *true*를 리턴합니다.</p>
+
+		<h3>[method:BufferGeometry lookAt] ( [param:Vector3 vector] )</h3>
+		<p>
+		vector - 바라보는 시점의 월드 벡터 입니다.<br /><br />
+
+		공간의 점을 기준으로 기하학을 면을 회전시킵니다. 일반적으로 한 구간에서만 사용되며 루프 구간에서 사용되지 않습니다.
+		일반적인 리얼타임 메쉬 사용은 [page:Object3D.lookAt] 을 사용하세요.
+		</p>
+
+		<h3>[method:null merge]( [param:BufferGeometry bufferGeometry], [param:Integer offset] )</h3>
+		<p>병합을 시작할 지점인 임의의 오프셋으로 다른 BufferGeometry에 병합합니다.</p>
+
+		<h3>[method:null normalizeNormals]()</h3>
+		<p>
+		기하학의 모든 법선 벡터는 1의 크기를 갖습니다.
+		기하학 표면의 광도를 수정합니다.
+		</p>
+
+		<h3>[method:BufferAttribute deleteAttribute]( [param:String name] )</h3>
+		<p>특정 이름의 [page:BufferAttribute attribute]를 전부 삭제합니다.</p>
+
+		<h3>[method:BufferGeometry rotateX] ( [param:Float radians] )</h3>
+		<p>
+		X 축의 기하학을 회전합니다. 일반적으로 한 구간에서만 사용되며 루프 구간에서 사용되지 않습니다.
+		일반적인 리얼타임 메쉬 회전은 [page:Object3D.rotation] 를 사용하세요.
+		</p>
+
+		<h3>[method:BufferGeometry rotateY] ( [param:Float radians] )</h3>
+		<p>
+		Y 축의 기하학을 회전합니다. 일반적으로 한 구간에서만 사용되며 루프 구간에서 사용되지 않습니다.
+		일반적인 리얼타임 메쉬 회전은 [page:Object3D.rotation] 를 사용하세요.
+		</p>
+
+		<h3>[method:BufferGeometry rotateZ] ( [param:Float radians] )</h3>
+		<p>
+		Z 축의 기하학을 회전합니다. 일반적으로 한 구간에서만 사용되며 루프 구간에서 사용되지 않습니다.
+		일반적인 리얼타임 메쉬 회전은 [page:Object3D.rotation] 를 사용하세요.
+		</p>
+
+		<h3>[method:BufferGeometry scale] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+		기하학 데이터를 확대/축소합니다. 일반적으로 한 구간에서만 사용되며 루프 구간에서 사용되지 않습니다.
+		일반적인 리얼타임 메쉬 확대/축소는 [page:Object3D.scale] 를 사용하세요.
+		</p>
+
+		<h3>[method:BufferGeometry setIndex] ( [param:BufferAttribute index] )</h3>
+		<p>[page:.index] 버퍼를 설정합니다.</p>
+
+		<h3>[method:null setDrawRange] ( [param:Integer start], [param:Integer count] )</h3>
+		<p>[page:.drawRange] 프로퍼티를 설정합니다. 인덱스가 없는 BufferGeometry에서, count는 렌더링할 꼭짓점의 수입니다.
+		인덱스가 있는 BufferGeometry에서 count는 렌더링할 인덱스의 수입니다.</p>
+
+		<h3>[method:BufferGeometry setFromPoints] ( [param:Array points] )</h3>
+		<p>점 배열로부터 BufferGeometry의 속성을 설정합니다. from an array of points.</p>
+
+		<h3>[method:Object toJSON]()</h3>
+		<p>버퍼 기하학을 three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format]로 변환합니다.</p>
+
+		<h3>[method:BufferGeometry toNonIndexed]()</h3>
+		<p>인덱스가 있는 BufferGeometry의 인덱스가 없는 버전을 리턴합니다.</p>
+
+		<h3>[method:BufferGeometry translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+		기하학을 이동합니다. 일반적으로 한 구간에서만 사용되며 루프 구간에서 사용되지 않습니다.
+		일반적인 리얼타임 메쉬 이동은 [page:Object3D.position] 를 사용하세요.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 87 - 0
docs/api/ko/core/Clock.html

@@ -0,0 +1,87 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		시간을 파악하는 객체입니다. [link:https://developer.mozilla.org/en-US/docs/Web/API/Performance/now performance.now]를 우선적으로 사용하며, 사용이 불가능할 때는 덜 정확한 [link:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now Date.now]를 사용합니다.
+		</p>
+
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Boolean autoStart] )</h3>
+		<p>
+		autoStart — (생략 가능) 자동으로 시계를 시작시킬지 설정합니다. 기본값은 true 입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Boolean autoStart]</h3>
+		<p>
+		업데이트가 최초로 호출되면 자동으로 시계를 시작시킵니다. 기본값은 true 입니다.
+		</p>
+
+		<h3>[property:Float startTime]</h3>
+		<p>
+		시계의 [page:Clock.start start] 메서드가 호출되면 시간을 멈춥니다.
+ 		</p>
+
+
+		<h3>[property:Float oldTime]</h3>
+		<p>
+		시계의 [page:Clock.start start], [page:Clock.getElapsedTime getElapsedTime] 혹은 [page:Clock.getDelta getDelta]
+		메서드가 호출되면 시간을 멈춥니다.
+ 		</p>
+
+		<h3>[property:Float elapsedTime]</h3>
+		<p>
+		시계가 작동한 총 시간을 가지고 있습니다.
+ 		</p>
+
+		<h3>[property:Boolean running]</h3>
+		<p>
+		시계가 동작중인지 아닌지를 나타냅니다.
+ 		</p>
+
+
+		<h2>메서드</h2>
+
+		<h3>[method:null start]()</h3>
+		<p>
+		시계를 시작시킵니다. 또한 [page:Clock.startTime startTime] 및 [page:Clock.oldTime oldTime]을 현재 시간으로 업데이트하고
+		[page:Clock.elapsedTime elapsedTime] 를 *0*으로, [page:Clock.running running] *true*로 설정합니다.
+		</p>
+
+		<h3>[method:null stop]()</h3>
+		<p>
+		시계를 멈추고 [page:Clock.oldTime oldTime]을 현재 시간으로 설정합니다.
+		</p>
+
+		<h3>[method:Float getElapsedTime]()</h3>
+		<p>
+		시계가 시작한 이후로부터의 초를 가져오며 [page:Clock.oldTime oldTime]을 현재 시간으로 설정합니다.<br />
+		[page:Clock.autoStart autoStart]가 *true* 이고 시계가 멈춰있는 상태라면, 시계를 시작시킵니다.
+		</p>
+
+		<h3>[method:Float getDelta]()</h3>
+		<p>
+		[page:Clock.oldTime oldTime]이 설정된 이후로부터 지난 초를 가져오며 [page:Clock.oldTime oldTime]을 현재 시간으로 설정합니다.<br />
+		[page:Clock.autoStart autoStart]가 *true* 이고 시계가 멈춰있는 상태라면, 시계를 시작시킵니다.
+		</p>
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 97 - 0
docs/api/ko/core/EventDispatcher.html

@@ -0,0 +1,97 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+			커스텀 객체를 위한 자바스크립트 이벤트입니다.<br />
+			[link:https://github.com/mrdoob/eventdispatcher.js Eventdispatcher on GitHub]
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		// Adding events to a custom object
+
+		class Car extends EventDispatcher {
+
+			start() {
+
+				this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
+
+			}
+
+		};
+
+		// Using events with the custom object
+
+		const car = new Car();
+
+		car.addEventListener( 'start', function ( event ) {
+
+			alert( event.message );
+
+		} );
+
+		car.start();
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]()</h3>
+		<p>
+		EventDispatcher 객체를 만듭니다.
+		</p>
+
+
+		<h2>메서드</h2>
+
+		<h3>[method:null addEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		type - 리스닝할 이벤트의 타입입니다.<br />
+		listener - 이벤트가 작동하면 호출될 함수입니다.
+		</p>
+		<p>
+		이벤트 타입에 리스너를 추가합니다.
+		</p>
+
+		<h3>[method:Boolean hasEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		type - 리스닝할 이벤트의 타입입니다.<br />
+		listener - 이벤트가 작동하면 호출될 함수입니다.
+		</p>
+		<p>
+		리스너가 이벤트 타입에 추가되었는지를 체크합니다.
+		</p>
+
+		<h3>[method:null removeEventListener]( [param:String type], [param:Function listener] )</h3>
+		<p>
+		type - 제거될 리스너의 타입입니다.<br />
+		listener - 제거될 리스너 함수입니다.
+		</p>
+		<p>
+		이벤트 타입에서 리스너를 제거합니다.
+		</p>
+
+		<h3>[method:null dispatchEvent]( [param:Object event] )</h3>
+		<p>
+		event - 작동하는 이벤트입니다.
+		</p>
+		<p>
+		이벤트 타입을 작동시킵니다.
+		</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/core/GLBufferAttribute.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>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			이 버퍼 속성 클래스는 VBO를 생성하지 않습니다. 대신, VBO가 생성자로 전달되고 난 후의 모든 것을 사용하며 후에 *buffer* 속성으로 변경될 수 있습니다.<br /><br />
+			VBO와 나란히 추가적인 파라미터 전달이 필요합니다. 해당 파라미터는 다음과 같습니다:
+			GL 구조체, GL 데이터 타입, 꼭짓점 당 컴포넌트 갯수,
+			컴포넌트 당 바이트 수, 꼭짓점의 수.<br /><br />
+			이 클래스의 가장 일반적인 사용 사례는 어떤 종류의 GPGPU 계산이 해당 VBO를 방해하거나 심지어 생성하는 경우입니다.
+		</p>
+
+		<h2>생성자</h2>
+		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
+		<p>
+		*buffer* — 반드시 <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>여야 합니다.
+		<br />
+		*type* — <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL</a> 데이터 타입 중 하나.
+		<br />
+		*itemSize* — 특정 꼭짓점가 연관되어야 하는 배열의 값의 수. 예를 들어 이 속성이 3-컴포넌트 벡터(예: 위치, 법선 또는 색상)를 저장하는 경우 (
+			itemSize는 3이어야 합니다.
+		<br />
+		*elementSize* — 1, 2 혹은 4. 할당된 "type" 파라미터에 상응하는 사이즈(바이트).
+		<ul>
+			<li>gl.FLOAT: 4</li>
+			<li>gl.UNSIGNED_SHORT: 2</li>
+			<li>gl.SHORT: 2</li>
+			<li>gl.UNSIGNED_INT: 4</li>
+			<li>gl.INT: 4</li>
+			<li>gl.BYTE: 1</li>
+			<li>gl.UNSIGNED_BYTE: 1</li>
+		</ul>
+		*count* — 예상되는 VBO의 꼭짓점 수.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:WebGLBuffer buffer]</h3>
+		<p>
+			현재의 <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a> 인스턴스.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+			VBO의 꼭짓점 수.
+		</p>
+
+		<h3>[property:Integer itemSize]</h3>
+		<p>
+			각 항목을 구성하는 값의 크기 (꼭짓점).
+		</p>
+
+		<h3>[property:Integer elementSize]</h3>
+		<p>
+			현재의 *type* 속성 값에 맞는 바이트 사이즈를 저장.
+		</p>
+		<p>
+			알려진 타입 크기 리스트는 위의 (생성자)를 참고.
+		</p>
+
+		<h3>[property:GLenum type]</h3>
+		<p>
+			기저의 VBO 컨텐츠를 묘사하는 <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Type</a>
+			.
+		</p>
+		<p>
+			*elementSize*와 함께 이 속성을 설정합니다. 추천하는 방법은 *setType* 메서드를 사용하는 것입니다.
+		</p>
+
+		<h3>[property:Boolean isGLBufferAttribute]</h3>
+		<p>
+			읽기 전용. 언제나 *true*입니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:null setBuffer]( buffer ) </h3>
+		<p>*buffer* 속성을 설정합니다.</p>
+
+		<h3>[method:null setType]( type, elementSize ) </h3>
+		<p>*type* 및 *elementSize* 속성을 설정합니다.</p>
+
+		<h3>[method:null setItemSize]( itemSize ) </h3>
+		<p>*itemSize* 속성을 설정합니다.</p>
+
+		<h3>[method:null setCount]( count ) </h3>
+		<p>*count* 속성을 설정합니다.</p>
+
+		<h3>[property:Integer version]</h3>
+		<p>
+		버전 넘버이며 needsUpdate 속성이 true가 될 때마다 증가합니다.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+		기본값은 *false* 입니다. true로 설정하면 [page:GLBufferAttribute.version version]을 증가시킵니다.
+		</p>
+
+		<h2>소스코드</h2>
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 42 - 0
docs/api/ko/core/InstancedBufferAttribute.html

@@ -0,0 +1,42 @@
+<!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:BufferAttribute] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		[page:BufferAttribute]의 인스턴스 버전입니다.
+		</p>
+
+		<h2>생성자</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Boolean normalized], [param:Number meshPerAttribute] )</h3>
+		<p>
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>상속받은 속성은 [page:BufferAttribute]를 참고하세요.</p>
+
+		<h3>[property:Number meshPerAttribute]</h3>
+		<p>
+			이 버퍼 속성의 값이 얼마나 자주 반복되어야 하는지를 정의합니다. 
+			값이 1이라면 각 인스턴스 속성이 한 개의 인스턴스로만 사용됩니다. 
+			값이 2라면 각 값은 두 개의 연속적인 인스턴스(그 후로)에 사용됩니다. 기본값은 *1*입니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>상속 메서드는 [page:BufferAttribute] 를 참고하세요.</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 40 - 0
docs/api/ko/core/InstancedBufferGeometry.html

@@ -0,0 +1,40 @@
+<!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]의 인스턴스 버전입니다.
+		</p>
+
+		<h2>생성자</h2>
+		<h3>[name]( )</h3>
+		<p>
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>상속 프로퍼티는 [page:BufferGeometry] 를 참고하세요.</p>
+
+		<h3>[property:Number instanceCount]</h3>
+		<p>
+			기본값은 *Infinity*입니다.
+		</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>

+ 44 - 0
docs/api/ko/core/InstancedInterleavedBuffer.html

@@ -0,0 +1,44 @@
+<!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:InterleavedBuffer] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		[page:InterleavedBuffer]의 인스턴스 버전입니다.
+		</p>
+
+		<h2>생성자</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer itemSize], [param:Number meshPerAttribute] )</h3>
+		<p>
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>
+			상속 프로퍼티는 [page:InterleavedBuffer] 를 참고하세요.
+		</p>
+
+		<h3>[property:Number meshPerAttribute]</h3>
+		<p>
+			기본값은 *1*입니다.
+		</p>
+
+		<h2>메서드</h2>
+		<p>
+			상속 메서드는 [page:InterleavedBuffer] 를 참고하세요.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 124 - 0
docs/api/ko/core/InterleavedBuffer.html

@@ -0,0 +1,124 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+			"Interleaved"는 서로 다른 타입일 수도 있는 여러 속성들이(예를 들어 위치, 법선, uv, 색상)이 단일 배열 버퍼에 패키징되어있다는 뜻입니다. 
+			<br/><br/>
+			인터리브 배열에 대한 설명은 여기: [link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html Interleaved array basics]에서 확인할 수 있습니다.
+		</p>
+
+		<h2>예제</h2>
+
+		<p>[example:webgl_buffergeometry_points_interleaved webgl / buffergeometry / points / interleaved]</p>
+
+		<h2>생성자</h2>
+		<h3>[name]( [param:TypedArray array], [param:Integer stride] )</h3>
+		<p>
+			[page:TypedArray array] -- 공유 버퍼를 가진 타입 배열입니다. 기하학 데이터를 저장합니다.<br/>
+			[page:Integer stride] -- 꼭짓점 당 타입-배열 엘레먼트의 수입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Array array]</h3>
+		<p>
+			공유 버퍼를 가진 타입 배열입니다. 기하학 데이터를 저장합니다.
+		</p>
+
+		<h3>[property:Integer stride]</h3>
+		<p>
+			꼭짓점 당 타입-배열 엘레먼트의 수입니다.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+		배열 안에 있는 엘레먼트의 총 수입니다
+		</p>
+
+		<h3>[property:Object updateRange]</h3>
+		<p>
+		오프셋과 카운트를 가지고 있는 객체입니다.
+		</p>
+
+		<h3>[property:Number updateRange.offset]</h3>
+		<p>
+		기본값은 *0* 입니다.
+		</p>
+
+		<h3>[property:Number updateRange.count]</h3>
+		<p>
+		기본값은 *-1* 입니다.
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		인스턴스의 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]입니다. 자동으로 할당되는 값이며, 수정할 수 없습니다.
+		</p>
+
+		<h3>[property:Integer version]</h3>
+		<p>
+		버전 넘버이며 needsUpdate 속성이 true일 때 증가합니다.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+		기본값은 *false*입니다. true로 설정하면 [page:InterleavedBuffer.version version]를 증가시킵니다.
+		</p>
+
+		<h3>[property:Usage usage]</h3>
+		<p>
+			최적화 목적의 데이터 저장 패턴의 사용법을 정의합니다. 
+			[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bufferData WebGLRenderingContext.bufferData]()의 *usage* 파라미터에 해당합니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:InterleavedBuffer copy]( [param:InterleavedBuffer source] ) </h3>
+		<p>
+		 다른 [name]를 이[name]에 복사합니다.
+		</p>
+
+		<h3>[method:InterleavedBuffer copyAt]( [param:Integer index1], [param:InterleavedBuffer attribute], [param:Integer index2] ) </h3>
+		<p>속성 [index2]의 데이터를 [page:InterleavedBuffer.array array][index1]에 복사합니다.</p>
+
+		<h3>[method:InterleavedBuffer set]( [param:TypedArray value], [param:Integer offset] ) </h3>
+		<p>
+			value - 원본 (타입) 배열.<br/>
+			offset - 원본 배열로부터 값을 작성하기 시작할 타깃 배열의 오프셋. 기본값은 *0*입니다.<br/><br />
+
+			버퍼에 여러 값을 저장하고 특정 배열로부터 입력값을 읽습니다.
+		</p>
+
+		<h3>[method:InterleavedBuffer clone]( [param:Object data] ) </h3>
+		<p>
+			data - 이 오브젝트는 인터리브 속성을 가진 기하학의 적절한 복사과정을 위한 공유 배열 버퍼를 가지고 있습니다.
+			<br/><br />
+
+			이 [name]의 사본을 만듭니다.
+		</p>
+
+		<h3>[method:InterleavedBuffer setUsage] ( [param:Usage value] ) </h3>
+		<p>[page:InterleavedBuffer.usage usage]를 value 로 설정합니다.</p>
+
+		<h3>[method:InterleavedBuffer toJSON]( [param:Object data] ) </h3>
+		<p>
+			data - 이 오브젝트는 인터리브 속성을 가진 기하학의 적절한 시리얼라이징을 위한 공유 배열 버퍼를 가지고 있습니다.<br/><br />
+
+			이 [name]을 시리얼화합니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 119 - 0
docs/api/ko/core/InterleavedBufferAttribute.html

@@ -0,0 +1,119 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+
+		</p>
+
+		<h2>생성자</h2>
+		<h3>[name]( [param:InterleavedBuffer interleavedBuffer], [param:Integer itemSize], [param:Integer offset], [param:Boolean normalized] )</h3>
+		<p>
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:InterleavedBuffer data]</h3>
+		<p>
+			생성자로 전달된 [page:InterleavedBuffer InterleavedBuffer] 인스턴스입니다.
+		</p>
+
+		<h3>[property:TypedArray array]</h3>
+		<p>
+			[page:InterleavedBufferAttribute.data data].array의 값입니다.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+			[page:InterleavedBufferAttribute.data data].count의 값입니다.
+
+			버퍼가 3-컴포넌트 항목(위치, 법선, 색상 등의)을 저장하고 있을 때,
+			저장된 항목들의 수를 카운팅합니다.
+		</p>
+
+		<h3>[property:Integer itemSize]</h3>
+		<p>
+			각 항목을 구성하는 값의 수입니다.
+		</p>
+
+		<h3>[property:String name]</h3>
+		<p>
+		이 속성 인스턴스의 임시 이름입니다. 기본값은 빈 문자열입니다.
+		</p>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<p>
+			기본값은 *false*입니다. *true*로 설정하면 모든 인터리브 버퍼(특정 속성 데이터만이 아닌)를 GPU에 다시 전송합니다.
+		</p>
+
+		<h3>[property:Boolean normalized]</h3>
+		<p>
+			기본값은 *false*입니다.
+		</p>
+
+		<h3>[property:Integer offset]</h3>
+		<p>
+			항목이 시작하는 기저 배열 버퍼의 오프셋입니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>[page:Matrix4 m] 매트릭스를 이 InterleavedBufferAttribute의 모든 Vector3 엘레먼트에 적용합니다.</p>
+
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>[page:Matrix3 m] 노멀 매트릭스를 이 InterleavedBufferAttribute의 모든 Vector3 엘레먼트에 적용합니다.</p>
+
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>[page:Matrix4 m] 매트릭스를 이 InterleavedBufferAttribute의 모든 Vector3 엘레먼트에 적용하고, 엘레먼트를 방향 벡터로 이동합니다.</p>
+
+		<h3>[method:Number getX]( [param:Integer index] ) </h3>
+		<p>해당 index의 항목의 x 컴포넌트를 리턴합니다.</p>
+
+		<h3>[method:Number getY]( [param:Integer index] ) </h3>
+		<p>해당 index의 항목의 y 컴포넌트를 리턴합니다.</p>
+
+		<h3>[method:Number getZ]( [param:Integer index] ) </h3>
+		<p>해당 index의 항목의 z 컴포넌트를 리턴합니다.</p>
+
+		<h3>[method:Number getW]( [param:Integer index] ) </h3>
+		<p>해당 index의 항목의 w 컴포넌트를 리턴합니다.</p>
+
+		<h3>[method:null setX]( [param:Integer index], [param:Float x] ) </h3>
+		<p>해당 index의 항목의 x 컴포넌트를 설정합니다.</p>
+
+		<h3>[method:null setY]( [param:Integer index], [param:Float y] ) </h3>
+		<p>해당 index의 항목의 y 컴포넌트를 설정합니다.</p>
+
+		<h3>[method:null setZ]( [param:Integer index], [param:Float z] ) </h3>
+		<p>해당 index의 항목의 z 컴포넌트를 설정합니다.</p>
+
+		<h3>[method:null setW]( [param:Integer index], [param:Float w] ) </h3>
+		<p>해당 index의 항목의 w 컴포넌트를 설정합니다.</p>
+
+		<h3>[method:null setXY]( [param:Integer index], [param:Float x], [param:Float y] ) </h3>
+		<p>해당 index의 항목의 x, y 컴포넌트를 설정합니다.</p>
+
+		<h3>[method:null setXYZ]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z] ) </h3>
+		<p>해당 index의 항목의 x, y, z 컴포넌트를 설정합니다.</p>
+
+		<h3>[method:null setXYZW]( [param:Integer index], [param:Float x], [param:Float y], [param:Float z], [param:Float w] ) </h3>
+		<p>해당 index의 항목의 x, y, z, w 컴포넌트를 설정합니다.</p>
+
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 97 - 0
docs/api/ko/core/Layers.html

@@ -0,0 +1,97 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+			[page:Layers] 오브젝트는 [page:Object3D]를 1개에서 32개의 레이어에 0에서 31의 숫자로 할당합니다.
+			- 내부적으로 레이어들은 [link:https://en.wikipedia.org/wiki/Mask_(computing) bit mask]로 저장되며, 기본값으로 모든 
+			Object3D들은 0번 레이어의 멤버입니다. <br /><br />
+
+			가시성을 컨트롤하는데에 사용할 수 있습니다. - 카메라의 뷰가 렌더링될 때 오브젝트는 반드시 [page:Camera camera]와 가시 레이어를 공유해야합니다.<br /><br />
+
+			[page:Object3D]로부터 상속받은 모든 클래스들은 [page:Object3D.layers] 프로퍼티를 가지고 있으며 이는 이 클래스의 인스턴스입니다.
+		</p>
+
+		<h2>예제</h2>
+
+		<p>
+			[example:webgl_layers WebGL / layers]
+		</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+			새 레이어 오브젝트를 만들고 최초 멤버 레이어 0을 설정합니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Integer mask]</h3>
+		<p>
+			현재 레이어가 속해있는 32 레이어들의 비트 마스크를 저장하고 있습니다.
+		</p>
+
+
+		<h2>메서드</h2>
+
+		<h3>[method:null disable]( [param:Integer layer] )</h3>
+		<p>
+			layer - 0부터 31까지의 정수.<br /><br />
+
+			이 *layer*의 멤버 속성을 제거합니다.
+		</p>
+
+		<h3>[method:null enable]( [param:Integer layer] )</h3>
+		<p>
+			layer - 0부터 31까지의 정수.<br /><br />
+
+			이 *layer*에 멤버 속성을 추가합니다.
+		</p>
+
+		<h3>[method:null set]( [param:Integer layer] )</h3>
+		<p>
+			layer - 0부터 31까지의 정수.<br /><br />
+
+			*layer*의 멤버 속성을 설정하고, 다른 모든 레이어들의 멤버 속성을 제거합니다.
+		</p>
+
+		<h3>[method:Boolean test]( [param:Layers layers] )</h3>
+		<p>
+			layers - 레이어 오브젝트<br /><br />
+
+			전달받은 *layers* 오브젝트가 적어도 1개 이상의 레이어를 가지고 있으면 true를 리턴합니다.
+		</p>
+
+		<h3>[method:null toggle]( [param:Integer layer] )</h3>
+		<p>
+			layer - 0부터 31까지의 정수.<br /><br />
+
+			ㄴ*layer*의 멤버 속성을 전환합니다.
+		</p>
+
+		<h3>[method:null enableAll]()</h3>
+		<p>
+			모든 레이어에 멤버 속성을 추가합니다.
+		</p>
+
+		<h3>[method:null disableAll]()</h3>
+		<p>
+			모든 레이어의 멤버 속성을 제거합니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 470 - 0
docs/api/ko/core/Object3D.html

@@ -0,0 +1,470 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+			이 클래스는 three.js의 대부분의 객체에 대한 기본 클래스이며 3D 공간에서 객체를 조작하기 위한 일련의 속성 및 메서드를 제공합니다.<br /><br />
+
+			[page:.add]( object ) 메서드를 사용해 객체를 그룹핑해서 오브젝트를 자식으로 추가하는 데에 사용할 수도 있지만, [page:Group]를 사용하는 것이 더 낫습니다.
+		</p>
+
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+		전달인자를 받지 않는 생성자입니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:AnimationClip animations]</h3>
+		<p>객체의 애니메이션 클립 배열입니다.</p>
+
+		<h3>[property:Boolean castShadow]</h3>
+		<p>객체가 섀도우 맵으로 렌더링 되는지의 여부입니다. 기본값은 *false*입니다.</p>
+
+		<h3>[property:Object3D children]</h3>
+		<p>객체의 자식 배열입니다. 수동으로 객체를 그룹핑하는 내용은 [page:Group]을 참고하세요.</p>
+
+		<h3>[property:Material customDepthMaterial]</h3>
+		<p>
+		뎁스맵에 렌더링할 때 사용되는 깊이 재질 커스텀입니다. 메쉬 구조체에서만 사용할 수 있습니다.
+		When shadow-casting with a [page:DirectionalLight] 혹은 [page:SpotLight]를 통해 섀도우 캐스팅을 할 때, (a) 꼭짓점의 쉐이더 위치를 수정하거나,
+		(b) displacement map을 사용하거나, (c) alphaTest를 통해 알파 맵을 사용하거나, (d) alphaTest로 투명 텍스쳐를 사용하거나 할 때
+		적절한 섀도우의 customDepthMaterial를 특정해야 합니다. 기본값은 *undefined*입니다.
+		</p>
+
+		<h3>[property:Material customDistanceMaterial]</h3>
+		<p>
+		[page:.customDepthMaterial customDepthMaterial]와 같지만, [page:PointLight]와 함게 쓰입니다. 기본값은 *undefined*입니다.
+		</p>
+
+		<h3>[property:Boolean frustumCulled]</h3>
+		<p>
+		이 값이 설정되면, 매 프레임마다 객체를 렌더링하기 전에 객체가 카메라의 절두체에 속해 있는지를 체크합니다. `false`로 설정하면
+		카메라 절두체에 속해있지 않더라도 객체는 매 프레임마다 렌더링될 것입니다. 기본값은 `true`입니다.
+		</p>
+
+		<h3>[property:Integer id]</h3>
+		<p>읽기전용 – 이 객체 인스턴스의 고유 번호입니다.</p>
+
+		<h3>[property:Layers layers]</h3>
+		<p>
+		객체의 레이어 멤버 속성입니다. 객체는 사용중인 [page:Camera] 에 공통적으로 최소 한 개의 레이어가 있을 때만 볼 수 있습니다.
+		이 프로퍼티는 [page:Raycaster]를 사용해 레이-인터섹션 테스트를 할 때 원치 않는 객체를 필터링하는 용도로도 사용할 수 있습니다.
+		</p>
+
+		<h3>[property:Matrix4 matrix]</h3>
+		<p>로컬 변형 매트릭스입니다.</p>
+
+		<h3>[property:Boolean matrixAutoUpdate]</h3>
+		<p>
+		이 값을 설정하면 위치의 매트릭스를 계산하고 (회전 및 쿼터니언), 매 프레임마다 확대/축소하고 matrixWorld 프로퍼티를 재계산합니다.
+		기본값은 [page:Object3D.DefaultMatrixAutoUpdate] (true)입니다.
+		</p>
+
+		<h3>[property:Matrix4 matrixWorld]</h3>
+		<p>
+		객체의 글로벌 변형입니다. Object3D가 부모를 가지고 있지 않다면, 로컬 변형 [page:.matrix]와 동일합니다.
+		</p>
+
+		<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
+		<p>
+		이 값을 설정하면 When this is set, it calculates the 해당 프레임의 matrixWorld를 계산하고 이 프로퍼티를 false로 초기화합니다.
+		기본값은 *false*입니다.
+		</p>
+
+		<h3>[property:Matrix4 modelViewMatrix]</h3>
+		<p>이 값은 쉐이더로 전달되고 객체의 위치를 계산하는 데에 사용됩니다.</p>
+
+		<h3>[property:String name]</h3>
+		<p>객체의 임시 이름입니다(고유할 필요는 없습니다). 기본값은 빈 문자열입니다.</p>
+
+		<h3>[property:Matrix3 normalMatrix]</h3>
+		<p>
+		이 값은 쉐이더로 전달되고 객체의 광원을 계산합니다. 이 객체 modelViewMatrix의 왼쪽 위 3x3 서브매트릭스의 역 매트릭스입니다.<br /><br />
+
+		이 특별한 매트릭스를 사용하는 이유는 단순히 modelViewMatrix만을 사용하면 유닛이 아닌 법선의 길이가 결과로 나오거나(스케일링 시)
+		수직이 아닌 방향의 결과가 나올 수 있기 때문입니다(비균일 스케일링 시).<br /><br />
+
+		한편, modelViewMatrix의 이동 파트는 법선의 계산과는 상관이 없습니다. Matrix3으로 충분합니다.
+		</p>
+
+		<h3>[property:Function onAfterRender]</h3>
+		<p>
+			3D 객체가 렌더링된 후 즉시 실행되는 선택적 콜백입니다.
+			이 함수는 렌더러, 장면, 카메라, 기하학, 재질, 그룹 등의 매개 변수를 사용하여 호출됩니다.
+		</p>
+		<p>
+		이 콜백은 *렌더링 가능한* 3D 객체에만 실행됩니다. [page:Mesh], [page:Line], [page:Points] 혹은 [page:Sprite]같은 기하학 및 재질로 시각적 표현을 정의하는 3D 객체들에 한정됩니다.
+		[page:Object3D], [page:Group] 혹은 [page:Bone] 인스턴스는 렌더링할 수 없으므로 이러한 객체에 대해서는 콜백이 실행되지 않습니다.
+		</p>
+
+		<h3>[property:Function onBeforeRender]</h3>
+		<p>
+			3D 객체가 렌더링되기 바로 전에 실행되는 선택적 콜백입니다.
+			이 함수는 렌더러, 장면, 카메라, 기하학, 재질, 그룹 등의 매개 변수를 사용하여 호출됩니다.
+		</p>
+		<p>
+			이 콜백은 *렌더링 가능한* 3D 객체에만 실행됩니다. [page:Mesh], [page:Line], [page:Points] 혹은 [page:Sprite]같은 기하학 및 재질로 시각적 표현을 정의하는 3D 객체들에 한정됩니다.
+			[page:Object3D], [page:Group] 혹은 [page:Bone] 인스턴스는 렌더링할 수 없으므로 이러한 객체에 대해서는 콜백이 실행되지 않습니다.
+		</p>
+
+		<h3>[property:Object3D parent]</h3>
+		<p>[link:https://en.wikipedia.org/wiki/Scene_graph scene graph]에 있는 객체의 부모입니다. 객체는 최대 한 개의 부모만 가질 수 있습니다.</p>
+
+		<h3>[property:Vector3 position]</h3>
+		<p>객체의 로컬 위치를 나타내는 [page:Vector3]입니다. 기본값은 (0, 0, 0)입니다.</p>
+
+		<h3>[property:Quaternion quaternion]</h3>
+		<p>객체의 로컬 회전을 나타낸 [page:Quaternion Quaternion]입니다.</p>
+
+		<h3>[property:Boolean receiveShadow]</h3>
+		<p>재질이 그림자를 받는지에 대한 프로퍼티입니다. 기본값은 *false*입니다.</p>
+
+		<h3>[property:Number renderOrder]</h3>
+		<p>
+			이 값을 사용하면 불투명한 객체와 투명한 객체가 독립적으로 정렬되어 있더라도 [link:https://en.wikipedia.org/wiki/Scene_graph scene graph] 객체의
+			기본 렌더링 순서를 재정의할 수 있습니다. 이 프로퍼티가 [page:Group Group]의 인스턴스로 설정되면 모든 하위 객체들은 함께 정렬 및 렌더링 될 것입니다.
+		정렬은 renderOrder가 가장 낮은 것부터 가장 높은 순서입니다. 기본값은 *0*입니다.
+		</p>
+
+		<h3>[property:Euler rotation]</h3>
+		<p>
+		객체의 로컬 회전 라디안([link:https://en.wikipedia.org/wiki/Euler_angles Euler angles]를 참고하세요)입니다.
+		</p>
+
+		<h3>[property:Vector3 scale]</h3>
+		<p>
+		객체의 로컬 스케일입니다. 기본값은 [page:Vector3]( 1, 1, 1 )입니다.
+		</p>
+
+		<h3>[property:Vector3 up]</h3>
+		<p>
+		[page:.lookAt lookAt] 메서드에서 사용되며, 결과의 방향을 결정합니다.<br />
+		기본값은 [page:Object3D.DefaultUp]값, ( 0, 1, 0 )입니다.
+		</p>
+
+		<h3>[property:Object userData]</h3>
+		<p>
+		Object3D에 대한 사용자 지정 데이터를 저장하는 데 사용할 수 있는 객체입니다. 함수는 복제되지 않으므로 해당 함수에 대한 참조를 포함해서는 안 됩니다.
+		</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		이 객체 인스턴스의 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]입니다.
+		자동으로 할당되며, 수정할 수 없습니다.
+		</p>
+
+		<h3>[property:Boolean visible]</h3>
+		<p>*true*면 객체가 렌더링됩니다. 기본값은 *true*입니다.</p>
+
+
+
+
+		<h2>정적 프로퍼티</h2>
+		<p>
+			정적 프로퍼티와 메서드는 해당 클래스의 인스턴스가 아니라 클래스 별로 정의됩니다.
+			이는 [page:Object3D.DefaultUp] 혹은 [page:Object3D.DefaultMatrixAutoUpdate]를 변경하면
+			변경이 이루어진 시점 이후의(이미 만들어진 Object3Ds는 영향을 받지 않습니다) 모든 Object3D(및 파생 클래스)의
+			[page:.up up]과 [page:.matrixAutoUpdate matrixAutoUpdate] 값을 변경시킬 것입니다.
+		</p>
+
+		<h3>[property:Vector3 DefaultUp]</h3>
+		<p>
+			The default 오브젝트의 기본값 [page:.up up] 방향이며
+			[page:DirectionalLight], [page:HemisphereLight] 및 [page:Spotlight]의 기본 위치값으로도 사용됩니다(위에서 아래로 내려오는 빛을 만듭니다).<br />
+			기본값으로 ( 0, 1, 0 ) 을 설정합니다.
+		</p>
+
+		<h3>[property:Boolean DefaultMatrixAutoUpdate]</h3>
+		<p>
+			새로 만들어진 Object3D의 [page:.matrixAutoUpdate matrixAutoUpdate] 기본 세팅입니다.<br />
+
+		</p>
+
+
+		<h2>메서드</h2>
+
+		<h3>[page:EventDispatcher EventDispatcher] 메서드들은 이 클래스에서 사용 가능합니다.</h3>
+
+		<h3>[method:this add]( [param:Object3D object], ... )</h3>
+		<p>
+		*object*를 이 객체의 자식으로 추가합니다. 임의 개수의 객체를 추가할 수 있습니다.
+		객체에는 상위 항목이 하나 이상 있을 수 있으므로 여기에 전달된 객체의 현재 상위 항목이 모두 제거됩니다. <br /><br />
+
+		수동으로 객체 그룹핑을 하는 내용은 [page:Group]를 참고하세요.
+		</p>
+
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>매트릭스 변환을 객체에 적용하고 객체의 위치, 회전 및 스케일을 업데이트합니다.</p>
+
+		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
+		<p>쿼터니언으로 표시된 회전을 객체에 적용합니다</p>
+
+		<h3>[method:this attach]( [param:Object3D object] )</h3>
+		<p>자식에 *object*를 추가하지만 객체의 월드 변형은 유지합니다.</p>
+
+		<h3>[method:Object3D clone]( [param:Boolean recursive] )</h3>
+		<p>
+		recursive -- true면 객체의 자식들도 복제됩니다. 기본값은 true입니다.<br /><br />
+
+		해당 객체의 사본을 리턴하고 자식까지 복제할 수도 있습니다.
+		</p>
+
+		<h3>[method:this copy]( [param:Object3D object], [param:Boolean recursive] )</h3>
+		<p>
+		recursive -- true면 객체의 자식들도 복제됩니다. 기본값은 true입니다.<br /><br />
+
+		이 객체에 넘겨받은 객체를 복사합니다.
+
+		주의: 이벤트리스너와 사용자정의 콜백([page:.onAfterRender] 및 [page:.onBeforeRender])은 복제되지 않습니다.
+		</p>
+
+		<h3>[method:Object3D getObjectById]( [param:Integer id] )</h3>
+		<p>
+		id -- 객체 인스턴스의 고유 번호입니다.<br /><br />
+
+		객체 자신부터 시작하여 객체와 객체 자식 항목을 검색하고 일치하는 ID의 첫 번째 항목을 리턴합니다.
+		ID는 순차적으로 증가하며: 1, 2, 3, ... 새 객체마다 하나씩 증가합니다.
+		</p>
+
+		<h3>[method:Object3D getObjectByName]( [param:String name] )</h3>
+		<p>
+		name -- 자식의 Object3D.name 프로퍼티와 일치하는 문자열입니다. <br /><br />
+
+		객체 자신부터 시작하여 객체와 객체 자식 항목을 검색하고 일치하는 이름의 첫 번째 항목을 리턴합니다.<br />
+		대부분의 객체는 기본값으로 이름이 빈 문자열입니다. 이 메서드를 사용하기 위해서는 직접 이름을 지정해야 합니다.
+		</p>
+
+		<h3>[method:Object3D getObjectByProperty]( [param:String name], [param:Float value] )</h3>
+		<p>
+		name -- 검색하고자하는 이름 프로퍼티. <br />
+		value -- 프로퍼티의 값. <br /><br />
+
+		객체 자신부터 시작하여 객체와 객체 자식 항목을 검색하고 일치하는 값의 첫 번째 항목을 리턴합니다.
+		</p>
+
+		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — 결과값은 이 Vector3에 복제됩니다. <br /><br />
+
+		객체의 월드 스페이스에서의 벡터를 리턴합니다.
+		</p>
+
+		<h3>[method:Quaternion getWorldQuaternion]( [param:Quaternion target] )</h3>
+		<p>
+		[page:Quaternion target] — 결과값은 이 Quaternion에 복제됩니다. <br /><br />
+
+		객체의 월드 스페이스에서의 회전값을 쿼터니언으로 리턴합니다.
+		</p>
+
+		<h3>[method:Vector3 getWorldScale]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — 결과값은 이 Vector3에 복제됩니다. <br /><br />
+
+		객체에 적용되는 월드 스페이스에서의 각 축의 스케일 벡터값을 리턴합니다.
+		</p>
+
+		<h3>[method:Vector3 getWorldDirection]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — 결과값은 이 Vector3에 복제됩니다. <br /><br />
+
+		객체의 월드 스페이스에서의 z축 양수 방향 벡터를 리턴합니다.
+		</p>
+
+
+		<h3>[method:Vector3 localToWorld]( [param:Vector3 vector] )</h3>
+		<p>
+		vector - 이 객체의 로컬 스페이스에서의 위치를 나타내는 벡터입니다.<br /><br />
+
+		이 객체의 로컬 스페이스를 월드 스페이스로 전환합니다.
+		</p>
+
+		<h3>[method:null lookAt]( [param:Vector3 vector] )<br />
+		[method:null lookAt]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+		vector - 로컬 스페이스에서의 위치를 나타내는 벡터입니다.<br /><br />
+		부가적으로, 월드 스페이스의 [page:.x x], [page:.y y] 및 [page:.z z] 위치 컴포넌트를 설정할 수 있습니다.<br /><br />
+
+		월드 스페이스의 한 점으로 객체의 면을 회전시킵니다.<br /><br />
+
+		이 메서드는 비균일 스케일 부모를 가진 객체들은 지원하지 않습니다.
+		</p>
+
+		<h3>[method:Array raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
+		<p>
+		객체와 레이캐스팅 사이의 인터섹션을 구하는 추상 (빈) 메서드입니다.
+		Subclasses such as [page:Mesh], [page:Line], 및 [page:Points] 같은 서브클래스들은 레이캐스팅을 사용하는 순서에 따라 이 메서드를 실행합니다.
+		</p>
+
+		<h3>[method:this remove]( [param:Object3D object], ... )</h3>
+		<p>
+		이 객체의 자식 중 *object*를 제거합니다. 임의 갯수의 객체를 제거할 수 있습니다.
+		</p>
+
+		<h3>[method:this removeFromParent]()</h3>
+		<p>
+		Removes this object from its current parent.
+		</p>
+
+		<h3>[method:this clear]()</h3>
+		<p>
+		모든 자식 객체를 제거합니다.
+		</p>
+
+		<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+		axis -- 객체 스페이스의 정규화 벡터입니다. <br />
+		angle -- 라디안 각도입니다.<br /><br />
+
+		객체를 객체 스페이스의 축에 맞춰 회전시킵니다. 해당 축은 정규화되었다고 가정합니다.
+		</p>
+
+		<h3>[method:this rotateOnWorldAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+		axis -- 월드 스페이스의 정규화 벡터입니다. <br />
+		angle -- 라디안 각도입니다.<br /><br />
+
+		객체를 월드 스페이스의 축에 맞춰 회전시킵니다. 해당 축은 정규화되었다고 가정합니다.
+		부모의 회전은 고려하지 않습니다.
+		</p>
+
+		<h3>[method:this rotateX]( [param:Float rad] )</h3>
+		<p>
+		rad - 회전시킬 라디안 각도입니다.<br /><br />
+
+		로컬 스페이스에서 x 축을 기준으로 회전시킵니다.
+		</p>
+
+		<h3>[method:this rotateY]( [param:Float rad] )</h3>
+		<p>
+		rad - 회전시킬 라디안 각도입니다.<br /><br />
+
+		로컬 스페이스에서 y 축을 기준으로 회전시킵니다.
+		</p>
+
+		<h3>[method:this rotateZ]( [param:Float rad] )</h3>
+		<p>
+		rad - 회전시킬 라디안 각도입니다.<br /><br />
+
+		로컬 스페이스에서 z 축을 기준으로 회전시킵니다.
+		</p>
+
+		<h3>[method:null setRotationFromAxisAngle]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+			axis -- 오브젝트 스페이스의 정규화 벡터입니다. <br />
+			angle -- 라디안 각도입니다<br /><br />
+
+			[page:.quaternion]에서 [page:Quaternion.setFromAxisAngle setFromAxisAngle]( [page:Float axis], [page:Float angle] )를 호출합니다.
+		</p>
+
+		<h3>[method:null setRotationFromEuler]( [param:Euler euler] )</h3>
+		<p>
+			euler -- 회전 정도를 나타내는 오일러 각입니다.<br />
+
+			 [page:Quaternion.setRotationFromEuler setRotationFromEuler]( [page:Euler euler])를 호출합니다.
+		</p>
+
+		<h3>[method:null setRotationFromMatrix]( [param:Matrix4 m] )</h3>
+		<p>
+			m -- 매트릭스의 회전 컴포넌트만큼 쿼터니언을 회전시킵니다.<br />
+
+			[page:.quaternion]에서 [page:Quaternion.setFromRotationMatrix setFromRotationMatrix]( [page:Matrix4 m])를 호출합니다.<br /><br />
+
+			m의 상위 3x3은 순수 회전 매트릭스(예를 들어 스케일이 없는 매트릭스)로 가정합니다.
+		</p>
+
+		<h3>[method:null setRotationFromQuaternion]( [param:Quaternion q] )</h3>
+		<p>
+			q -- 정규화 쿼터니언입니다.<br /><br />
+
+			[page:.quaternion]에 해당 쿼터니언을 복사합니다.
+		</p>
+
+		<h3>[method:Object toJSON]( [param:Object meta] )</h3>
+		<p>
+		meta -- 객체의 재질, 텍스쳐 및 이미지 같은 메타데이터를 포함하고 있는 객체입니다.<br />
+		객체를 three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format]으로 변환합니다.
+		</p>
+
+		<h3>[method:this translateOnAxis]( [param:Vector3 axis], [param:Float distance] )</h3>
+		<p>
+		axis -- 객체 스페이스에서의 정규화 벡터입니다.<br />
+		distance -- 이동할 거리입니다.<br /><br />
+
+		객체 스페이스의 축을 따라 객체를 거리만큼 이동합니다. 축은 정규화되었다고 가정합니다.
+		</p>
+
+		<h3>[method:this translateX]( [param:Float distance] )</h3>
+		<p>객체 스페이스에서 *distance*만큼 객체를 x축으로 이동시킵니다.</p>
+
+		<h3>[method:this translateY]( [param:Float distance] )</h3>
+		<p>객체 스페이스에서 *distance*만큼 객체를 y축으로 이동시킵니다.</p>
+
+		<h3>[method:this translateZ]( [param:Float distance] )</h3>
+		<p>객체 스페이스에서 *distance*만큼 객체를 z축으로 이동시킵니다.</p>
+
+		<h3>[method:null traverse]( [param:Function callback] )</h3>
+		<p>
+		callback - object3D 객체의 첫 번째 인자 함수입니다.<br /><br />
+
+		이 객체와 모든 자식들의 콜백을 실행합니다.<br/>
+		주의: 콜백에서 씬 그래프를 수정하는 것은 허용되지 않습니다.
+		</p>
+
+		<h3>[method:null traverseVisible]( [param:Function callback] )</h3>
+		<p>
+		callback - object3D 객체의 첫 번째 인자 함수입니다.<br /><br />
+
+		Like traverse와 비슷하지만, 보이는 객체들의 콜백만 실행됩니다.
+		보이지 않는 객체들의 자식들은 실행되지 않습니다.<br/>
+		주의: 콜백에서 씬 그래프를 수정하는 것은 허용되지 않습니다.
+		</p>
+
+		<h3>[method:null traverseAncestors]( [param:Function callback] )</h3>
+		<p>
+		callback - object3D 객체의 첫 번째 인자 함수입니다.<br /><br />
+
+		모든 부모의 콜백을 실행합니다.<br/>
+		주의: 콜백에서 씬 그래프를 수정하는 것은 허용되지 않습니다.
+		</p>
+
+		<h3>[method:null updateMatrix]()</h3>
+		<p>로컬 변형을 업데이트합니다.</p>
+
+		<h3>[method:null updateMatrixWorld]( [param:Boolean force] )</h3>
+		<p>객체와 자식들의 글로벌 변형을 업데이트합니다.</p>
+
+		<h3>[method:null updateWorldMatrix]( [param:Boolean updateParents], [param:Boolean updateChildren] )</h3>
+		<p>
+		updateParents - 재귀적으로 부모의 글로벌 변형을 업데이트합니다.<br />
+		updateChildren - 재귀적으로 자식의 글로벌 변형을 업데이트합니다.<br /><br />
+
+		객체의 글로벌 변형을 업데이트합니다.
+		</p>
+
+		<h3>[method:Vector3 worldToLocal]( [param:Vector3 vector] )</h3>
+		<p>
+		vector - 월드 스페이스의 위치를 나타내는 벡터입니다.<br /><br />
+
+		월드 스페이스의 벡터를 객체의 로컬 스페이스로 변환합니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 206 - 0
docs/api/ko/core/Raycaster.html

@@ -0,0 +1,206 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		이 클래스는 [link:https://en.wikipedia.org/wiki/Ray_casting raycasting]을 보조하기 위해 만들어졌습니다.
+		레이캐스팅은 여러 개체 중 마우스로 선택(마우스가 3d 공간의 객체 위에서 작동하는)하는 기능을 담당합니다.
+		</p>
+
+		<h2>코드 예제</h2>
+		<code>
+		const raycaster = new THREE.Raycaster();
+		const mouse = new THREE.Vector2();
+
+		function onMouseMove( event ) {
+
+			// calculate mouse position in normalized device coordinates
+			// (-1 to +1) for both components
+
+			mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
+			mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
+
+		}
+
+		function render() {
+
+			// update the picking ray with the camera and mouse position
+			raycaster.setFromCamera( mouse, camera );
+
+			// calculate objects intersecting the picking ray
+			const intersects = raycaster.intersectObjects( scene.children );
+
+			for ( let i = 0; i < intersects.length; i ++ ) {
+
+				intersects[ i ].object.material.color.set( 0xff0000 );
+
+			}
+
+			renderer.render( scene, camera );
+
+		}
+
+		window.addEventListener( 'mousemove', onMouseMove, false );
+
+		window.requestAnimationFrame(render);
+
+		</code>
+
+		<h2>예제</h2>
+
+		<p>
+			[example:webgl_interactive_cubes Raycasting to a Mesh]<br />
+			[example:webgl_interactive_cubes_ortho Raycasting to a Mesh in using an OrthographicCamera]<br />
+			[example:webgl_interactive_buffergeometry Raycasting to a Mesh with BufferGeometry]<br />
+			[example:webgl_instancing_raycast Raycasting to a InstancedMesh]<br />
+			[example:webgl_interactive_lines Raycasting to a Line]<br />
+			[example:webgl_interactive_raycasting_points Raycasting to Points]<br />
+			[example:webgl_geometry_terrain_raycast Terrain raycasting]<br />
+			[example:webgl_interactive_voxelpainter Raycasting to paint voxels]<br />
+			[example:webgl_raycast_texture Raycast to a Texture]
+		</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( [param:Vector3 origin], [param:Vector3 direction], [param:Float near], [param:Float far] ) {</h3>
+		<p>
+		[page:Vector3 origin] — 레이캐스팅이 활용되는 시점 벡터입니다.<br />
+		[page:Vector3 direction] — 레이 방향을 가지고 있는 방향 벡터입니다. 정규화되어야 합니다.<br />
+		[page:Float near] — near보다 바깥 범위에 있는 결과값들입니다. 음수가 될 수 없습니다. 기본값은 0입니다.<br />
+		[page:Float far] — far 안쪽 범위에 있는 결과값들입니다. near보다 작을 수 없습니다. 기본값은 무한대입니다.
+		</p>
+		<p>
+		새 레이캐스터 객체를 만듭니다.<br />
+		</p>
+
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Float far]</h3>
+		<p>
+		레이캐스터의 far 요소입니다. 이 값은 거리에 비례해 버려지는 객체들을 나타냅니다.
+		이 값은 음수가 될 수 없으며 near 프로퍼티보다 커야합니다.
+		</p>
+
+		<h3>[property:Float near]</h3>
+		<p>
+		레이캐스터의 near 요소입니다. 이 값은 거리에 비례해 버려지는 객체들을 나타냅니다.
+		이 값은 음수가 될 수 없으며 far 프로퍼티보다 작아야 합니다.
+		</p>
+
+		<h3>[property:Camera camera]</h3>
+		<p>
+		[page:Sprites]같은 빌보드객체처럼 뷰에 의존하는 객체에 대항 레이캐스팅 시에 사용되는 카메라입니다. 
+		이 값은 수동으로 설정하거나 "setFromCamera"를 호출해야 합니다.
+
+		기본값은 null입니다.
+		</p>
+
+		<h3>[property:Layers layers]</h3>
+		<p>
+		[name]에서 인터섹션 테스트 시에 3d 객체를 선택적으로 무시할 때 사용됩니다. 아래 코드 예제에서 *1* 레이어에 있는 3D 객체들만 [name]의 인스턴스가 될 것입니다.
+
+		<code>
+		raycaster.layers.set( 1 );
+		object.layers.enable( 1 );
+		</code>
+
+		</p>
+
+		<h3>[property:Object params]</h3>
+		<p>
+		다음과 같은 프로퍼티를 가지고 있는 객체입니다:
+
+			<code>
+{
+	Mesh: {},
+	Line: { threshold: 1 },
+	LOD: {},
+	Points: { threshold: 1 },
+	Sprite: {}
+}
+			</code>
+
+			여기서 threshold는 객체를 교차할 때 레이캐스터의 정밀도(월드 단위)입니다.
+		</p>
+
+		<h3>[property:Ray ray]</h3>
+		<p>레이캐스팅에 사용되는 [Page:Ray]입니다.</p>
+
+
+		<h2>메서드</h2>
+
+		<h3>[method:null set]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
+		<p>
+		[page:Vector3 origin] — 레이캐스팅이 활용되는 시점 벡터입니다.<br />
+		[page:Vector3 direction] — 레이 방향을 정하는 정규화된 방향 벡터입니다.
+		</p>
+		<p>
+		새 시점과 방향으로 레이를 업데이트합니다. 이 메서드는 인자의 값만을 복사한다는 점에 주의하세요.
+		</p>
+
+		<h3>[method:null setFromCamera]( [param:Vector2 coords], [param:Camera camera] )</h3>
+		<p>
+		[page:Vector2 coords] — 마우스의 2D 좌표이며 정규화 디바이스 좌표입니다(NDC)---X 및 Y 컴포넌트는 -1 과 1 사이입니다.<br />
+		[page:Camera camera] — 레이의 시점이 되는 카메라입니다.
+		</p>
+		<p>
+		레이의 새 시점과 방향을 업데이트합니다.
+		</p>
+
+		<h3>[method:Array intersectObject]( [param:Object3D object], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
+		<p>
+		[page:Object3D object] — 레이와의 교차 체크를 하는 객체입니다.<br />
+		[page:Boolean recursive] — true라면, 모든 자식들도 함게 체크합니다. false라면 해당 객체와의 교차만 체크합니다. 기본값은 false입니다.<br />
+		[page:Array optionalTarget] — (생략가능) 결과값을 설정할 타겟입니다. 아니면 [page:Array]가 인스턴스화됩니다. 이 값을 설정하면, 모든 요청 전에 배열을 제거해야합니다 (예를 들어 array.length = 0;).
+		</p>
+		<p>
+			자식 항목이 포함되거나 포함되지 않은 객체와 레이 사이의 모든 교차를 체크합니다. 교차는 거리별로 가장 가까운 거리부터 리턴됩니다. 교차 배열은 아래와 같이 리턴됩니다.
+		</p>
+		<code>
+				[ { distance, point, face, faceIndex, object }, ... ]
+		</code>
+		<p>
+			[page:Float distance] – 레이의 시점과 교차 간의 거리<br />
+			[page:Vector3 point] – 월드 좌표에서의 교차점<br />
+			[page:Object face] – 교차면<br />
+			[page:Integer faceIndex] – 교차 면의 인덱스<br />
+			[page:Object3D object] – 교차된 객체<br />
+			[page:Vector2 uv] - 교차점의 U,V 좌표<br />
+			[page:Vector2 uv2] - 교차점의 U,V 2차 좌표<br />
+			[page:Integer instanceId] – InstancedMesh에 교차하는 레이의 인스턴스 인덱스 넘버입니다.
+		</p>
+		<p>
+		*Raycaster*는 레이가 객체에 교차하는지 아닌지 판단할 때의 전달받은 객체의 [page:Object3D.raycast raycast] 메서드를 대신합니다. 이는 [page:Line lines]과 [page:Points pointclouds]와 달리 [page:Mesh meshes]가 레이캐스팅에 다르게 반응할 수 있게 합니다.
+		</p>
+		<p>
+		메쉬의 면은 [page:.ray ray]의 시점에서 탐지 가능할 수 있도록 마주보고 있어야 하는 것에 주의하세요; 
+		면의 뒤쪽을 통과하는 레이 교차는 탐지디지 않을 것입니다. 
+		객체의 양 면을 레이캐스팅하고 싶다면, [page:Mesh.material material]의 [page:Material.side side] 프로퍼티를 *THREE.DoubleSide*로 설정해야합니다.
+		</p>
+
+		<h3>[method:Array intersectObjects]( [param:Array objects], [param:Boolean recursive], [param:Array optionalTarget] )</h3>
+		<p>
+		[page:Array objects] — 레이의 교차를 체크하기 위한 객체입니다.<br />
+		[page:Boolean recursive] — true면 객체의 모든 자식들도 체크합니다. 아니면 객체만의 교차를 체크합니다. 기본값은 false입니다.<br />
+		[page:Array optionalTarget] — (생략가능) 결과값을 설정할 타겟입니다. 아니면 [page:Array]가 인스턴스화됩니다. 이 값을 설정하면, 모든 요청 전에 배열을 제거해야합니다 (예를 들어 array.length = 0;).
+		</p>
+		<p>
+			자식 항목이 포함되거나 포함되지 않은 객체와 레이 사이의 모든 교차를 체크합니다. 교차는 거리별로 가장 가까운 거리부터 리턴됩니다. 교차는 [page:.intersectObject]와 같은 방식으로 리턴됩니다.
+		</p>
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 269 - 0
docs/api/ko/core/Uniform.html

@@ -0,0 +1,269 @@
+<!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>[name]</h1>
+
+		<p class="desc">유니폼은 전역 [link:https://www.opengl.org/documentation/glsl/ GLSL] 변수입니다. 셰이더 프로그램으로 전달됩니다.
+		</p>
+
+		<h2>코드 예제</h2>
+		<p>
+		[page:ShaderMaterial]의 유니폼이 선언될 때는, 값 혹은 객체로부터 선언됩니다.
+		</p>
+		<code>
+		uniforms: {
+			time: { value: 1.0 },
+			resolution: new Uniform( new Vector2() )
+		};
+		</code>
+
+		<h2>유니폼 타입</h2>
+
+		<p>
+			각 유니폼에는 *value* 프로퍼티가 있어야 합니다. 값의 타입은 아래 표에 있는 기본 GLSL 유형에 대해 지정된 GLSL 코드의 유니폼 변수 타입과 일치해야 합니다. 
+			유니폼 구조 및 배열도 지원됩니다. 기본 유형의 GLSL 배열은 THREE 객체의 배열로 지정되거나 모든 객체의 데이터를 포함하는 플랫 배열로 지정되어야 합니다. 
+			즉, 배열 안의 GLSL 기본 요소는 배열로 표현해서는 안 됩니다. 이 규칙은 반대로는 적용되지 않습니다.
+			*vec2* 배열은 다섯 벡터의 길이를 각각 가지고 있기 때문에 배열 안에 배열을 가지고 있거나, 다섯개의 [page:Vector2] 객체, 10개의 *number*를 가지고 있어야 합니다.
+		</p>
+		<table>
+			<caption><a id="uniform-types">유니폼 타입</a></caption>
+			<thead>
+				<tr>
+					<th>GLSL 타입</th>
+					<th>JavaScript 타입</th>
+				</tr>
+			</thead>
+			<tbody>
+
+				<tr>
+					<td>int</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>uint (WebGL 2)</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>float</td>
+					<td>[page:Number]</td>
+				</tr>
+				<tr>
+					<td>bool</td>
+					<td>[page:Boolean]</td>
+				</tr>
+				<tr>
+					<td>bool</td>
+					<td>[page:Number]</td>
+				</tr>
+
+				<tr>
+					<td>vec2</td>
+					<td>[page:Vector2 THREE.Vector2]</td>
+				</tr>
+				<tr>
+					<td>vec2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Vector3 THREE.Vector3]</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Color THREE.Color]</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Vector4 THREE.Vector4]</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Quaternion THREE.Quaternion]</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>vec4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+
+				<tr>
+					<td>mat2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Matrix3 THREE.Matrix3]</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Matrix3 THREE.Matrix4]</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>mat4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+
+				<tr>
+					<td>ivec2, bvec2</td>
+					<td>[page:Float32Array Float32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec2, bvec2</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec3, bvec3</td>
+					<td>[page:Int32Array Int32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec3, bvec3</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec4, bvec4</td>
+					<td>[page:Int32Array Int32Array] (*)</td>
+				</tr>
+				<tr>
+					<td>ivec4, bvec4</td>
+					<td>[page:Array Array] (*)</td>
+				</tr>
+
+				<tr>
+					<td>sampler2D</td>
+					<td>[page:Texture THREE.Texture]</td>
+				</tr>
+				<tr>
+					<td>samplerCube</td>
+					<td>[page:CubeTexture THREE.CubeTexture]</td>
+				</tr>
+
+			</tbody>
+		</table>
+
+		<p>
+			(*)	동일한 GLSL 타입의 (가장 안쪽) 배열(차원)도 동일하며, 배열 내 모든 벡터 또는 배열의 재질을 포함합니다.
+		</p>
+
+		<h2>구조화된 유니폼</h2>
+
+		<p>
+			때때로 셰이더 코드에서 유니폼을 *구조*로 구성하고자 할 수 있습니다. *three.js*가 구조화된 유니폼 데이터를 처리할 수 있도록 다음 스타일을 사용해야 합니다.
+		</p>
+		<code>
+		uniforms = {
+			data: {
+				value: {
+					position: new Vector3(),
+					direction: new Vector3( 0, 0, 1 )
+				 }
+			}
+		};
+		</code>
+		이 정의는 다음 GLSL 코드로 매핑될 수 있습니다.
+		<code>
+		struct Data {
+			vec3 position;
+			vec3 direction;
+		};
+
+		uniform Data data;
+		</code>
+
+		<h2>배열이 있는 구조화된 유니폼</h2>
+
+		<p>
+			배열 *구조*를 관리하는 것도 가능합니다. 이 기능의 사용 구문은 다음과 같습니다:
+		</p>
+		<code>
+		const entry1 = {
+			position: new Vector3(),
+			direction: new Vector3( 0, 0, 1 )
+		};
+		const entry2 = {
+			position: new Vector3( 1, 1, 1 ),
+			direction: new Vector3( 0, 1, 0 )
+		};
+
+		uniforms = {
+			data: {
+				value: [ entry1, entry2 ]
+			}
+		};
+		</code>
+		이 정의는 다음 GLSL 코드로 매핑될 수 있습니다.
+		<code>
+		struct Data {
+			vec3 position;
+			vec3 direction;
+		};
+
+		uniform Data data[ 2 ];
+		</code>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( [param:Object value] )</h3>
+		<p>
+		value -- 유니폼을 설정할 값을 가지고 있는 객체입니다. 위에 있는 유니폼 타입 중 하나여야 합니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Object value]</h3>
+		<p>
+		유니폼의 현재 값입니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:Uniform clone]()</h3>
+		<p>
+		현재 유니폼의 사본을 리턴합니다.<br />
+		유니폼의 값 프로퍼티가 clone() 메서드를 가진 [page:Object]라면 이 메서드가 사용됩니다. 아니라면 값은 할당된 값으로 복사됩니다.
+		배열 값은 복제된 [page:Uniform]들이 공유합니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 65 - 0
docs/api/ko/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -0,0 +1,65 @@
+<!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:BufferAttribute] &rarr;
+
+		<h1>BufferAttribute Types</h1>
+
+		<p class="desc">
+		three.js에서는 아홉 개의 [page:BufferAttribute] 타입을 사용할 수 있습니다. 이 타입들은 JavaScript의
+		[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Syntax Typed Arrays]에 대응됩니다.
+		</p>
+
+		<code>
+		THREE.Float64BufferAttribute
+		THREE.Float32BufferAttribute
+		THREE.Float16BufferAttribute
+		THREE.Uint32BufferAttribute
+		THREE.Int32BufferAttribute
+		THREE.Uint16BufferAttribute
+		THREE.Int16BufferAttribute
+		THREE.Uint8ClampedBufferAttribute
+		THREE.Uint8BufferAttribute
+		THREE.Int8BufferAttribute
+		</code>
+
+		<h2>생성자</h2>
+
+		<p>위의 타입들은 전부 같은 방법으로 호출됩니다.</p>
+
+		<h3>TypedBufferAttribute( [param:Array_or_Integer array], [param:Integer itemSize], [param:Boolean normalized] )</h3>
+		<p>
+			array -- typed 혹은 untyped (일반) 배열이나 길이를 나타내는 정수가 올 수 있습니다.
+			배열의 값은 타입이 특정된 값으로 변환됩니다.
+			길이를 받으면 새 TypedArray가 생성되고 모든 엘레먼트가 0부터 시작됩니다.<br /><br />
+
+			itemSize -- 특정 꼭짓점에 대응되는 배열 값의 수입니다.<br /><br />
+
+			normalized -- (생략가능) 버퍼에 있는 기저 데이터가 GLSL 코드에서 값으로 맵핑되는 방식입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<p>
+			상속 프로퍼티에 관해서는 [page:BufferAttribute] 를 참고하세요.
+		</p>
+
+		<h2>메서드</h2>
+
+		<p>
+			상속 메서드에 관해서는 [page:BufferAttribute] 를 참고하세요.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js src/core/BufferAttribute.js]
+		</p>
+	</body>
+</html>

+ 31 - 0
docs/api/ko/extras/DataUtils.html

@@ -0,0 +1,31 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		데이터의 기능 함수를 포함하고 있는 클래스입니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:Number toHalfFloat]( [param:Number val] )</h3>
+		<p>
+		val --단일 부동 소수점 값입니다.<br /><br />
+
+		unit16 값으로 표현되는 반정밀 부동소수점 값을 리턴합니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 33 - 0
docs/api/ko/extras/Earcut.html

@@ -0,0 +1,33 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+			이어컷 폴리곤 삼각측량 알고리즘 구현입니다. 이 코드는 [link:https://github.com/mapbox/earcut mapbox/earcut]의 일부입니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:Array triangulate]( data, holeIndices, dim )</h3>
+		<p>
+		data -- 꼭짓점 좌표를 가진 평면 배열입니다.<br />
+		holeIndices -- 확인 가능한 hole 인덱스의 배열입니다.<br />
+		dim -- 인풋 배열의 꼭짓점 당 좌표의 수입니다.<br /><br />
+
+		전달받은 모양의 정의를 바탕으로 삼각측량을 통해 삼각형 배열을 리턴합니다. 삼각형은 꼭짓점을 나타내는 연속된 세 개의 정수 인덱스들로 정의됩니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 31 - 0
docs/api/ko/extras/ImageUtils.html

@@ -0,0 +1,31 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		이미지 기능을 위한 함수를 담고 있는 클래스입니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:String getDataURL]( [param:HTMLCanvasElement image] | [param:HTMLImageElement image] | [param:ImageBitmap image] )</h3>
+		<p>
+		image -- 이미지 오브젝트입니다.<br /><br />
+
+		전달받은 이미지를 표현하는 데이터 URI를 리턴합니다.
+		</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/extras/PMREMGenerator.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>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			이 클래스는 큐브맵 환경 텍스처로부터 사전 필터링된 Mipmap Radiance Environment Map(PMREM)을 생성합니다.
+이를 통해 재질의 거칠기에 따라 다양한 수준의 블러를 빠르게 적용할 수 있습니다. RGBE와 같은 비선형 형식을 지원할 수 있도록 사용자 지정 보간을 수행할 수 있는 특수 CubeUV 형식으로 포장되어 있습니다. 
+기존의 mipmap 체인과는 달리, LOD_MIN 수준까지만 내려가며(위), 더 높은 거칠기 수준과 연관된 동일한 LOD_MIN 해상도에서 훨씬 더 많은 필터링된 'mips'를 생성합니다.
+이러한 방법으로 샘플링 계산을 제한하면서 확산 조명을 부드럽게 보간하기 위한 해상도를 유지합니다.
+		</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( [param:WebGLRenderer renderer] )</h3>
+		<p>
+		새 [name]를 만드는 생성자입니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:WebGLRenderTarget fromScene]( [param:Scene scene], [param:Number sigma], [param:Number near], [param:Number far] )</h3>
+		<p>
+			[page:Scene scene] - 전달받은 장면입니다.<br>
+			[page:Number sigma] - (생략가능) PMREM 생성 전에 장면에 적용할 블러 반지름을 설정합니다. 기본값은 *0*입니다.<br>
+			[page:Number near] - (생략가능) 근평면 값입니다. 기본값은 *0.1*입니다.<br>
+			[page:Number far] - (생략가능) 원평면 값입니다. 기본값은 *100*입니다.<br /><br />
+
+			전달받은 장면에서 PMREM을 생성합니다. 이는 네트워크 대역폭이 낮은 경우 이미지를 사용하는 것보다 빠를 수 있습니다.
+			장면 전체를 렌더링할 수 있도록 가까운 평면과 먼 평면을 선택할 수 있습니다(cubeCamera는 원래 위치에 배치됨).
+		</p>
+
+		<h3>[method:WebGLRenderTarget fromEquirectangular]( [param:Texture equirectangular] )</h3>
+		<p>
+			[page:Texture equirectangular] - 등장방형 텍스쳐입니다.<br /><br />
+
+			LDR(RGBFormat) 또는 HDR(RGBEFormat)일 수 있는 등장방형 텍스처로부터 PMREM을 생성합니다.
+			이상적인 입력 이미지 크기는 1k(1024 x 512)로, 256 x 256 큐브 맵 출력과 가장 잘 일치합니다.
+		</p>
+
+		<h3>[method:WebGLRenderTarget fromCubemap]( [param:CubeTexture cubemap] )</h3>
+		<p>
+			[page:CubeTexture cubemap] - 큐브맵 텍스쳐입니다.<br /><br />
+
+			LDR(RGBFormat) 또는 HDR(RGBEFormat)일 수 있는 큐브맵 텍스처로부터 PMREM을 생성합니다.
+			이상적인 입력 이미지 크기는 1k(1024 x 512)로, 256 x 256 큐브 맵 출력과 가장 잘 일치합니다.
+		</p>
+
+		<h3>[method:void compileCubemapShader]()</h3>
+		<p>
+			큐브 맵 셰이더를 미리 컴파일합니다. 동시성을 높이기 위해 텍스쳐의 네트워크 로딩 중에 이 메서드를 호출하여 더 빨리 시작할 수 있습니다.
+		</p>
+
+		<h3>[method:void compileEquirectangularShader]()</h3>
+		<p>
+			등장방형 셰이더를 미리 컴파일합니다. 동시성을 높이기 위해 텍스쳐의 네트워크 로딩 중에 이 메서드를 호출하여 더 빨리 시작할 수 있습니다.
+		</p>
+
+		<h3>[method:void dispose]()</h3>
+		<p>
+			PMREM 제너레이터의 내장 메모리를 폐기합니다. 
+			PMREMGenerator는 정적 클래스이므로 두 개 이상의 PMREMGenerator 개체가 필요하지 않습니다. 
+			이 경우 둘 중 하나에 대해 dispose()를 호출하면 다른 항목도 사용할 수 없게 됩니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 51 - 0
docs/api/ko/extras/ShapeUtils.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>[name]</h1>
+
+		<p class="desc">
+		shape에 대한 기능 함수를 포함하는 클래스입니다.<br /><br />
+
+		이 함수들은 모두 일차함수이므로 벡터의 x, y(z, w 가 있는 경우 해당포함) 컴포넌트에 대해 별도로 계산할 필요가 있습니다.
+		</p>
+
+
+		<h2>메서드</h2>
+
+		<h3>[method:Number area]( contour )</h3>
+		<p>
+		contour -- 2D 폴리곤입니다. THREE.Vector2() 배열입니다.<br /><br />
+
+		( 2D ) 윤곽 폴리곤의 면적을 계산합니다.
+		</p>
+
+		<h3>[method:Boolean isClockWise]( pts )</h3>
+		<p>
+		pts -- 2D 폴리곤을 정의하는 점들입니다<br /><br />
+
+		일차함수이므로 벡터의 x, y 컴포넌트에 대해 별도로 계산해야 하는 점에 주의해주세요.<br /><br />
+
+		[page:Path Path], [page:ExtrudeGeometry ExtrudeGeometry] 및 [page:ShapeGeometry ShapeGeometry]에서 내부적으로 사용됩니다.
+		</p>
+
+		<h3>[method:Array triangulateShape]( contour, holes )</h3>
+		<p>
+		contour -- 2D 폴리곤.<br />
+		holes -- holes 배열<br /><br />
+
+		[page:ExtrudeGeometry ExtrudeGeometry] 및 [page:ShapeGeometry ShapeGeometry]에서 내부적으로 holes와 함께 shape의 면을 계산하기 위해 사용됩니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 118 - 0
docs/api/ko/extras/core/Curve.html

@@ -0,0 +1,118 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		보간법 메서드를 가지고 있는 [name] 객체를 만들기 위한 기본 추상 클래스입니다.
+		[name]의 배열은 [page:CurvePath]를 참고하세요.
+		</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+		새 [name]를 만드는 생성자입니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Integer arcLengthDivisions]</h3>
+		<p>이 값은 곡선의 누적 세그먼트 길이를 계산할 때 [page:.getLengths]를 통해 분할할 양을 결정합니다. 
+			[page:.getSpacedPoints]같은 메서드를 사용할 때 정확도를 위해, 곡선이 아주 크다면 [page:.arcLengthDivisions]를 올리는 것을 추천합니다. 기본값은 200입니다.</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:Vector getPoint]( [param:Float t], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float t] - 곡선의 위치입니다. [ 0, 1 ] 사이에 있어야 합니다. <br>
+			[page:Vector optionalTarget] — (생략가능) 값이 지정되면, 결과값이 이 벡터에 복제될 것이고 생략되면 새 Vector가 생성됩니다.<br /><br />
+
+			곡선의 위치 벡터를 리턴합니다.
+		</p>
+
+		<h3>[method:Vector getPointAt]( [param:Float u], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float u] - 원호 길이에 따른 곡선의 위치입니다. [ 0, 1 ] 사이에 있어야 합니다. <br>
+			[page:Vector optionalTarget] — (생략가능) 값이 지정되면, 결과값이 이 벡터에 복제될 것이고 생략되면 새 Vector가 생성됩니다.<br /><br />
+
+			원호 길이에 따른 곡선의 위치 벡터를 리턴합니다.
+		</p>
+
+		<h3>[method:Array getPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- 곡선을 몇 조각으로 나눌지 결정합니다. 기본값은 *5*입니다.<br /><br />
+
+			getPoint( t )를 사용하는 divisions + 1 세트를 리턴합니다.
+		</p>
+
+		<h3>[method:Array getSpacedPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- 곡선을 몇 조각으로 나눌지 결정합니다. 기본값은 *5*입니다.<br /><br />
+
+			getPointAt( u )를 사용하는 균등 분할된 divisions + 1 세트를 리턴합니다.
+		</p>
+
+		<h3>[method:Float getLength]()</h3>
+		<p>총 곡선 원호 길이를 가져옵니다.</p>
+
+		<h3>[method:Array getLengths]( [param:Integer divisions] )</h3>
+		<p>누적 세그먼트 길이 목록을 가져옵니다.</p>
+
+		<h3>[method:null updateArcLengths]()</h3>
+		<p>누적 세그먼트 거리 캐시를 업데이트합니다.</p>
+
+		<h3>[method:Float getUtoTmapping]( [param:Float u], [param:Float distance] )</h3>
+		<p>
+			( 0 .. 1 ) 범위의 u 를 받아, 마찬가지로 ( 0 .. 1 ) 범위의 [page:Float t] 를 리턴합니다.
+			[page:.getPoint]를 사용해 u와 t는 곡선의 끝에서 등거리인 점을 확인하는 데 사용할 수 있습니다.
+		 </p>
+
+		<h3>[method:Vector getTangent]( [param:Float t], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float t] - 곡선의 위치입니다 [ 0, 1 ] 범위여야합니다. <br>
+			[page:Vector optionalTarget] — (생략가능) 값이 지정되면, 결과값이 이 벡터에 복제될 것이고 생략되면 새 Vector가 생성됩니다. <br /><br />
+
+			t에서 접선하는 단위 벡터를 반환합니다. 
+			파생 곡선이 접선 유도법을 구현하지 않는 경우, 작은 델타 간격의 두 점이 합리적인 근사치의 기울기를 찾는 데 사용됩니다.
+		</p>
+
+		<h3>[method:Vector getTangentAt]( [param:Float u], [param:Vector optionalTarget] )</h3>
+		<p>
+			[page:Float u] - 원호 길이에 따른 곡선의 위치. [0, 1] 범위에 있어야 합니다. <br>
+			[page:Vector optionalTarget] — (생략가능) 값이 지정되면, 결과값이 이 벡터에 복제될 것이고 생략되면 새 Vector가 생성됩니다. <br /><br />
+
+			[page:.getTangent]에 지정된 점에서 곡선의 끝과의 거리가 동일한 접선의 점을 반환합니다.
+		</p>
+
+		<h3>[method:Object computeFrenetFrames]( [param:Integer segments], [param:Boolean closed] )</h3>
+		<p>
+			프레닛 프레임을 생성합니다. 3D 스페이스에 곡선 정의가 필요합니다. [page:TubeGeometry] 혹은 [page:ExtrudeGeometry] 같은 기하학에 사용됩니다.
+		</p>
+
+		<h3>[method:Curve clone]()</h3>
+		<p>이 인스턴스의 사본을 만듭니다.</p>
+
+		<h3>[method:Curve copy]( [param:Curve source] )</h3>
+		<p>다른 [name] 객체를 이 인스턴스에 복사합니다.</p>
+
+		<h3>[method:Object toJSON]()</h3>
+		<p>이 인스턴스의 JSON 객체 표현을 리턴합니다.</p>
+
+		<h3>[method:Curve fromJSON]( [param:Object json] )</h3>
+		<p>JSON 객체에서 이 인스턴스로 데이터를 복사합니다.</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 76 - 0
docs/api/ko/extras/core/CurvePath.html

@@ -0,0 +1,76 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		[page:Curve]를 확장하는 추상 기본 클래스입니다. A CurvePath는 단순히 연결된 곡선의 배열이지만, curve의 api를 유지하고 있습니다.
+		</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]()</h3>
+		<p>
+		생성자에서는 파라미터를 받지 않습니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일빈 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Array curves]</h3>
+		<p>[page:Curve Curves]의 배열입니다.</p>
+
+		<h3>[property:Boolean autoClose]</h3>
+		<p>path를 자동으로 닫을지 말지를 결정합니다.</p>
+
+		<h2>메서드</h2>
+		<p>일빈 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[method:null add]( [param:Curve curve] )</h3>
+		<p>[page:.curves] 배열에 곡선을 추가합니다.</p>
+
+		<h3>[method:null closePath]()</h3>
+		<p>path를 닫기위해 [page:LineCurve lineCurve]를 추가합니다.</p>
+
+		<h3>[method:Array getCurveLengths]()</h3>
+		<p>[page:.curves] 배열에 있는 곡선들의 누적 곡선 길이 목록을 가져옵니다.</p>
+
+		<h3>[method:Vector getPoint]( [param:Float t] )</h3>
+		<p>
+			[page:Float t] - 곡선의 위치입니다. [ 0, 1 ]범위 안에 있어야 합니다. <br><br />
+
+			곡선 path에 있는 위치 벡터를 리턴합니다.
+		</p>
+
+		<h3>[method:Array getPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- 곡선을 나눌 조각 수입니다. 기본값은 *12*입니다.<br /><br />
+
+			곡선 시퀀스를 나타내는 점 배열을 반환합니다. 
+			*divisions* 파라미터는 각 곡선이 분할되는 조각 수를 정의합니다. 
+			하지만 최적화 및 품질 목적을 위해 각 곡선의 실제 표본 해상도는 유형에 따라 달라집니다. 
+			예를 들어 [page:LineCurve]의 경우, 반환되는 점 수는 항상 2개입니다.
+		</p>
+
+		<h3>[method:Array getSpacedPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- 곡선을 나눌 조각 수입니다. 기본값은 *40*입니다.<br /><br />
+
+			getPointAt( u )를 사용하는 divisions + 1 의 균등하게 분할된 점을 리턴합니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 54 - 0
docs/api/ko/extras/core/Font.html

@@ -0,0 +1,54 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		JSON 포맷으로 로드된 폰트를 표현하는 [page:Shape Shapes] 세트를 만듭니다.<br /><br />
+
+		[page:FontLoader]에서 내부적으로 사용됩니다.
+		</p>
+
+		<h2>예제</h2>
+
+		<p>
+		[example:webgl_geometry_text_shapes geometry / text / shapes ]
+		</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( data )</h3>
+		<p>
+		data -- 폰트를 표현하는 JSON 데이터입니다.<br /><br />
+
+		이 생성자는 [page:Shape Shapes] 배열의 새 [name]를 만듭니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Array data]</h3>
+		<p>생성자에 전달되는 JSON 데이터입니다.</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:null generateShapes]( [param:String text], [param:Float size] )</h3>
+		<p>
+			[page:String text] -- 텍스트 문자열입니다.<br />
+			[page:Float size] -- (생략가능) [page:Shape Shapes]의 크기입니다. 기본값은 *100*입니다.<br />
+
+			폰트에서 텍스트를 표현하는 [page:Shape Shapes] 배열을 만듭니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 48 - 0
docs/api/ko/extras/core/Interpolations.html

@@ -0,0 +1,48 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+			[name]은 구상 곡선 클래스에서 사용되는 스플라인 및 베지어 함수를 포함하고 있습니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:Float CatmullRom]( [param:Float t], [param:Float p0], [param:Float p1], [param:Float p2], [param:Float p3] )</h3>
+		<p>
+		t -- 보간 가중치.<br />
+		p0, p1, p2, p3 -- 스플라인 곡선을 정의하는 점입니다.<br /><br />
+
+		[page:SplineCurve SplineCurve]에서 내부적으로 사용됩니다.
+		</p>
+
+		<h3>[method:Float QuadraticBezier]( [param:Float t], [param:Float p0], [param:Float p1], [param:Float p2] )</h3>
+		<p>
+		t -- 보간 가중치.<br />
+		p0, p1, p2 -- 곡선을 정의하는 시작, 조절, 끝 점입니다.<br /><br />
+
+		[page:QuadraticBezierCurve3 QuadraticBezierCurve3], [page:QuadraticBezierCurve QuadraticBezierCurve] 및 [page:Font Font]에서 내부적으로 사용됩니다.
+		</p>
+
+		<h3>[method:Float CubicBezier]( [param:Float t], [param:Float p0], [param:Float p1], [param:Float p2], [param:Float p3] )</h3>
+		<p>
+		t -- 보간 가중치.<br />
+		p0, p1, p2, p3 -- 곡선을 정의하는 시작, 조절(두 번), 끝 점입니다.<br /><br />
+
+		[page:CubicBezierCurve3 CubicBezierCurve3], [page:CubicBezierCurve CubicBezierCurve] 및 [page:Font Font]에서 내부적으로 사용됩니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 144 - 0
docs/api/ko/extras/core/Path.html

@@ -0,0 +1,144 @@
+<!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:Curve] &rarr; [page:CurvePath] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		2D path 표현입니다. 이 클래스는 2D Canvas API와 유사한 2D 도형의 path 및 윤곽선을 만드는 방법을 제공합니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const path = new THREE.Path();
+
+		path.lineTo( 0, 0.8 );
+		path.quadraticCurveTo( 0, 1, 0.2, 1 );
+		path.lineTo( 1, 1 );
+
+		const points = path.getPoints();
+
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+		const material = new THREE.LineBasicMaterial( { color: 0xffffff } );
+
+		const line = new THREE.Line( geometry, material );
+		scene.add( line );
+		</code>
+
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Array points] )</h3>
+		<p>
+		points -- (생략가능) [page:Vector2 Vector2s] 배열.<br /><br />
+
+		점들로 path를 만듭니다. 첫 점은 오프셋을 정의하고 이어지는 점들은 [page:LineCurve LineCurves]로 
+		[page:CurvePath.curves curves] 배열에 추가됩니다.<br /><br />
+
+		점이 지정되지 않으면, 빈 path가 만들어지며 [page:.currentPoint]가 기본값으로 설정됩니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:CurvePath] 클래스를 참고하세요.</p>
+
+		<h3>[property:Array currentPoint]</h3>
+		<p>path의 현재 오프셋입니다. 새 [page:Curve]들은 여기서부터 시작될 것입니다.</p>
+
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:CurvePath] 클래스를 참고하세요.</p>
+
+		<h3>[method:this absarc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
+		<p>
+			x, y -- 호의 절대중심입니다.<br />
+			radius -- 호의 반지름입니다.<br />
+			startAngle -- 라디안 시작 각도입니다.<br />
+			endAngle -- 라디안 끝 각도입니다.<br />
+			clockwise -- 호를 시계방향으로 회전합니다. 기본값은 *false*입니다.<br /><br />
+
+			절대 위치를 가진 [page:EllipseCurve EllipseCurve]를 path에 추가합니다.
+		</p>
+
+		<h3>[method:this absellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
+		<p>
+			x, y -- 타원의 절대중심입니다.<br />
+			xRadius -- 타원의 x 축 반지름입니다.<br />
+			yRadius -- 타원의 y 축 반지름입니다..<br />
+			startAngle -- 라디안 시작 각도입니다.<br />
+			endAngle -- 라디안 끝 각도입니다.<br />
+			clockwise -- 타원을 시계방향으로 회전합니다. 기본값은 *false*입니다.<br />
+			rotation -- 타원의 라디안 회전각도이며 양수 x축의 반시계방향입니다. 생략 가능하며 기본값은 0입니다.<br /><br />
+
+			path에 절대 위치를 가진 [page:EllipseCurve EllipseCurve]를 추가합니다.
+		</p>
+
+		<h3>[method:this arc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
+		<p>
+		x, y -- 마지막 호출의 호의 오프셋의 중심입니다.<br />
+		radius -- 호의 반지름입니다.<br />
+		startAngle -- 라디안 시작 각도입니다.<br />
+		endAngle -- 라디안 끝 각도입니다.<br />
+		clockwise -- 호를 시계방향으로 회전합니다. 기본값은 *false*입니다.<br /><br />
+
+		[page:.currentPoint]에 대한 상대위치를 가지는 [page:EllipseCurve EllipseCurve]를 path에 추가합니다.
+		</p>
+
+
+		<h3>[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
+		<p>This creates a bezier curve from [page:.currentPoint] with (cp1X, cp1Y) and (cp2X, cp2Y) as control points and updates [page:.currentPoint] to x and y.</p>
+
+		<h3>[method:this ellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
+		<p>
+			x, y -- 마지막 호출의 타원의 오프셋의 중심입니다.<br />
+			xRadius -- 타원의 x 축 반지름입니다.<br />
+			yRadius -- 타원의 y 축 반지름입니다..<br />
+			startAngle -- 라디안 시작 각도입니다.<br />
+			endAngle -- 라디안 끝 각도입니다.<br />
+			clockwise -- 타원을 시계방향으로 회전합니다. 기본값은 *false*입니다.<br />
+			rotation -- 타원의 라디안 회전각도이며 양수 x축의 반시계방향입니다. 생략 가능하며 기본값은 0입니다.<br /><br />
+
+			[page:.currentPoint]에 대한 상대위치를 가지는 [page:EllipseCurve EllipseCurve]를 path에 추가합니다.
+		</p>
+
+		<h3>[method:this lineTo]( [param:Float x], [param:Float y] )</h3>
+		<p>path 위에 [page:.currentPoint]에서 x, y로 [page:LineCurve]를 연결합니다.</p>
+
+
+		<h3>[method:this moveTo]( [param:Float x], [param:Float y] )</h3>
+		<p>[page:.currentPoint]를 x, y로 이동시킵니다.</p>
+
+
+		<h3>[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
+		<p>조절점 cpX 와 cpY의 [page:.currentPoint]로부터 이차곡선을 만들고 [page:.currentPoint]를 x 와 y로 업데이트합니다.</p>
+
+		<h3>[method:this setFromPoints]( [param:Array vector2s] )</h3>
+		<p>
+			points --  [page:Vector2 Vector2s] 배열.<br /><br />
+
+			점들은 [page:CurvePath.curves curves] 배열에 [page:LineCurve LineCurves]로 추가됩니다.
+		</p>
+
+		<h3>[method:this splineThru] ( [param:Array points] ) </h3>
+		<p>
+			points - [page:Vector2 Vector2s] 배열.<br /><br />
+
+			path에 새 [page:SplineCurve]를 추가합니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 101 - 0
docs/api/ko/extras/core/Shape.html

@@ -0,0 +1,101 @@
+<!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:Curve] &rarr; [page:CurvePath] &rarr; [page:Path] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		임의의 holes가 있는 path를 사용하여 임의 2d shape 평면을 정의합니다. [page:ExtrudeGeometry] 및 [page:ShapeGeometry]와 함께 사용할 수 있으며, 점을 가져오거나 삼각형의 면을 가져옵니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const heartShape = new THREE.Shape();
+
+		heartShape.moveTo( 25, 25 );
+		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
+		heartShape.bezierCurveTo( - 30, 0, - 30, 35, - 30, 35 );
+		heartShape.bezierCurveTo( - 30, 55, - 10, 77, 25, 95 );
+		heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
+		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
+		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
+
+		const extrudeSettings = { depth: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
+
+		const geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
+
+		const mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
+		</code>
+
+		<h2>예제</h2>
+
+		<p>
+		[example:webgl_geometry_shapes geometry / shapes ]<br/>
+		[example:webgl_geometry_extrude_shapes geometry / extrude / shapes ]<br/>
+		[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2 ]<br/>
+		</p>
+
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Array points] )</h3>
+		<p>
+		points -- (생략가능) [page:Vector2 Vector2s] 배열입니다.<br /><br />
+
+		점을 기반으로 Shape를 만듭니다. 첫 번째 점은 오프셋을 정의하고 이어지는 점들은 [page:CurvePath.curves curves] 배열에 [page:LineCurve LineCurves]로 추가됩니다.<br /><br />
+
+		점이 지정되지 않으면, 빈 path가 만들어지며 [page:.currentPoint]가 기본값으로 설정됩니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Path] 클래스를 참고하세요.</p>
+
+		<h3>[property:String uuid]</h3>
+		<p>
+		인스턴스의 [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]입니다. 자동으로 할당되며 수정할 수 없습니다.
+		</p>
+
+		<h3>[property:Array holes]</h3>
+		<p>shape의 holes를 정의하는 [page:Path paths] 배열입니다.</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Path] 클래스를 참고하세요.</p>
+
+		<h3>[method:Array extractPoints]( [param:Integer divisions] )</h3>
+		<p>
+		divisions -- 결과값의 정밀도입니다.<br /><br />
+
+		shape와 [page:.holes]배열에서 [page:Curve.getPoints getPoints]를 호출하며, 다음과 같은 객체를 리턴합니다:
+		<code>
+{
+	shape
+	holes
+}
+		</code>
+		shape 와 holes 는 [page:Vector2 Vector2s]의 배열입니다.
+		</p>
+
+		<h3>[method:Array getPointsHoles]( [param:Integer divisions] )</h3>
+		<p>
+		divisions -- 결과값의 정밀도입니다.<br /><br />
+
+		shape 안의 holes를 표현하는 [page:Vector2 Vector2s] 배열을 가져옵니다.
+		</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 88 - 0
docs/api/ko/extras/core/ShapePath.html

@@ -0,0 +1,88 @@
+<!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>[name]</h1>
+
+		<p class="desc">
+		This class is used to convert 이 클래스는 연속된 shape들을 [page:Path] 배열로 바꾸는데에 사용되며, 일례로 SVG shape를 path로 바꾸는 것이 있습니다.(아래 예제를 확인하세요). 
+		[page:Font]에서 내부적으로 JSON 포맷의 폰드를 path 시리즈로 만드는 데에 사용됩니다.
+		</p>
+
+		<h2>예제</h2>
+		<p>
+			[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2]
+		</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name](  )</h3>
+		<p>
+		새 ShapePath를 만듭니다. [page:Path]와 달리, 점들이 ShapePath로 전달되지 않으며 생성 이후에 작동되게 설계되었습니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+
+		<h3>[property:Array subPaths]</h3>
+		<p>
+		[page:Path]들의 배열입니다.
+		</p>
+
+		<h3>[property:Array currentPath]</h3>
+		<p>
+		현재 생성된 [page:Path]입니다.
+		</p>
+
+		<h3>[property:Color color]</h3>
+		<p>shape의 [page:Color]이며, 기본값은 흰 색입니다(0xffffff).</p>
+
+		<h2>메서드</h2>
+
+		<h3>[method:this moveTo]( [param:Float x], [param:Float y] )</h3>
+		<p>
+		새 [page:Path]를 시작하고 해당 [page:Path]에 [page:Path.moveTo]( x, y )를 호출합니다.
+		[page:ShapePath.currentPath currentPath] 점도 해당 [page:Path]에 호출합니다.
+		</p>
+
+		<h3>[method:this lineTo]( [param:Float x], [param:Float y] )</h3>
+		<p>[page:ShapePath.currentPath currentPath]의 오프셋에서 X 및 Y로 선을 생성하고 오프셋을 X와 Y로 업데이트합니다.</p>
+
+		<h3>[method:this quadraticCurveTo]( [param:Float cpX], [param:Float cpY], [param:Float x], [param:Float y] )</h3>
+		<p>[page:ShapePath.currentPath currentPath]의 오프셋에서 조절점 cpX 와 cpY 및 x 와 y로 이차곡선을 만들고 [page:ShapePath.currentPath currentPath]의 오프셋을 x 와 y로 업데이트합니다.</p>
+
+		<h3>[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
+		<p>[page:ShapePath.currentPath currentPath]의 오프셋에서 조절점 cpX 와 cpY 및 x 와 y로 베지어곡선을 만들고 [page:ShapePath.currentPath currentPath]의 오프셋을 x 와 y로 업데이트합니다.</p>
+
+		<h3>[method:this splineThru] ( [param:Array points] ) </h3>
+		<p>points - [page:Vector2]들의 배열</p>
+		<p>[page:ShapePath.currentPath currentPath] 위에 새 [page:SplineCurve]를 연결합니다.</p>
+
+
+		<h3>[method:Array toShapes]( [param:Boolean isCCW], [param:Boolean noHoles] )</h3>
+		<p>
+		isCCW -- solids와 holes가 생성되는 방식을 변경합니다<br/>
+		noHoles -- holes를 생성할지 안 할지를 설정합니다.
+		</p>
+		<p>
+		[page:ShapePath.subPaths subPaths] 배열을 Shapes 배열로 변환합니다. 기본값으로 solid shapes는 시계방향(CW)이고 holes는 반시계방향(CCW)입니다. 
+		isCCW가 true면, 이 값들이 반대가 됩니다.
+		noHoles 파라미터가 true면 모든 path들은 solid shapes로 설정되고 isCCW는 무시됩니다.
+		<br/>
+
+		</p>
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/extras/core/ShapePath.js src/extras/core/ShapePath.js]
+		</p>
+	</body>
+</html>

+ 26 - 0
docs/api/ko/extras/curves/ArcCurve.html

@@ -0,0 +1,26 @@
+<!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:Curve] &rarr; [page:EllipseCurve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">[page:EllipseCurve]의 다른 이름입니다.</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:EllipseCurve] 클래스를 참고하세요.</p>
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 79 - 0
docs/api/ko/extras/curves/CatmullRomCurve3.html

@@ -0,0 +1,79 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">[link:https://en.wikipedia.org/wiki/Centripetal_Catmull-Rom_spline Catmull-Rom] 알고리즘을 사용하여 일련의 점으로부터 매끄러운 3D 스플라인 곡선을 생성합니다.</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		//Create a closed wavey loop
+		const curve = new THREE.CatmullRomCurve3( [
+			new THREE.Vector3( -10, 0, 10 ),
+			new THREE.Vector3( -5, 5, 5 ),
+			new THREE.Vector3( 0, 0, 0 ),
+			new THREE.Vector3( 5, -5, 5 ),
+			new THREE.Vector3( 10, 0, 10 )
+		] );
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+		// Create the final object to add to the scene
+		const curveObject = new THREE.Line( geometry, material );
+		</code>
+
+		<h2>예제</h2>
+
+		<p>
+			[example:webgl_geometry_extrude_splines WebGL / geometry / extrude / splines]
+		</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( [param:Array points], [param:Boolean closed], [param:String curveType], [param:Float tension] )</h3>
+		<p>
+			points – [page:Vector3] 점들의 배열입니다<br/>
+			closed – 곡선이 닫히는지 아닌지를 결정합니다. 기본값은 *false*입니다.<br/>
+			curveType – 곡선의 타입입니다. 기본값은 *centripetal*입니다.<br/>
+			tension – 곡선의 탄성입니다. 기본값은 *0.5*입니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Array points]</h3>
+		<p>곡선을 정의하는 [page:Vector3] 점들입니다. 적어도 두 개의 개체가 필요합니다.</p>
+
+		<h3>[property:Boolean closed]</h3>
+		<p>이 값이 true면 곡선은 스스로에게 되돌아옵니다.</p>
+
+		<h3>[property:String curveType]</h3>
+		<p>가능한 값은 *centripetal*, *chordal* 및 *catmullrom* 입니다.</p>
+
+		<h3>[property:Float tension]</h3>
+		<p>[page:.curveType]가 *catmullrom*이면, 캣멀롬 탄성을 정의합니다.</p>
+
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</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/extras/curves/CubicBezierCurve.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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			시작점, 종착점, 두 개의 조절점을 통해 매끄러운 2d
+			<a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:Bezier_curve.svg" target="_blank">베지에 곡선</a>을 만듭니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const curve = new THREE.CubicBezierCurve(
+			new THREE.Vector2( -10, 0 ),
+			new THREE.Vector2( -5, 15 ),
+			new THREE.Vector2( 20, 15 ),
+			new THREE.Vector2( 10, 0 )
+		);
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+		// Create the final object to add to the scene
+		const curveObject = new THREE.Line( geometry, material );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name] ( [param:Vector2 v0], [param:Vector2 v1], [param:Vector2 v2], [param:Vector2 v3] )</h3>
+		<p>
+			[page:Vector2 v0] – 시작점.<br/>
+			[page:Vector2 v1] – 첫 번째 조절점.<br/>
+			[page:Vector2 v2] – 두 번째 조절점.<br/>
+			[page:Vector2 v3] – 종착점.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Vector2 v0]</h3>
+		<p>시작점입니다.</p>
+
+		<h3>[property:Vector2 v1]</h3>
+		<p>첫 번째 조절점입니다.</p>
+
+		<h3>[property:Vector2 v2]</h3>
+		<p>두 번째 조절점입니다.</p>
+
+		<h3>[property:Vector2 v3]</h3>
+		<p>종착점입니다.</p>
+
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</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/extras/curves/CubicBezierCurve3.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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			시작점, 종착점, 두 개의 조절점을 통해 매끄러운 3d
+			<a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:Bezier_curve.svg" target="_blank">베지에 곡선</a>을 만듭니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const curve = new THREE.CubicBezierCurve3(
+			new THREE.Vector3( -10, 0, 0 ),
+			new THREE.Vector3( -5, 15, 0 ),
+			new THREE.Vector3( 20, 15, 0 ),
+			new THREE.Vector3( 10, 0, 0 )
+		);
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+		// Create the final object to add to the scene
+		const curveObject = new THREE.Line( geometry, material );
+
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Vector3 v0], [param:Vector3 v1], [param:Vector3 v2], [param:Vector3 v3] )</h3>
+		<p>
+			[page:Vector3 v0] – 시작점.<br/>
+			[page:Vector3 v1] – 첫 번째 조절점.<br/>
+			[page:Vector3 v2] – 두 번째 조절점.<br/>
+			[page:Vector3 v3] – 종착점.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Vector3 v0]</h3>
+		<p>시작점입니다.</p>
+
+		<h3>[property:Vector3 v1]</h3>
+		<p>첫 번째 조절점입니다.</p>
+
+		<h3>[property:Vector3 v2]</h3>
+		<p>두 번째 조절점입니다.</p>
+
+		<h3>[property:Vector3 v3]</h3>
+		<p>종착점입니다.</p>
+
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 91 - 0
docs/api/ko/extras/curves/EllipseCurve.html

@@ -0,0 +1,91 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			타원 모양의 2d 곡선을 생성합니다.
+			[page:Number xRadius]를 [page:Number yRadius]과 같게 설정하면 원이 됩니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const curve = new THREE.EllipseCurve(
+			0,  0,            // ax, aY
+			10, 10,           // xRadius, yRadius
+			0,  2 * Math.PI,  // aStartAngle, aEndAngle
+			false,            // aClockwise
+			0                 // aRotation
+		);
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+		// Create the final object to add to the scene
+		const ellipse = new THREE.Line( geometry, material );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Float aX], [param:Float aY], [param:Float xRadius], [param:Float yRadius], [param:Radians aStartAngle], [param:Radians aEndAngle], [param:Boolean aClockwise], [param:Radians aRotation] )</h3>
+		<p>
+			[page:Float aX] – 타원의 X 중앙입니다. 기본값은 *0*입니다.<br/>
+			[page:Float aY] – 타원의 Y 중앙입니다. 기본값은 *0*입니다.<br/>
+			[page:Float xRadius] – 타원의 x방향 반지름입니다. 기본값은 *1*입니다.<br/>
+			[page:Float yRadius] – 타원의 y방향 반지름입니다. 기본값은 *1*입니다.<br/>
+			[page:Radians aStartAngle] – 양수 X 축에서 시작하는 곡선의 라디안 시작각도입니다. 기본값은 *0*입니다.<br/>
+			[page:Radians aEndAngle] – 양수 X 축에서 시작하는 곡선의 라디안 종착각도입니다. 기본값은 *2 x Math.PI*입니다.<br/>
+			[page:Boolean aClockwise] – 타원이 시계방향으로 그려질지에 대한 값입니다. 기본값은 *false*입니다.<br/>
+			[page:Radians aRotation]  – 타원의 회전 라디안 각도이며 양수 X 축의 반시계방향입니다(선택가능). 기본값은 *0*입니다.<br/><br/>
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Float aX]</h3>
+		<p>타원의 X 중앙입니다.</p>
+
+		<h3>[property:Float aY]</h3>
+		<p>타원의 Y 중앙입니다.</p>
+
+		<h3>[property:Radians xRadius]</h3>
+		<p>타원의 x방향 각도입니다.</p>
+
+		<h3>[property:Radians yRadius]</h3>
+		<p>타원의 y방향 각도입니다.</p>
+
+		<h3>[property:Float aStartAngle]</h3>
+		<p>우측 중앙에서 시작하는 라디안 시작각도입니다.</p>
+
+		<h3>[property:Float aEndAngle]</h3>
+		<p>우측 중앙에서 시작하는 라디안 종착각도입니다.</p>
+
+		<h3>[property:Boolean aClockwise]</h3>
+		<p>타원이 시계방향으로 그려질지에 대한 값입니다.</p>
+
+		<h3>[property:Float aRotation]</h3>
+		<p>타원의 회전 라디안 각도이며 양수 X 축의 반시계방향입니다(선택가능). 기본값은 *0*입니다.</p>
+
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 45 - 0
docs/api/ko/extras/curves/LineCurve.html

@@ -0,0 +1,45 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">2d 선 세그먼트를 그리는 커브입니다.</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Vector2 v1], [param:Vector2 v2] )</h3>
+		<p>
+			[page:Vector2 v1] – 시작점입니다.<br/>
+			[page:Vector2 v2] - 종착점입니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Vector2 v1]</h3>
+		<p>시작점입니다.</p>
+
+		<h3>[property:Vector2 v2]</h3>
+		<p>종착점입니다</p>
+
+		<h2>메서드</h2>
+		<p>S일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 44 - 0
docs/api/ko/extras/curves/LineCurve3.html

@@ -0,0 +1,44 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">3d 선 세그먼트를 그리는 커브입니다.</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Vector3 v1], [param:Vector3 v2] )</h3>
+		<p>
+			[page:Vector3 v1] – 시작점입니다.<br/>
+			[page:Vector3 v2] - 종착점입니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Vector3 v1]</h3>
+		<p>시작점입니다.</p>
+
+		<h3>[property:Vector3 v2]</h3>
+		<p>종착점입니다.</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 69 - 0
docs/api/ko/extras/curves/QuadraticBezierCurve.html

@@ -0,0 +1,69 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			시작점, 종착점, 두 개의 조절점을 통해 매끄러운 2d
+			<a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:B%C3%A9zier_2_big.gif" target="_blank">이차 베지어 곡선</a>을 만듭니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const curve = new THREE.QuadraticBezierCurve(
+			new THREE.Vector2( -10, 0 ),
+			new THREE.Vector2( 20, 15 ),
+			new THREE.Vector2( 10, 0 )
+		);
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+		// Create the final object to add to the scene
+		const curveObject = new THREE.Line( geometry, material );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Vector2 v0], [param:Vector2 v1], [param:Vector2 v2] )</h3>
+		<p>
+			[page:Vector2 v0] – 시작점입니다.<br/>
+			[page:Vector2 v1] – 조절점입니다.<br/>
+			[page:Vector2 v2] – 종착점입니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Vector2 v0]</h3>
+		<p>시작점입니다.</p>
+
+		<h3>[property:Vector2 v1]</h3>
+		<p>조절점입니다.</p>
+
+		<h3>[property:Vector2 v2]</h3>
+		<p>종착점입니다.</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</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/extras/curves/QuadraticBezierCurve3.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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			시작점, 종착점, 두 개의 조절점을 통해 매끄러운 3d
+			<a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:B%C3%A9zier_2_big.gif" target="_blank">이차 베지에 곡선</a>을 만듭니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		const curve = new THREE.QuadraticBezierCurve3(
+			new THREE.Vector3( -10, 0, 0 ),
+			new THREE.Vector3( 20, 15, 0 ),
+			new THREE.Vector3( 10, 0, 0 )
+		);
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+		// Create the final object to add to the scene
+		const curveObject = new THREE.Line( geometry, material );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Vector3 v0], [param:Vector3 v1], [param:Vector3 v2] )</h3>
+		<p>
+			[page:Vector3 v0] – 시작점입니다.<br/>
+			[page:Vector3 v1] – 중앙 조절점입니다.<br/>
+			[page:Vector3 v2] – 종착점입니다.<br/>
+		</p>
+
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Vector3 v0]</h3>
+		<p>시작점입니다.</p>
+
+		<h3>[property:Vector3 v1]</h3>
+		<p>조절점입니다.</p>
+
+		<h3>[property:Vector3 v2]</h3>
+		<p>종착점입니다.</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 65 - 0
docs/api/ko/extras/curves/SplineCurve.html

@@ -0,0 +1,65 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+		연속된 점들로부터 매끄러운 2d 곡선을 만듭니다. 내부적으로 [page:Interpolations.CatmullRom]을 사용해 곡선을 만듭니다.
+		</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		// Create a sine-like wave
+		const curve = new THREE.SplineCurve( [
+			new THREE.Vector2( -10, 0 ),
+			new THREE.Vector2( -5, 5 ),
+			new THREE.Vector2( 0, 0 ),
+			new THREE.Vector2( 5, -5 ),
+			new THREE.Vector2( 10, 0 )
+		] );
+
+		const points = curve.getPoints( 50 );
+		const geometry = new THREE.BufferGeometry().setFromPoints( points );
+
+		const material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+		// Create the final object to add to the scene
+		const splineObject = new THREE.Line( geometry, material );
+		</code>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Array points] )</h3>
+		<p>points – [page:Vector2] 배열의 점으로 곡선을 정의합니다.</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+		<h3>[property:Array points]</h3>
+		<p>곡선을 정의하는 [page:Vector2] 점들의 배열입니다.</p>
+
+
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Curve] 클래스를 참고하세요.</p>
+
+
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 110 - 0
docs/api/ko/extras/objects/ImmediateRenderObject.html

@@ -0,0 +1,110 @@
+<!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:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			이 실험 클래스는 자주 업데이트되는 기하학 데이터로 메쉬를 렌더링하기 위한 빠른 코드 패스를 제공합니다. 렌더러가 [name]의 인스턴스를 만나면, 가장 원시적인 렌더링 작업(예: 바인딩 꼭짓점 속성, 정확한 셰이더 프로그램 결정 또는 실제 드로우 콜 수행)에만 신경을 씁니다. 뷰 펑퍼텀 도금, 와이어프레임 렌더링 또는 다중 재료 사용과 같은 기능은 지원되지 않습니다. [name]은 삼각형을 렌더링하는 데에만 사용할 수 있습니다.
+		</p>
+
+		<p class="desc">
+			[name]는 [page:BufferGeometry] 인스턴스와 함께 작동되지 않습니다. 원시 기하학 데이터가 [name]의 프로퍼티로 저장돼야 합니다.
+		</p>
+
+		<p class="desc">
+			[name]은 기하학 데이터를 프레임마다 업데이트할 때만 작동합니다. 기본 메쉬 렌더링 로직에 비해 빠른 코드 패스를 경험할 수 있습니다.
+		</p>
+
+		<h2>예제</h2>
+		<p>
+			[example:webgl_marchingcubes Marching Cubes]
+		</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Material material] )</h3>
+		<p>
+		[page:Material material] — [name]의 재질.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼니틑 기본 [page:Object3D] 클래스를 참고하세요.</p>
+
+		<h3>[property:Boolean material]</h3>
+		<p>
+			[name]의 재질. 여러 재질을 할당하는 것은 지원되지 않습니다.
+		</p>
+
+		<h3>[property:Boolean hasPositions]</h3>
+		<p>
+			위치 데이터가 정의되었는지입니다. 기본값은 *false*입니다.
+		</p>
+
+		<h3>[property:Boolean hasNormals]</h3>
+		<p>
+			법선 데이터가 정의되었는지입니다. 기본값은 *false*입니다.
+		</p>
+
+		<h3>[property:Boolean hasColors]</h3>
+		<p>
+			색상 데이터가 정의되었는지입니다. 기본값은 *false*입니다.
+		</p>
+
+		<h3>[property:Boolean hasUvs]</h3>
+		<p>
+			텍스쳐 좌표가 정의되었는지입니다. 기본값은 *false*입니다.
+		</p>
+
+		<h3>[property:Float32Array positionArray]</h3>
+		<p>
+			위치 데이터를 담고 있는 버퍼입니다. 기본값은 *null*입니다.
+		</p>
+
+		<h3>[property:Float32Array normalArray]</h3>
+		<p>
+			법선 데이터를 담고 있는 버퍼입니다. 기본값은 *null*입니다.
+		</p>
+
+		<h3>[property:Float32Array colorArray]</h3>
+		<p>
+			색상 데이터를 담고 있는 버퍼입니다. 기본값은 *null*입니다.
+		</p>
+
+		<h3>[property:Float32Array uvArray]</h3>
+		<p>
+			텍스쳐 좌표를 담고 있는 버퍼입니다. 기본값은 *null*입니다.
+		</p>
+
+		<h3>[property:Integer count]</h3>
+		<p>
+			렌더링될 개체의 수입니다. 기본값은 *0*입니다.
+			매 렌더링 이후에 이 프로퍼티는 *0*으로 설정될 것이기 때문에 [page:.render]() 실행 범위 안에 주로 설정하곤 합니다.
+		</p>
+
+		<h2>메서드</h2>
+
+		<p>일반 메서드는 기본 [page:Object3D] 클래스를 참고하세요.</p>
+
+		<h3>[method:null render]([param:Function renderCallback])</h3>
+		<p>
+		renderCallback -- 생성된 기하학 데이터를 렌더링하는 함수입니다.
+		</p>
+		<p>
+		이 메서드는 [name]의 파생클래스에서 상속받아야합니다. 일반적으로 실행 마지막 부분에 꼭짓점 버퍼 업데이트 로직을 구현하고 *renderCallback*을 사용합니다.
+
+		<h2>소스코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 5 - 0
docs/api/zh/core/Object3D.html

@@ -305,6 +305,11 @@
 		从当前对象的子级中移除<b>对象</b>。可以移除任意数量的对象。
 		从当前对象的子级中移除<b>对象</b>。可以移除任意数量的对象。
 	</p>
 	</p>
 
 
+	<h3>[method:this removeFromParent]()</h3>
+	<p>
+	Removes this object from its current parent.
+	</p>
+
 	<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
 	<h3>[method:this rotateOnAxis]( [param:Vector3 axis], [param:Float angle] )</h3>
 	<p>
 	<p>
 		axis —— 一个在局部空间中的标准化向量。<br />
 		axis —— 一个在局部空间中的标准化向量。<br />

+ 3 - 3
docs/api/zh/extras/core/Shape.html

@@ -23,13 +23,13 @@
 
 
 		heartShape.moveTo( 25, 25 );
 		heartShape.moveTo( 25, 25 );
 		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
 		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
-		heartShape.bezierCurveTo( 30, 0, 30, 35,30,35 );
-		heartShape.bezierCurveTo( 30, 55, 10, 77, 25, 95 );
+		heartShape.bezierCurveTo( - 30, 0, - 30, 35, - 30, 35 );
+		heartShape.bezierCurveTo( - 30, 55, - 10, 77, 25, 95 );
 		heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
 		heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
 		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
 		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
 		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
 		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
 
 
-		const extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
+		const extrudeSettings = { depth: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
 
 
 		const geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
 		const geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
 
 

+ 1 - 1
docs/api/zh/geometries/PlaneGeometry.html

@@ -33,7 +33,7 @@
 
 
 		<h2>代码示例</h2>
 		<h2>代码示例</h2>
 
 
-		<code>const geometry = new THREE.PlaneGeometry( 5, 20, 32 );
+		<code>const geometry = new THREE.PlaneGeometry( 1, 1 );
 		const material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
 		const material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
 		const plane = new THREE.Mesh( geometry, material );
 		const plane = new THREE.Mesh( geometry, material );
 		scene.add( plane );
 		scene.add( plane );

+ 0 - 3
docs/api/zh/materials/MeshBasicMaterial.html

@@ -98,9 +98,6 @@
 			折射率不应超过1。默认值为*0.98*。
 			折射率不应超过1。默认值为*0.98*。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p> 材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p> 材质使用的高光贴图。默认值为null。</p>
 		<p> 材质使用的高光贴图。默认值为null。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshDepthMaterial.html

@@ -76,9 +76,6 @@
 		<h3>[property:Boolean morphTargets]</h3>
 		<h3>[property:Boolean morphTargets]</h3>
 		<p>材质是否使用morphTargets。默认值为false。</p>
 		<p>材质是否使用morphTargets。默认值为false。</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p> 将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。</p>
 		<p> 将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshDistanceMaterial.html

@@ -97,9 +97,6 @@
 			The position of the point light in world space.
 			The position of the point light in world space.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h2>方法(Methods)</h2>
 		<h2>方法(Methods)</h2>
 		<p>共有方法请参见其基类[page:Material]。</p>
 		<p>共有方法请参见其基类[page:Material]。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshLambertMaterial.html

@@ -119,9 +119,6 @@
 			折射率不应超过1。默认值为*0.98*。
 			折射率不应超过1。默认值为*0.98*。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p>材质使用的高光贴图。默认值为null。</p>
 		<p>材质使用的高光贴图。默认值为null。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshMatcapMaterial.html

@@ -112,9 +112,6 @@
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h2>方法(Methods)</h2>
 		<h2>方法(Methods)</h2>
 		<p>共有方法请参见其基类[page:Material]。</p>
 		<p>共有方法请参见其基类[page:Material]。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshNormalMaterial.html

@@ -91,9 +91,6 @@
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>
 		<p>
 			将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。
 			将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。

+ 0 - 4
docs/api/zh/materials/MeshPhongMaterial.html

@@ -163,10 +163,6 @@
 		<h3>[property:Float shininess]</h3>
 		<h3>[property:Float shininess]</h3>
 		<p> [page:.specular]高亮的程度,越高的值越闪亮。默认值为 *30*。</p>
 		<p> [page:.specular]高亮的程度,越高的值越闪亮。默认值为 *30*。</p>
 
 
-
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Color specular]</h3>
 		<h3>[property:Color specular]</h3>
 		<p> 材质的高光颜色。默认值为*0x111111*(深灰色)的颜色[page:Color]。<br /><br />
 		<p> 材质的高光颜色。默认值为*0x111111*(深灰色)的颜色[page:Color]。<br /><br />
 			这定义了材质的光泽度和光泽的颜色。
 			这定义了材质的光泽度和光泽的颜色。

+ 2 - 2
docs/api/zh/materials/MeshPhysicalMaterial.html

@@ -80,14 +80,14 @@
 
 
 		<h3>[property:Float clearcoat]</h3>
 		<h3>[property:Float clearcoat]</h3>
 		<p>
 		<p>
-		Represents the thickness of the clear coat layer, from *0.0* to *1.0*. Use clear coat related properties to enable multilayer
+		Represents the intensity of the clear coat layer, from *0.0* to *1.0*. Use clear coat related properties to enable multilayer
 		materials that have a thin translucent layer over the base layer. Default is *0.0*.
 		materials that have a thin translucent layer over the base layer. Default is *0.0*.
 		</p>
 		</p>
 
 
 		<h3>[property:Texture clearcoatMap]</h3>
 		<h3>[property:Texture clearcoatMap]</h3>
 		<p>
 		<p>
 		The red channel of this texture is multiplied against [page:.clearcoat], for per-pixel control
 		The red channel of this texture is multiplied against [page:.clearcoat], for per-pixel control
-		over a coating's thickness. Default is *null*.
+		over a coating's intensity. Default is *null*.
 		</p>
 		</p>
 
 
 		<h3>[property:Texture clearcoatNormalMap]</h3>
 		<h3>[property:Texture clearcoatNormalMap]</h3>

+ 0 - 3
docs/api/zh/materials/MeshStandardMaterial.html

@@ -198,9 +198,6 @@
 		<h3>[property:Texture roughnessMap]</h3>
 		<h3>[property:Texture roughnessMap]</h3>
 		<p>该纹理的绿色通道用于改变材质的粗糙度。</p>
 		<p>该纹理的绿色通道用于改变材质的粗糙度。</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Boolean vertexTangents]</h3>
 		<h3>[property:Boolean vertexTangents]</h3>
 		<p>
 		<p>
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,

+ 0 - 3
docs/api/zh/materials/MeshToonMaterial.html

@@ -163,9 +163,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 
 

+ 0 - 5
docs/api/zh/materials/ShaderMaterial.html

@@ -337,11 +337,6 @@ this.extensions = {
 		<p> 定义材质是否使用平面着色进行渲染。默认值为false。
 		<p> 定义材质是否使用平面着色进行渲染。默认值为false。
 		</p>
 		</p>
 
 
-
-		<h3>[property:Boolean skinning]</h3>
-		<p> 定义材质是否使用蒙皮; 如果将蒙皮属性传递给shader,则为true。默认值为false。
-		</p>
-
 		<h3>[property:Object uniforms]</h3>
 		<h3>[property:Object uniforms]</h3>
 		<p> 如下形式的对象:
 		<p> 如下形式的对象:
 			<code>
 			<code>

+ 3 - 3
docs/api/zh/math/Spherical.html

@@ -19,10 +19,10 @@
 		<p>
 		<p>
 		[page:Float radius] - 半径值,或者说从该点到原点的
 		[page:Float radius] - 半径值,或者说从该点到原点的
 		[link:https://en.wikipedia.org/wiki/Euclidean_distance Euclidean distance](欧几里得距离,即直线距离)。默认值为*1.0*。<br />
 		[link:https://en.wikipedia.org/wiki/Euclidean_distance Euclidean distance](欧几里得距离,即直线距离)。默认值为*1.0*。<br />
-		[page:Float phi] - polar angle in radians from the y (up) axis. Default is *0*.<br />
-		[page:Float theta] - equator angle in radians around the y (up) axis. Default is *0*.<br /><br />
+		[page:Float phi] - 与 y (up) 轴的极坐标角(以弧度为单位)。 默认值为 *0*。<br />
+		[page:Float theta] - 绕 y (up) 轴的赤道角(以弧度为单位)。 默认值为 *0*。<br /><br />
 
 
-		The poles (phi) are at the positive and negative y axis. The equator (theta) starts at positive z.
+		极点(φ phi)位于正 y 轴和负 y 轴上。赤道(θ theta)从正 z 开始。
 		</p>
 		</p>
 
 
 
 

+ 2 - 2
docs/api/zh/objects/Skeleton.html

@@ -88,16 +88,16 @@
 			返回一个当前Skeleton对象的克隆。
 			返回一个当前Skeleton对象的克隆。
 		</p>
 		</p>
 
 
-
 		<h3>[method:null calculateInverses]()</h3>
 		<h3>[method:null calculateInverses]()</h3>
 		<p>如果没有在构造器中提供,生成[page:.boneInverses boneInverses]数组。
 		<p>如果没有在构造器中提供,生成[page:.boneInverses boneInverses]数组。
 		</p>
 		</p>
 
 
+		<h3>[method:null computeBoneTexture]()</h3>
+		<p>Computes an instance of [page:DataTexture] in order to pass the bone data more efficiently to the shader. The texture is assigned to [page:.boneTexture boneTexture].</p>
 
 
 		<h3>[method:null pose]()</h3>
 		<h3>[method:null pose]()</h3>
 		<p>返回骨架的基础姿势。</p>
 		<p>返回骨架的基础姿势。</p>
 
 
-
 		<h3>[method:null update]()</h3>
 		<h3>[method:null update]()</h3>
 		<p>
 		<p>
 			在改变骨骼后,更新[page:Float32Array boneMatrices] 和 [page:DataTexture boneTexture]的值。
 			在改变骨骼后,更新[page:Float32Array boneMatrices] 和 [page:DataTexture boneTexture]的值。

+ 0 - 1
docs/api/zh/objects/SkinnedMesh.html

@@ -13,7 +13,6 @@
 
 
 		<p class="desc">
 		<p class="desc">
 			具有[page:Skeleton](骨架)和[page:Bone bones](骨骼)的网格,可用于给几何体上的顶点添加动画。
 			具有[page:Skeleton](骨架)和[page:Bone bones](骨骼)的网格,可用于给几何体上的顶点添加动画。
-			其材质必须支持蒙皮,并且已经启用了蒙皮 —— 请阅读[page:MeshStandardMaterial.skinning]。
 		</p>
 		</p>
 
 
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>

+ 58 - 0
docs/api/zh/renderers/WebGLMultipleRenderTargets.html

@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html lang="zh">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:WebGLRenderTarget] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			A special render target that enables a fragment shader to write to several textures.
+			This approach is useful for advanced rendering techniques like post-processing or deferred rendering.
+
+			Heads up: [name] can only be used with a WebGL 2 rendering context.
+		</p>
+
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl2_multiple_rendertargets webgl2 / multiple / rendertargets ]
+		</p>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([param:Number width], [param:Number height], [param:Number count])</h3>
+
+		<p>
+		[page:Number width] - The width of the render target. <br />
+		[page:Number height] - The height of the render target.<br />
+		[page:Number count] - The number of render targets.
+		</p>
+
+		<h2>Properties</h2>
+
+		<h3>[property:Array texture]</h3>
+		<p>
+		The texture property is overwritten in [name] and replaced with an array. This array holds the [page:WebGLRenderTarget.texture texture]
+		references of the respective render targets.
+		</p>
+
+		<p>[page:WebGLRenderTarget WebGLRenderTarget] properties are available on this class.</p>
+
+		<h2>Methods</h2>
+
+		<p>[page:WebGLRenderTarget WebGLRenderTarget] methods are available on this class.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 7 - 0
docs/api/zh/renderers/WebGLMultisampleRenderTarget.html

@@ -7,6 +7,8 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	</head>
 	<body>
 	<body>
+		[page:WebGLRenderTarget] &rarr;
+
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">
 		<p class="desc">
@@ -14,6 +16,11 @@
 			Heads up: [name] can only be used with a WebGL 2 rendering context.
 			Heads up: [name] can only be used with a WebGL 2 rendering context.
 		</p>
 		</p>
 
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl2_multisampled_renderbuffers webgl2 / multisampled / renderbuffers ]
+		</p>
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 

+ 42 - 2
docs/api/zh/renderers/webxr/WebXRManager.html

@@ -19,6 +19,11 @@
 
 
 		<h2>Properties</h2>
 		<h2>Properties</h2>
 
 
+		<h3>[property:Boolean cameraAutoUpdate]</h3>
+		<p>
+		Whether the manager's XR camera should be automatically updated or not. Default is *true*.
+		</p>
+
 		<h3>[property:Boolean enabled]</h3>
 		<h3>[property:Boolean enabled]</h3>
 		<p>
 		<p>
 		This flag notifies the renderer to be ready for XR rendering. Default is *false*. Set it to *true* if you are going
 		This flag notifies the renderer to be ready for XR rendering. Default is *false*. Set it to *true* if you are going
@@ -32,11 +37,21 @@
 
 
 		<h2>Methods</h2>
 		<h2>Methods</h2>
 
 
+		<h3>[method:ArrayCamera getCamera]()</h3>
+		<p>
+		Returns an instance of [page:ArrayCamera] which represents the XR camera of the active XR session.
+		For each view it holds a separate camera object in its [page:ArrayCamera.cameras cameras] property.
+		</p>
+		<p>
+		The camera's *fov* is currently not used and does not reflect the fov of the XR camera. If you need the fov on app level,
+		you have to compute in manually from the XR camera's projection matrices.
+		</p>
+
 		<h3>[method:Group getController]( [param:Integer index] )</h3>
 		<h3>[method:Group getController]( [param:Integer index] )</h3>
 		<p>
 		<p>
 		[page:Integer index] — The index of the controller. <br /><br />
 		[page:Integer index] — The index of the controller. <br /><br />
 
 
-		Returns a [page:Group] representing the so called *target ray* space of the controller.
+		Returns a [page:Group] representing the so called *target ray* space of the XR controller.
 		Use this space for visualizing 3D objects that support the user in pointing tasks like UI interaction.
 		Use this space for visualizing 3D objects that support the user in pointing tasks like UI interaction.
 		</p>
 		</p>
 
 
@@ -44,7 +59,7 @@
 		<p>
 		<p>
 		[page:Integer index] — The index of the controller. <br /><br />
 		[page:Integer index] — The index of the controller. <br /><br />
 
 
-		Returns a [page:Group] representing the so called *grip* space of the controller.
+		Returns a [page:Group] representing the so called *grip* space of the XR controller.
 		Use this space if the user is going to hold other 3D objects like a lightsaber.
 		Use this space if the user is going to hold other 3D objects like a lightsaber.
 		</p>
 		</p>
 
 
@@ -54,6 +69,24 @@
 		in two different coordinate spaces for the same WebXR controller.
 		in two different coordinate spaces for the same WebXR controller.
 		</p>
 		</p>
 
 
+		<h3>[method:Group getHand]( [param:Integer index] )</h3>
+		<p>
+		[page:Integer index] — The index of the controller. <br /><br />
+
+		Returns a [page:Group] representing the so called *hand* or *joint* space of the XR controller.
+		Use this space for visualizing the user's hands when no physical controllers are used.
+		</p>
+
+		<h3>[method:String getReferenceSpace]()</h3>
+		<p>
+		Returns the reference space.
+		</p>
+
+		<h3>[method:XRSession getSession]()</h3>
+		<p>
+		Returns the *XRSession* object which allows a more fine-grained management of active WebXR sessions on application level.
+		</p>
+
 		<h3>[method:void setFramebufferScaleFactor]( [param:Float framebufferScaleFactor] )</h3>
 		<h3>[method:void setFramebufferScaleFactor]( [param:Float framebufferScaleFactor] )</h3>
 		<p>
 		<p>
 		[page:Float framebufferScaleFactor] — The framebuffer scale factor to set.<br /><br />
 		[page:Float framebufferScaleFactor] — The framebuffer scale factor to set.<br /><br />
@@ -76,6 +109,13 @@
 		Please check out the [link:https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType MDN] for possible values and their use cases.
 		Please check out the [link:https://developer.mozilla.org/en-US/docs/Web/API/XRReferenceSpaceType MDN] for possible values and their use cases.
 		</p>
 		</p>
 
 
+		<h3>[method:void updateCamera]( [param:PerspectiveCamera camera] )</h3>
+		<p>
+		Updates the state of the XR camera. Use this method on app level if you set [page:.cameraAutoUpdate] to *false*.
+		The method requires the non-XR camera of the scene as a parameter. The passed in camera's transformation is automatically
+		adjusted to the position of the XR camera when calling this method.
+		</p>
+
 		<p>
 		<p>
 		Note: It is not possible to change the reference space type while presenting XR content.
 		Note: It is not possible to change the reference space type while presenting XR content.
 		</p>
 		</p>

+ 29 - 0
docs/examples/en/utils/CameraUtils.html

@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">A class containing useful utility functions for camera manipulation.</p>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null frameCorners]( [param:PerspectiveCamera camera] [param:Vector3 bottomLeftCorner], [param:Vector3 bottomRightCorner], [param:Vector3 topLeftCorner], [param:boolean estimateViewFrustum] )</h3>
+		<p>
+		Set a PerspectiveCamera's projectionMatrix and quaternion to exactly frame the corners of an arbitrary rectangle using [link:https://web.archive.org/web/20191110002841/http://csc.lsu.edu/~kooima/articles/genperspective/index.html Kooima's Generalized Perspective Projection formulation].
+		NOTE: This function ignores the standard parameters; do not call updateProjectionMatrix() after this! toJSON will also not capture the off-axis matrix generated by this function.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/utils/CameraUtils.js examples/jsm/utils/CameraUtils.js]
+		</p>
+	</body>
+</html>

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

@@ -11,9 +11,9 @@
 
 
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
-		<p class="desc">A loader for loading a <em>.pcd</em> resource. <br />
-		Point Cloud Data is a file format for <a href="https://en.wikipedia.org/wiki/Point_Cloud_Library">Point Cloud Library</a>. <br />
-		Loader support ascii and (compressed) binary.
+		<p class="desc">用于加载 <em>.pcd</em> 资源的加载器。<br />
+		点云数据是 <a href="https://en.wikipedia.org/wiki/Point_Cloud_Library">点云库</a> 的文件格式。 <br />
+		加载器支持 ascii 和 (压缩) 二进制编码。
 		</p>
 		</p>
 
 
 		<h2>代码示例</h2>
 		<h2>代码示例</h2>
@@ -53,51 +53,51 @@
 			[example:webgl_loader_pcd]
 			[example:webgl_loader_pcd]
 		</p>
 		</p>
 
 
-		<h2>Constructor</h2>
+		<h2>构造器</h2>
 
 
 		<h3>[name]( [param:LoadingManager manager] )</h3>
 		<h3>[name]( [param:LoadingManager manager] )</h3>
 		<p>
 		<p>
-		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
+		[page:LoadingManager manager] — 加载器使用的 [page:LoadingManager loadingManager] (加载管理器),默认值是 [page:LoadingManager THREE.DefaultLoadingManager]。
 		</p>
 		</p>
 		<p>
 		<p>
-		Creates a new [name].
+		创建一个新的 [name]。
 		</p>
 		</p>
 
 
-		<h2>Properties</h2>
-		<p>See the base [page:Loader] class for common properties.</p>
+		<h2>属性</h2>
+		<p>共有属性请参见其基类 [page:Loader]。</p>
 
 
 		<h3>[page:Boolean littleEndian]</h3>
 		<h3>[page:Boolean littleEndian]</h3>
 		<p>
 		<p>
-		Default value is true.
+        在加载器内部调用 DataView.prototype.getFloat32() 时,表示这个32位浮点数是否以 小字节序(little-endian) 格式存储,默认值为 true。
 		</p>
 		</p>
 
 
-		<h2>Methods</h2>
-		<p>See the base [page:Loader] class for common methods.</p>
+		<h2>方法</h2>
+		<p>共有方法请参考其基类 [page:Loader]。</p>
 
 
 		<h3>[method:null load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
 		<h3>[method:null load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
 		<p>
 		<p>
-		[page:String url] — A string containing the path/URL of the <em>.pcd</em> file.<br />
-		[page:Function onLoad] — (optional) A function to be called after loading is successfully completed. The function receives loaded [page:Object3D] as an argument.<br />
-		[page:Function onProgress] — (optional) A function to be called while the loading is in progress. The argument will be the XMLHttpRequest instance, which contains [page:Integer total] and [page:Integer loaded] bytes.<br />
-		[page:Function onError] — (optional) A function to be called if an error occurs during loading. The function receives the error as an argument.<br />
+		[page:String url] — 一个包含有 <em>.pcd</em> 文件的路径或URL的字符串。<br />
+		[page:Function onLoad] — (可选参数) 当加载过程成功完成后将被调用的函数。 其参数是一个 [page:Object3D] 实例。<br />
+		[page:Function onProgress] — (可选参数) 加载正在进行过程中会被调用的函数。 其参数是一个 XMLHttpRequest 实例,包含有总字节数 [page:Integer total] 和已加载的字节数 [page:Integer loaded]。<br />
+		[page:Function onError] — (可选参数) 若在加载过程中发生错误,将被调用的函数。 其参数是一个 error 实例。<br />
 		</p>
 		</p>
 		<p>
 		<p>
-		Begin loading from url and call onLoad with the parsed response content.
+		开始从路径或url加载,并使用解析过的响应内容调用回调函数。
 		</p>
 		</p>
 
 
 		<h3>[method:Object3D parse]( [param:Arraybuffer data],[param:String url] )</h3>
 		<h3>[method:Object3D parse]( [param:Arraybuffer data],[param:String url] )</h3>
 		<p>
 		<p>
-		[page:Arraybuffer data] — The binary structure to parse.
+		[page:Arraybuffer data] — 要分析的二进制数据结构
 		</p>
 		</p>
 		<p>
 		<p>
-		[page:String url] — The file name or file url.
+		[page:String url] — 文件名或文件url。
 		</p>
 		</p>
 		<p>
 		<p>
-		Parse an <em>pcd</em> binary structure and return an [page:Object3D].<br />
-		The object is converted to [page:Points] with a [page:BufferGeometry] and a [page:PointsMaterial].
+		分析 <em>pcd</em> 二进制结构并返回一个 [page:Object3D] 实例。<br />
+		该 Object3D 实例实际类型为 [page:Points],由一个 [page:BufferGeometry] 实例和一个 [page:PointsMaterial] 实例作为参数构造而成。
 		</p>
 		</p>
 
 
-		<h2>Source</h2>
+		<h2>源码</h2>
 
 
 		<p>
 		<p>
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/PCDLoader.js examples/jsm/loaders/PCDLoader.js]
 			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/PCDLoader.js examples/jsm/loaders/PCDLoader.js]

+ 3 - 0
docs/list.json

@@ -290,6 +290,7 @@
 			},
 			},
 
 
 			"Renderers": {
 			"Renderers": {
+				"WebGLMultipleRenderTargets": "api/en/renderers/WebGLMultipleRenderTargets",
 				"WebGLMultisampleRenderTarget": "api/en/renderers/WebGLMultisampleRenderTarget",
 				"WebGLMultisampleRenderTarget": "api/en/renderers/WebGLMultisampleRenderTarget",
 				"WebGLRenderer": "api/en/renderers/WebGLRenderer",
 				"WebGLRenderer": "api/en/renderers/WebGLRenderer",
 				"WebGL1Renderer": "api/en/renderers/WebGL1Renderer",
 				"WebGL1Renderer": "api/en/renderers/WebGL1Renderer",
@@ -417,6 +418,7 @@
 
 
 			"Utils": {
 			"Utils": {
 				"BufferGeometryUtils": "examples/en/utils/BufferGeometryUtils",
 				"BufferGeometryUtils": "examples/en/utils/BufferGeometryUtils",
+				"CameraUtils": "examples/en/utils/CameraUtils",
 				"SceneUtils": "examples/en/utils/SceneUtils",
 				"SceneUtils": "examples/en/utils/SceneUtils",
 				"SkeletonUtils": "examples/en/utils/SkeletonUtils"
 				"SkeletonUtils": "examples/en/utils/SkeletonUtils"
 			}
 			}
@@ -799,6 +801,7 @@
 			},
 			},
 
 
 			"渲染器": {
 			"渲染器": {
+				"WebGLMultipleRenderTargets": "api/zh/renderers/WebGLMultipleRenderTargets",
 				"WebGLMultisampleRenderTarget": "api/zh/renderers/WebGLMultisampleRenderTarget",
 				"WebGLMultisampleRenderTarget": "api/zh/renderers/WebGLMultisampleRenderTarget",
 				"WebGLRenderer": "api/zh/renderers/WebGLRenderer",
 				"WebGLRenderer": "api/zh/renderers/WebGLRenderer",
 				"WebGL1Renderer": "api/zh/renderers/WebGL1Renderer",
 				"WebGL1Renderer": "api/zh/renderers/WebGL1Renderer",

+ 0 - 1
docs/manual/ar/introduction/How-to-update-things.html

@@ -137,7 +137,6 @@ line.geometry.computeBoundingSphere();
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 0 - 1
docs/manual/en/introduction/How-to-update-things.html

@@ -147,7 +147,6 @@ line.geometry.computeBoundingSphere();
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 1 - 2
docs/manual/ja/introduction/How-to-update-things.html

@@ -173,7 +173,6 @@ geometry.dynamic = true;
                     <li>texture</li>
                     <li>texture</li>
                     <li>fog</li>
                     <li>fog</li>
                     <li>vertex colors</li>
                     <li>vertex colors</li>
-                    <li>skinning</li>
                     <li>morphing</li>
                     <li>morphing</li>
                     <li>shadow map</li>
                     <li>shadow map</li>
                     <li>alpha test</li>
                     <li>alpha test</li>
@@ -260,4 +259,4 @@ camera.updateProjectionMatrix();
     </div>
     </div>
 </body>
 </body>
 
 
-</html>
+</html>

+ 0 - 1
docs/manual/ko/introduction/How-to-update-things.html

@@ -143,7 +143,6 @@ line.geometry.computeBoundingSphere();
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 0 - 1
docs/manual/zh/introduction/How-to-update-things.html

@@ -132,7 +132,6 @@ line.geometry.attributes.position.needsUpdate = true; // 需要加在第一次
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 12 - 12
docs/page.js

@@ -60,21 +60,21 @@ function onDocumentLoad() {
 
 
 	text = text.replace( /\[name\]/gi, name );
 	text = text.replace( /\[name\]/gi, name );
 	text = text.replace( /\[path\]/gi, path );
 	text = text.replace( /\[path\]/gi, path );
-	text = text.replace( /\[page:([\w\.]+)\]/gi, "[page:$1 $1]" ); // [page:name] to [page:name title]
-	text = text.replace( /\[page:\.([\w\.]+) ([\w\.\s]+)\]/gi, "[page:" + name + ".$1 $2]" ); // [page:.member title] to [page:name.member title]
-	text = text.replace( /\[page:([\w\.]+) ([\w\.\s]+)\]/gi, "<a onclick=\"window.parent.setUrlFragment('$1')\" title=\"$1\">$2</a>" ); // [page:name title]
+	text = text.replace( /\[page:([\w\.]+)\]/gi, '[page:$1 $1]' ); // [page:name] to [page:name title]
+	text = text.replace( /\[page:\.([\w\.]+) ([\w\.\s]+)\]/gi, '[page:' + name + '.$1 $2]' ); // [page:.member title] to [page:name.member title]
+	text = text.replace( /\[page:([\w\.]+) ([\w\.\s]+)\]/gi, '<a onclick="window.parent.setUrlFragment(\'$1\')" title="$1">$2</a>' ); // [page:name title]
 	// text = text.replace( /\[member:.([\w]+) ([\w\.\s]+)\]/gi, "<a onclick=\"window.parent.setUrlFragment('" + name + ".$1')\" title=\"$1\">$2</a>" );
 	// text = text.replace( /\[member:.([\w]+) ([\w\.\s]+)\]/gi, "<a onclick=\"window.parent.setUrlFragment('" + name + ".$1')\" title=\"$1\">$2</a>" );
 
 
-	text = text.replace( /\[(member|property|method|param):([\w]+)\]/gi, "[$1:$2 $2]" ); // [member:name] to [member:name title]
-	text = text.replace( /\[(?:member|property|method):([\w]+) ([\w\.\s]+)\]\s*(\(.*\))?/gi, "<a onclick=\"window.parent.setUrlFragment('" + name + ".$2')\" target=\"_parent\" title=\"" + name + ".$2\" class=\"permalink\">#</a> .<a onclick=\"window.parent.setUrlFragment('" + name + ".$2')\" id=\"$2\">$2</a> $3 : <a class=\"param\" onclick=\"window.parent.setUrlFragment('$1')\">$1</a>" );
-	text = text.replace( /\[param:([\w\.]+) ([\w\.\s]+)\]/gi, "$2 : <a class=\"param\" onclick=\"window.parent.setUrlFragment('$1')\">$1</a>" ); // [param:name title]
+	text = text.replace( /\[(member|property|method|param):([\w]+)\]/gi, '[$1:$2 $2]' ); // [member:name] to [member:name title]
+	text = text.replace( /\[(?:member|property|method):([\w]+) ([\w\.\s]+)\]\s*(\(.*\))?/gi, '<a onclick="window.parent.setUrlFragment(\'' + name + '.$2\')" target="_parent" title="' + name + '.$2" class="permalink">#</a> .<a onclick="window.parent.setUrlFragment(\'' + name + '.$2\')" id="$2">$2</a> $3 : <a class="param" onclick="window.parent.setUrlFragment(\'$1\')">$1</a>' );
+	text = text.replace( /\[param:([\w\.]+) ([\w\.\s]+)\]/gi, '$2 : <a class="param" onclick="window.parent.setUrlFragment(\'$1\')">$1</a>' ); // [param:name title]
 
 
-	text = text.replace( /\[link:([\w|\:|\/|\.|\-|\_]+)\]/gi, "[link:$1 $1]" ); // [link:url] to [link:url title]
-	text = text.replace( /\[link:([\w|\:|\/|\.|\-|\_|\(|\)|\?|\#|\=|\!]+) ([\w|\:|\/|\.|\-|\_|\s]+)\]/gi, "<a href=\"$1\"  target=\"_blank\">$2</a>" ); // [link:url title]
-	text = text.replace( /\*([\w|\d|\"|\-|\(][\w|\d|\ |\-|\/|\+|\-|\(|\)|\=|\,|\.\"]*[\w|\d|\"|\)]|\w)\*/gi, "<strong>$1</strong>" ); // *
+	text = text.replace( /\[link:([\w|\:|\/|\.|\-|\_|\(|\)|\?|\#|\=|\!|\~]+)\]/gi, '<a href="$1"  target="_blank">$1</a>' ); // [link:url]
+	text = text.replace( /\[link:([\w|\:|\/|\.|\-|\_|\(|\)|\?|\#|\=|\!|\~]+) ([\w|\:|\/|\.|\-|\_|\'|\s]+)\]/gi, '<a href="$1"  target="_blank">$2</a>' ); // [link:url title]
+	text = text.replace( /\*([\w|\d|\"|\-|\(][\w|\d|\ |\-|\/|\+|\-|\(|\)|\=|\,|\.\"]*[\w|\d|\"|\)]|\w)\*/gi, '<strong>$1</strong>' ); // *
 
 
-	text = text.replace( /\[example:([\w\_]+)\]/gi, "[example:$1 $1]" ); // [example:name] to [example:name title]
-	text = text.replace( /\[example:([\w\_]+) ([\w\:\/\.\-\_ \s]+)\]/gi, "<a href=\"../examples/#$1\"  target=\"_blank\">$2</a>" ); // [example:name title]
+	text = text.replace( /\[example:([\w\_]+)\]/gi, '[example:$1 $1]' ); // [example:name] to [example:name title]
+	text = text.replace( /\[example:([\w\_]+) ([\w\:\/\.\-\_ \s]+)\]/gi, '<a href="../examples/#$1"  target="_blank">$2</a>' ); // [example:name title]
 
 
 	text = text.replace( /<a class="param" onclick="window.parent.setUrlFragment\('\w+'\)">(null|this|Boolean|Object|Array|Number|String|Integer|Float|TypedArray|ArrayBuffer)<\/a>/gi, '<span class="param">$1</span>' ); // remove links to primitive types
 	text = text.replace( /<a class="param" onclick="window.parent.setUrlFragment\('\w+'\)">(null|this|Boolean|Object|Array|Number|String|Integer|Float|TypedArray|ArrayBuffer)<\/a>/gi, '<span class="param">$1</span>' ); // remove links to primitive types
 
 
@@ -100,7 +100,7 @@ function onDocumentLoad() {
 	const button = document.createElement( 'div' );
 	const button = document.createElement( 'div' );
 	button.id = 'button';
 	button.id = 'button';
 	button.innerHTML = '<img src="../files/ic_mode_edit_black_24dp.svg">';
 	button.innerHTML = '<img src="../files/ic_mode_edit_black_24dp.svg">';
-	button.addEventListener( 'click', function ( event ) {
+	button.addEventListener( 'click', function () {
 
 
 		window.open( 'https://github.com/mrdoob/three.js/blob/dev/docs/' + section + '/' + localizedPath + '.html' );
 		window.open( 'https://github.com/mrdoob/three.js/blob/dev/docs/' + section + '/' + localizedPath + '.html' );
 
 

+ 0 - 1
docs/scenes/bones-browser.html

@@ -163,7 +163,6 @@
 			function createMesh( geometry, bones ) {
 			function createMesh( geometry, bones ) {
 
 
 				const material = new MeshPhongMaterial( {
 				const material = new MeshPhongMaterial( {
-					skinning: true,
 					color: 0x156289,
 					color: 0x156289,
 					emissive: 0x072534,
 					emissive: 0x072534,
 					side: DoubleSide,
 					side: DoubleSide,

+ 23 - 23
editor/js/Sidebar.Material.js

@@ -176,6 +176,16 @@ function SidebarMaterial( editor ) {
 	container.add( materialSheenRow );
 	container.add( materialSheenRow );
 	*/
 	*/
 
 
+	// transmission
+
+	var materialTransmissionRow = new UIRow();
+	var materialTransmission = new UINumber( 1 ).setWidth( '30px' ).setRange( 0, 1 ).onChange( update );
+
+	materialTransmissionRow.add( new UIText( strings.getKey( 'sidebar/material/transmission' ) ).setWidth( '90px' ) );
+	materialTransmissionRow.add( materialTransmission );
+
+	container.add( materialTransmissionRow );
+
 	// emissive
 	// emissive
 
 
 	var materialEmissiveRow = new UIRow();
 	var materialEmissiveRow = new UIRow();
@@ -262,16 +272,6 @@ function SidebarMaterial( editor ) {
 
 
 	container.add( materialDepthPackingRow );
 	container.add( materialDepthPackingRow );
 
 
-	// skinning
-
-	var materialSkinningRow = new UIRow();
-	var materialSkinning = new UICheckbox( false ).onChange( update );
-
-	materialSkinningRow.add( new UIText( strings.getKey( 'sidebar/material/skinning' ) ).setWidth( '90px' ) );
-	materialSkinningRow.add( materialSkinning );
-
-	container.add( materialSkinningRow );
-
 	// map
 	// map
 
 
 	var materialMapRow = new UIRow();
 	var materialMapRow = new UIRow();
@@ -692,6 +692,12 @@ function SidebarMaterial( editor ) {
 			}
 			}
 			*/
 			*/
 
 
+			if ( material.transmission !== undefined && Math.abs( material.transmission - materialTransmission.getValue() ) >= epsilon ) {
+
+				editor.execute( new SetMaterialValueCommand( editor, currentObject, 'transmission', materialTransmission.getValue(), currentMaterialSlot ) );
+
+			}
+
 			if ( material.emissive !== undefined && material.emissive.getHex() !== materialEmissive.getHexValue() ) {
 			if ( material.emissive !== undefined && material.emissive.getHex() !== materialEmissive.getHexValue() ) {
 
 
 				editor.execute( new SetMaterialColorCommand( editor, currentObject, 'emissive', materialEmissive.getHexValue(), currentMaterialSlot ) );
 				editor.execute( new SetMaterialColorCommand( editor, currentObject, 'emissive', materialEmissive.getHexValue(), currentMaterialSlot ) );
@@ -751,12 +757,6 @@ function SidebarMaterial( editor ) {
 
 
 			}
 			}
 
 
-			if ( material.skinning !== undefined && material.skinning !== materialSkinning.getValue() ) {
-
-				editor.execute( new SetMaterialValueCommand( editor, currentObject, 'skinning', materialSkinning.getValue(), currentMaterialSlot ) );
-
-			}
-
 			if ( material.map !== undefined ) {
 			if ( material.map !== undefined ) {
 
 
 				var mapEnabled = materialMapEnabled.getValue() === true;
 				var mapEnabled = materialMapEnabled.getValue() === true;
@@ -1248,6 +1248,7 @@ function SidebarMaterial( editor ) {
 			'metalness': materialMetalnessRow,
 			'metalness': materialMetalnessRow,
 			'emissive': materialEmissiveRow,
 			'emissive': materialEmissiveRow,
 			// 'sheen': materialSheenRow,
 			// 'sheen': materialSheenRow,
+			'transmission': materialTransmissionRow,
 			'specular': materialSpecularRow,
 			'specular': materialSpecularRow,
 			'shininess': materialShininessRow,
 			'shininess': materialShininessRow,
 			'clearcoat': materialClearcoatRow,
 			'clearcoat': materialClearcoatRow,
@@ -1256,7 +1257,6 @@ function SidebarMaterial( editor ) {
 			'vertexColors': materialVertexColorsRow,
 			'vertexColors': materialVertexColorsRow,
 			'vertexTangents': materialVertexTangentsRow,
 			'vertexTangents': materialVertexTangentsRow,
 			'depthPacking': materialDepthPackingRow,
 			'depthPacking': materialDepthPackingRow,
-			'skinning': materialSkinningRow,
 			'map': materialMapRow,
 			'map': materialMapRow,
 			'matcap': materialMatcapMapRow,
 			'matcap': materialMatcapMapRow,
 			'alphaMap': materialAlphaMapRow,
 			'alphaMap': materialAlphaMapRow,
@@ -1394,6 +1394,12 @@ function SidebarMaterial( editor ) {
 		}
 		}
 		*/
 		*/
 
 
+		if ( material.transmission !== undefined ) {
+
+			materialTransmission.setValue( material.transmission );
+
+		}
+
 		if ( material.emissive !== undefined ) {
 		if ( material.emissive !== undefined ) {
 
 
 			materialEmissive.setHexValue( material.emissive.getHexString() );
 			materialEmissive.setHexValue( material.emissive.getHexString() );
@@ -1438,12 +1444,6 @@ function SidebarMaterial( editor ) {
 
 
 		}
 		}
 
 
-		if ( material.skinning !== undefined ) {
-
-			materialSkinning.setValue( material.skinning );
-
-		}
-
 		if ( material.map !== undefined ) {
 		if ( material.map !== undefined ) {
 
 
 			materialMapEnabled.setValue( material.map !== null );
 			materialMapEnabled.setValue( material.map !== null );

+ 19 - 3
editor/js/Strings.js

@@ -243,6 +243,7 @@ function Strings( config ) {
 			'sidebar/material/roughness': 'Roughness',
 			'sidebar/material/roughness': 'Roughness',
 			'sidebar/material/metalness': 'Metalness',
 			'sidebar/material/metalness': 'Metalness',
 			'sidebar/material/sheen': 'Sheen',
 			'sidebar/material/sheen': 'Sheen',
+			'sidebar/material/transmission': 'Transmission',
 			'sidebar/material/emissive': 'Emissive',
 			'sidebar/material/emissive': 'Emissive',
 			'sidebar/material/specular': 'Specular',
 			'sidebar/material/specular': 'Specular',
 			'sidebar/material/shininess': 'Shininess',
 			'sidebar/material/shininess': 'Shininess',
@@ -250,7 +251,6 @@ function Strings( config ) {
 			'sidebar/material/clearcoatroughness': 'Clearcoat Roughness',
 			'sidebar/material/clearcoatroughness': 'Clearcoat Roughness',
 			'sidebar/material/vertexcolors': 'Vertex Colors',
 			'sidebar/material/vertexcolors': 'Vertex Colors',
 			'sidebar/material/vertextangents': 'Vertex Tangents',
 			'sidebar/material/vertextangents': 'Vertex Tangents',
-			'sidebar/material/skinning': 'Skinning',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/map': 'Map',
 			'sidebar/material/map': 'Map',
 			'sidebar/material/alphamap': 'Alpha Map',
 			'sidebar/material/alphamap': 'Alpha Map',
@@ -578,6 +578,7 @@ function Strings( config ) {
 			'sidebar/material/roughness': 'Rugosité',
 			'sidebar/material/roughness': 'Rugosité',
 			'sidebar/material/metalness': 'Métal',
 			'sidebar/material/metalness': 'Métal',
 			'sidebar/material/sheen': 'Éclat',
 			'sidebar/material/sheen': 'Éclat',
+			'sidebar/material/transmission': 'Transmission',
 			'sidebar/material/emissive': 'Émissif',
 			'sidebar/material/emissive': 'Émissif',
 			'sidebar/material/specular': 'Spéculaire',
 			'sidebar/material/specular': 'Spéculaire',
 			'sidebar/material/shininess': 'Brillance',
 			'sidebar/material/shininess': 'Brillance',
@@ -585,7 +586,6 @@ function Strings( config ) {
 			'sidebar/material/clearcoatroughness': 'Rugosité du vernis',
 			'sidebar/material/clearcoatroughness': 'Rugosité du vernis',
 			'sidebar/material/vertexcolors': 'Couleurs aux Sommets',
 			'sidebar/material/vertexcolors': 'Couleurs aux Sommets',
 			'sidebar/material/vertextangents': 'Tangentes aux sommets',
 			'sidebar/material/vertextangents': 'Tangentes aux sommets',
-			'sidebar/material/skinning': 'Skinning',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/map': 'Texture',
 			'sidebar/material/map': 'Texture',
 			'sidebar/material/alphamap': 'Texture de transparence',
 			'sidebar/material/alphamap': 'Texture de transparence',
@@ -825,6 +825,16 @@ function Strings( config ) {
 			'sidebar/geometry/cylinder_geometry/heightsegments': '高度分段',
 			'sidebar/geometry/cylinder_geometry/heightsegments': '高度分段',
 			'sidebar/geometry/cylinder_geometry/openended': '开端',
 			'sidebar/geometry/cylinder_geometry/openended': '开端',
 
 
+			'sidebar/geometry/extrude_geometry/curveSegments': '曲线段',
+			'sidebar/geometry/extrude_geometry/steps': '细分点数',
+			'sidebar/geometry/extrude_geometry/depth': '深度',
+			'sidebar/geometry/extrude_geometry/bevelEnabled': '启用斜角',
+			'sidebar/geometry/extrude_geometry/bevelThickness': '斜角厚度',
+			'sidebar/geometry/extrude_geometry/bevelSize': '斜角大小',
+			'sidebar/geometry/extrude_geometry/bevelOffset': '斜角偏移量',
+			'sidebar/geometry/extrude_geometry/bevelSegments': '斜角分段',
+			'sidebar/geometry/extrude_geometry/shape': '转换图形',
+
 			'sidebar/geometry/dodecahedron_geometry/radius': '半径',
 			'sidebar/geometry/dodecahedron_geometry/radius': '半径',
 			'sidebar/geometry/dodecahedron_geometry/detail': '面片分段',
 			'sidebar/geometry/dodecahedron_geometry/detail': '面片分段',
 
 
@@ -854,6 +864,9 @@ function Strings( config ) {
 			'sidebar/geometry/ring_geometry/thetastart': '弧度起点',
 			'sidebar/geometry/ring_geometry/thetastart': '弧度起点',
 			'sidebar/geometry/ring_geometry/thetalength': '弧度长度',
 			'sidebar/geometry/ring_geometry/thetalength': '弧度长度',
 
 
+			'sidebar/geometry/shape_geometry/curveSegments': '曲线段',
+			'sidebar/geometry/shape_geometry/extrude': '拉伸',
+
 			'sidebar/geometry/sphere_geometry/radius': '半径',
 			'sidebar/geometry/sphere_geometry/radius': '半径',
 			'sidebar/geometry/sphere_geometry/widthsegments': '宽度分段',
 			'sidebar/geometry/sphere_geometry/widthsegments': '宽度分段',
 			'sidebar/geometry/sphere_geometry/heightsegments': '长度分段',
 			'sidebar/geometry/sphere_geometry/heightsegments': '长度分段',
@@ -896,8 +909,11 @@ function Strings( config ) {
 			'sidebar/material/vertex': '顶点',
 			'sidebar/material/vertex': '顶点',
 			'sidebar/material/fragment': '片元',
 			'sidebar/material/fragment': '片元',
 			'sidebar/material/color': '颜色',
 			'sidebar/material/color': '颜色',
+			'sidebar/material/depthPacking': '深度包装',
 			'sidebar/material/roughness': '粗糙度',
 			'sidebar/material/roughness': '粗糙度',
 			'sidebar/material/metalness': '金属度',
 			'sidebar/material/metalness': '金属度',
+			'sidebar/material/sheen': '光泽',
+			'sidebar/material/transmission': '透射',
 			'sidebar/material/emissive': '自发光',
 			'sidebar/material/emissive': '自发光',
 			'sidebar/material/specular': '高光',
 			'sidebar/material/specular': '高光',
 			'sidebar/material/shininess': '高光大小',
 			'sidebar/material/shininess': '高光大小',
@@ -905,7 +921,6 @@ function Strings( config ) {
 			'sidebar/material/clearcoatroughness': '透明图层粗糙度',
 			'sidebar/material/clearcoatroughness': '透明图层粗糙度',
 			'sidebar/material/vertexcolors': '顶点颜色',
 			'sidebar/material/vertexcolors': '顶点颜色',
 			'sidebar/material/vertextangents': '顶点切线',
 			'sidebar/material/vertextangents': '顶点切线',
-			'sidebar/material/skinning': '皮肤',
 			'sidebar/material/matcap': '材质捕获',
 			'sidebar/material/matcap': '材质捕获',
 			'sidebar/material/map': '贴图',
 			'sidebar/material/map': '贴图',
 			'sidebar/material/alphamap': '透明贴图',
 			'sidebar/material/alphamap': '透明贴图',
@@ -920,6 +935,7 @@ function Strings( config ) {
 			'sidebar/material/lightmap': '光照贴图',
 			'sidebar/material/lightmap': '光照贴图',
 			'sidebar/material/aomap': '环境光遮蔽贴图',
 			'sidebar/material/aomap': '环境光遮蔽贴图',
 			'sidebar/material/emissivemap': '自发光贴图',
 			'sidebar/material/emissivemap': '自发光贴图',
+			'sidebar/material/gradientmap': '渐变贴图',
 			'sidebar/material/side': '面',
 			'sidebar/material/side': '面',
 			'sidebar/material/side/front': '正面',
 			'sidebar/material/side/front': '正面',
 			'sidebar/material/side/back': '背面',
 			'sidebar/material/side/back': '背面',

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