Mr.doob 4 years ago
parent
commit
04b7b6e541
100 changed files with 1628 additions and 3033 deletions
  1. 916 71
      build/three.js
  2. 0 0
      build/three.min.js
  3. 263 599
      build/three.module.js
  4. 2 2
      docs/api/ar/animation/AnimationClip.html
  5. 1 1
      docs/api/ar/animation/KeyframeTrack.html
  6. 1 1
      docs/api/ar/audio/PositionalAudio.html
  7. 1 1
      docs/api/en/Template.html
  8. 3 4
      docs/api/en/animation/AnimationClip.html
  9. 1 2
      docs/api/en/animation/KeyframeTrack.html
  10. 1 1
      docs/api/en/audio/PositionalAudio.html
  11. 11 42
      docs/api/en/core/BufferGeometry.html
  12. 0 109
      docs/api/en/core/DirectGeometry.html
  13. 3 38
      docs/api/en/core/Face3.html
  14. 0 344
      docs/api/en/core/Geometry.html
  15. 12 2
      docs/api/en/core/Object3D.html
  16. 1 1
      docs/api/en/extras/core/Shape.html
  17. 1 1
      docs/api/en/extras/objects/ImmediateRenderObject.html
  18. 0 80
      docs/api/en/geometries/BoxBufferGeometry.html
  19. 7 4
      docs/api/en/geometries/BoxGeometry.html
  20. 0 70
      docs/api/en/geometries/CircleBufferGeometry.html
  21. 8 4
      docs/api/en/geometries/CircleGeometry.html
  22. 0 72
      docs/api/en/geometries/ConeBufferGeometry.html
  23. 3 3
      docs/api/en/geometries/ConeGeometry.html
  24. 0 73
      docs/api/en/geometries/CylinderBufferGeometry.html
  25. 4 4
      docs/api/en/geometries/CylinderGeometry.html
  26. 0 59
      docs/api/en/geometries/DodecahedronBufferGeometry.html
  27. 3 3
      docs/api/en/geometries/DodecahedronGeometry.html
  28. 3 3
      docs/api/en/geometries/EdgesGeometry.html
  29. 0 113
      docs/api/en/geometries/ExtrudeBufferGeometry.html
  30. 3 3
      docs/api/en/geometries/ExtrudeGeometry.html
  31. 0 58
      docs/api/en/geometries/IcosahedronBufferGeometry.html
  32. 3 4
      docs/api/en/geometries/IcosahedronGeometry.html
  33. 0 77
      docs/api/en/geometries/LatheBufferGeometry.html
  34. 4 4
      docs/api/en/geometries/LatheGeometry.html
  35. 0 58
      docs/api/en/geometries/OctahedronBufferGeometry.html
  36. 3 4
      docs/api/en/geometries/OctahedronGeometry.html
  37. 0 71
      docs/api/en/geometries/ParametricBufferGeometry.html
  38. 3 4
      docs/api/en/geometries/ParametricGeometry.html
  39. 0 69
      docs/api/en/geometries/PlaneBufferGeometry.html
  40. 4 4
      docs/api/en/geometries/PlaneGeometry.html
  41. 0 68
      docs/api/en/geometries/PolyhedronBufferGeometry.html
  42. 6 4
      docs/api/en/geometries/PolyhedronGeometry.html
  43. 0 72
      docs/api/en/geometries/RingBufferGeometry.html
  44. 5 4
      docs/api/en/geometries/RingGeometry.html
  45. 0 83
      docs/api/en/geometries/ShapeBufferGeometry.html
  46. 3 3
      docs/api/en/geometries/ShapeGeometry.html
  47. 0 77
      docs/api/en/geometries/SphereBufferGeometry.html
  48. 4 4
      docs/api/en/geometries/SphereGeometry.html
  49. 0 59
      docs/api/en/geometries/TetrahedronBufferGeometry.html
  50. 3 3
      docs/api/en/geometries/TetrahedronGeometry.html
  51. 0 176
      docs/api/en/geometries/TextBufferGeometry.html
  52. 2 2
      docs/api/en/geometries/TextGeometry.html
  53. 0 70
      docs/api/en/geometries/TorusBufferGeometry.html
  54. 4 4
      docs/api/en/geometries/TorusGeometry.html
  55. 0 73
      docs/api/en/geometries/TorusKnotBufferGeometry.html
  56. 4 5
      docs/api/en/geometries/TorusKnotGeometry.html
  57. 0 111
      docs/api/en/geometries/TubeBufferGeometry.html
  58. 3 3
      docs/api/en/geometries/TubeGeometry.html
  59. 3 3
      docs/api/en/geometries/WireframeGeometry.html
  60. 2 2
      docs/api/en/helpers/BoxHelper.html
  61. 2 2
      docs/api/en/lights/shadows/DirectionalLightShadow.html
  62. 2 2
      docs/api/en/lights/shadows/PointLightShadow.html
  63. 2 2
      docs/api/en/lights/shadows/SpotLightShadow.html
  64. 7 61
      docs/api/en/loaders/ObjectLoader.html
  65. 1 1
      docs/api/en/materials/MeshLambertMaterial.html
  66. 1 1
      docs/api/en/materials/MeshMatcapMaterial.html
  67. 1 1
      docs/api/en/materials/MeshNormalMaterial.html
  68. 1 1
      docs/api/en/materials/MeshPhongMaterial.html
  69. 1 1
      docs/api/en/materials/MeshStandardMaterial.html
  70. 1 1
      docs/api/en/materials/MeshToonMaterial.html
  71. 2 3
      docs/api/en/materials/ShaderMaterial.html
  72. 1 1
      docs/api/en/materials/ShadowMaterial.html
  73. 1 1
      docs/api/en/math/Box3.html
  74. 11 0
      docs/api/en/math/Color.html
  75. 2 3
      docs/api/en/math/Frustum.html
  76. 18 0
      docs/api/en/math/MathUtils.html
  77. 1 1
      docs/api/en/math/Matrix3.html
  78. 5 2
      docs/api/en/math/Matrix4.html
  79. 2 3
      docs/api/en/math/Vector3.html
  80. 3 0
      docs/api/en/math/Vector4.html
  81. 1 1
      docs/api/en/objects/Group.html
  82. 1 1
      docs/api/en/objects/InstancedMesh.html
  83. 1 1
      docs/api/en/objects/LOD.html
  84. 3 3
      docs/api/en/objects/Line.html
  85. 2 2
      docs/api/en/objects/LineLoop.html
  86. 2 2
      docs/api/en/objects/LineSegments.html
  87. 5 9
      docs/api/en/objects/Mesh.html
  88. 4 8
      docs/api/en/objects/Points.html
  89. 2 6
      docs/api/en/objects/SkinnedMesh.html
  90. 1 1
      docs/api/en/renderers/WebGLRenderer.html
  91. 4 5
      docs/api/ko/animation/AnimationClip.html
  92. 2 2
      docs/api/ko/animation/AnimationMixer.html
  93. 1 1
      docs/api/ko/animation/AnimationUtils.html
  94. 10 10
      docs/api/ko/animation/KeyframeTrack.html
  95. 2 2
      docs/api/ko/animation/PropertyBinding.html
  96. 2 2
      docs/api/ko/audio/AudioListener.html
  97. 1 1
      docs/api/ko/audio/PositionalAudio.html
  98. 49 0
      docs/api/ko/cameras/ArrayCamera.html
  99. 78 0
      docs/api/ko/cameras/Camera.html
  100. 88 0
      docs/api/ko/cameras/CubeCamera.html

File diff suppressed because it is too large
+ 916 - 71
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
+ 263 - 599
build/three.module.js


+ 2 - 2
docs/api/ar/animation/AnimationClip.html

@@ -93,12 +93,12 @@
 
 		<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
 		<p>
-			تُرجع مصفوفة من AnimationClips الجديدة التي تم إنشاؤها من [page:Geometry.morphTargets morph target sequences] من الشكل الهندسي ، في محاولة لفرز أسماء الأهداف التحويلية إلى أنماط قائمة على مجموعة الرسوم المتحركة مثل "Walk_001 ، Walk_002 ، Run_001 ، Run_002 ...".
+			تُرجع مصفوفة من AnimationClips الجديدة التي تم إنشاؤها من morph target sequences من الشكل الهندسي ، في محاولة لفرز أسماء الأهداف التحويلية إلى أنماط قائمة على مجموعة الرسوم المتحركة مثل "Walk_001 ، Walk_002 ، Run_001 ، Run_002 ...".
 		</p>
 
 		<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
 		<p>
-			يُرجع مقطع رسوم متحركة جديدًا من [page:Geometry.morphTargets morph targets array] تم تمريره لشكل هندسي ، مع أخذ اسم وعدد الإطارات في الثانية.<br /><br />
+			يُرجع مقطع رسوم متحركة جديدًا من morph targets array تم تمريره لشكل هندسي ، مع أخذ اسم وعدد الإطارات في الثانية.<br /><br />
 
 			ملاحظة: قيمة fps مطلوبة و ضرورية ، ولكن يمكن إعادة ضبظ سرعة الرسوم المتحركة في *AnimationAction* عبر [page:AnimationAction.setDuration animationAction.setDuration].
 		</p>

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

@@ -77,7 +77,7 @@
 
 		<h3>[property:String name]</h3>
 		<p>
-			يمكن أن يشير اسم المسار إلى [page:Geometry.morphTargets morph targets] أو [page:SkinnedMesh bones] أو ربما إلى قيم أخرى داخل كائن متحرك. راجع [page:PropertyBinding.parseTrackName] للتعرف على أشكال السلاسل التي يمكن تحليلها لربط الخاصية:
+			يمكن أن يشير اسم المسار إلى morph targets أو [page:SkinnedMesh bones] أو ربما إلى قيم أخرى داخل كائن متحرك. راجع [page:PropertyBinding.parseTrackName] للتعرف على أشكال السلاسل التي يمكن تحليلها لربط الخاصية:
 		</p>
 
 		<p>

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

@@ -36,7 +36,7 @@
 		});
 
 		// create an object for the sound to play from
-		const sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
+		const sphere = new THREE.SphereGeometry( 20, 32, 16 );
 		const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
 		const mesh = new THREE.Mesh( sphere, material );
 		scene.add( mesh );

+ 1 - 1
docs/api/en/Template.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 

+ 3 - 4
docs/api/en/animation/AnimationClip.html

@@ -103,15 +103,14 @@
 
 		<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
 		<p>
-			Returns an array of new AnimationClips created from the [page:Geometry.morphTargets morph
-			target sequences] of a geometry, trying to sort morph target names into animation-group-based
+			Returns an array of new AnimationClips created from the morph
+			target sequences of a geometry, trying to sort morph target names into animation-group-based
 			patterns like "Walk_001, Walk_002, Run_001, Run_002 ...".
 		</p>
 
 		<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
 		<p>
-			Returns a new AnimationClip from the passed [page:Geometry.morphTargets morph targets array]
-			of a geometry, taking a name and the number of frames per second.<br /><br />
+			Returns a new AnimationClip from the passed morph targets array of a geometry, taking a name and the number of frames per second.<br /><br />
 
 			Note: The fps parameter is required, but the animation speed can be overridden in an
 			*AnimationAction* via [page:AnimationAction.setDuration animationAction.setDuration].

+ 1 - 2
docs/api/en/animation/KeyframeTrack.html

@@ -92,8 +92,7 @@
 
 		<h3>[property:String name]</h3>
 		<p>
-			The track's name can refer to [page:Geometry.morphTargets morph targets] or
-			[page:SkinnedMesh bones] or possibly other values within an animated object. See
+			The track's name can refer to  morph targets or [page:SkinnedMesh bones] or possibly other values within an animated object. See
 			[page:PropertyBinding.parseTrackName] for the forms of strings that can be parsed for property
 			binding:
 		</p>

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

@@ -36,7 +36,7 @@
 		});
 
 		// create an object for the sound to play from
-		const sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
+		const sphere = new THREE.SphereGeometry( 20, 32, 16 );
 		const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
 		const mesh = new THREE.Mesh( sphere, material );
 		scene.add( mesh );

+ 11 - 42
docs/api/en/core/BufferGeometry.html

@@ -10,16 +10,13 @@
 		<h1>[name]</h1>
 
 		<p>
-		An efficient representation of mesh, line, or point geometry. Includes vertex positions, face
+		A representation of mesh, line, or point geometry. Includes vertex positions, face
 		indices, normals, colors, UVs, and custom attributes within buffers, reducing the cost of
 		passing all this data to the GPU.
 		</p>
 		<p>
 		To read and edit data in BufferGeometry attributes, see [page:BufferAttribute] documentation.
 		</p>
-		<p>
-		For a less efficient but easier-to-use representation of geometry, see [page:Geometry].
-		</p>
 
 		<h2>Code Example</h2>
 		<code>
@@ -123,9 +120,8 @@
 
 		<h3>[property:BufferAttribute index]</h3>
 		<p>
-			Allows for vertices to be re-used across multiple triangles; this is called using "indexed triangles" and
-			works much the same as it does in [page:Geometry]: each triangle is associated with the indices of three vertices.
-			This attribute therefore stores the index of each vertex for each triangular face.
+			Allows for vertices to be re-used across multiple triangles; this is called using "indexed triangles".
+			Each triangle is associated with the indices of three vertices. This attribute therefore stores the index of each vertex for each triangular face.
 
 			If this attribute is not set, the [page:WebGLRenderer renderer] assumes that each three contiguous
 			positions represent a single triangle.
@@ -135,7 +131,7 @@
 
 		<h3>[property:Object morphAttributes]</h3>
 		<p>
-			Hashmap of [page:BufferAttribute]s holding details of the geometry's [page:Geometry.morphTargets morphTargets].
+			Hashmap of [page:BufferAttribute]s holding details of the geometry's morph targets.
 		</p>
 
 		<h3>[property:Boolean morphTargetsRelative]</h3>
@@ -207,6 +203,12 @@
 		Bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are *null*.
 		</p>
 
+		<h3>[method:null computeTangents]()</h3>
+		<p>
+		Calculates and adds a tangent attribute to this geometry.<br />
+		The computation is only supported for indexed geometries and if position, normal, and uv attributes are defined.
+		</p>
+
 		<h3>[method:null computeVertexNormals]()</h3>
 		<p>Computes vertex normals by averaging face normals.</p>
 
@@ -216,17 +218,6 @@
 		You need to call this when you want the BufferGeometry removed while the application is running.
 		</p>
 
-		<h3>[method:BufferGeometry fromDirectGeometry]( [param:Geometry] )</h3>
-		<p>
-			Populates this BufferGeometry with data from a [page:DirectGeometry] object containing faces. Not implemented for a line geometry.<br /><br />
-
-			Note: [page:DirectGeometry] is mainly used as an intermediary object for converting between [page:Geometry]
-			and BufferGeometry.
-		</p>
-
-		<h3>[method:BufferGeometry fromGeometry]( [param:Geometry] )</h3>
-		<p>Populates this BufferGeometry with data from a [page:Geometry] object containing faces. Not implemented for a line geometry.</p>
-
 		<h3>[method:BufferAttribute getAttribute]( [param:String name] )</h3>
 		<p>Returns the [page:BufferAttribute attribute] with the specified name.</p>
 
@@ -287,9 +278,6 @@
 		<p>Set the [page:.drawRange] property. For non-indexed BufferGeometry, count is the number of vertices to render.
 		For indexed BufferGeometry, count is the number of indices to render.</p>
 
-		<h3>[method:BufferGeometry setFromObject] ( [param:Object3D object] )</h3>
-		<p>Sets the attributes for this BufferGeometry from an [page:Object3D].</p>
-
 		<h3>[method:BufferGeometry setFromPoints] ( [param:Array points] )</h3>
 		<p>Sets the attributes for this BufferGeometry from an array of points.</p>
 
@@ -302,28 +290,9 @@
 		<h3>[method:BufferGeometry translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
 		<p>
 		Translate the geometry. This is typically done as a one time operation, and not during a loop.
-    Use [page:Object3D.position] for typical real-time mesh translation.
+		Use [page:Object3D.position] for typical real-time mesh translation.
 		</p>
 
-		<h3>[method:BufferGeometry updateFromObject] ( [param:Object3D object] )</h3>
-		<div>Updates the attributes for this BufferGeometry from an [page:Object3D].</div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 		<h2>Source</h2>
 
 		<p>

+ 0 - 109
docs/api/en/core/DirectGeometry.html

@@ -1,109 +0,0 @@
-<!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">
-			This class is used internally to convert from [page:Geometry] to [page:BufferGeometry].
-		</p>
-
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<p>This creates a new [name].</p>
-
-
-		<h2>Properties</h2>
-
-		<h3>[property:Integer id]</h3>
-		<p>Unique number for this [name] instance.</p>
-
-		<h3>[property:String name]</h3>
-		<p>Optional name. Default is the empty string.</p>
-
-		<h3>[property:Array type]</h3>
-		<p>String 'DirectGeometry'.</p>
-
-		<h3>[property:Array vertices]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array normals]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array colors]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array uvs]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array uvs2]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array groups]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array morphTargets]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array skinWeights]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Array skinIndices]</h3>
-		<p>Initialiased as an empty array, this is populated by [page:.fromGeometry]().</p>
-
-		<h3>[property:Box3 boundingBox]</h3>
-		<p>
-			Bounding box for the bufferGeometry, which can be calculated with
-			[page:.computeBoundingBox](). Default is *null*.
-		</p>
-
-		<h3>[property:Sphere boundingSphere]</h3>
-		<p>
-			Bounding sphere for the bufferGeometry, which can be calculated with
-			[page:.computeBoundingSphere](). Default is *null*.
-		</p>
-
-		<h3>[property:Boolean verticesNeedUpdate]</h3>
-		<p>Default is false.</p>
-
-		<h3>[property:Boolean normalsNeedUpdate]</h3>
-		<p>Default is false.</p>
-
-		<h3>[property:Boolean colorsNeedUpdate]</h3>
-		<p>Default is false.</p>
-
-		<h3>[property:Boolean uvsNeedUpdate]</h3>
-		<p>Default is false.</p>
-
-		<h3>[property:Boolean groupsNeedUpdate]</h3>
-		<p>Default is false.</p>
-
-
-		<h2>Methods</h2>
-
-		<h3>[property:null computeGroups]( [param:Geometry geometry] )</h3>
-		<p>
-			Compute the parts of the geometry that have different materialIndex.
-			See [page:BufferGeometry.groups].
-		</p>
-
-		<h3>[property:null fromGeometry]( [param:Geometry geometry] )</h3>
-		<p>Pass in a [page:Geometry] instance for conversion.</p>
-
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 38
docs/api/en/core/Face3.html

@@ -10,46 +10,11 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		Triangular face used in [page:Geometry]. These are created automatically for all
+		Triangular face used in deprecated geometry. These are created automatically for all
 		standard geometry types, however if you are building a custom geometry you will have to
 		create them manually.
 		</p>
 
-		<h2>Code Example</h2>
-
-		<code>
-		const material = new THREE.MeshStandardMaterial( { color : 0x00cc00 } );
-
-		//create a triangular geometry
-		const geometry = new THREE.Geometry();
-		geometry.vertices.push( new THREE.Vector3( -50, -50, 0 ) );
-		geometry.vertices.push( new THREE.Vector3(  50, -50, 0 ) );
-		geometry.vertices.push( new THREE.Vector3(  50,  50, 0 ) );
-
-		//create a new face using vertices 0, 1, 2
-		const normal = new THREE.Vector3( 0, 0, 1 ); //optional
-		const color = new THREE.Color( 0xffaa00 ); //optional
-		const materialIndex = 0; //optional
-		const face = new THREE.Face3( 0, 1, 2, normal, color, materialIndex );
-
-		//add the face to the geometry's faces array
-		geometry.faces.push( face );
-
-		//the face normals and vertex normals can be calculated automatically if not supplied above
-		geometry.computeFaceNormals();
-		geometry.computeVertexNormals();
-
-		scene.add( new THREE.Mesh( geometry, material ) );
-	</code>
-
-		<h2>Examples</h2>
-
-		<p>
-			[example:svg_sandbox svg / sandbox ]<br />
-			[example:misc_exporter_obj exporter / obj ]<br />
-			[example:webgl_shaders_vector WebGL / shaders / vector ]
-		</p>
-
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:Integer a], [param:Integer b], [param:Integer c], [param:Vector3 normal], [param:Color color], [param:Integer materialIndex] )</h3>
@@ -89,8 +54,8 @@
 
 		<h3>[property:Vector3 normal]</h3>
 		<p>
-		Face normal - vector showing the direction of the Face3. If calculated automatically
-		(using [page:Geometry.computeFaceNormals]), this is the normalized cross product of two edges of the
+		Face normal - vector showing the direction of the Face3. If calculated automatically,
+		this is the normalized cross product of two edges of the
 		triangle. Default is *(0, 0, 0)*.
 		</p>
 

+ 0 - 344
docs/api/en/core/Geometry.html

@@ -1,344 +0,0 @@
-<!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>
-
-		<div class="desc">
-		<p>
-		Geometry is a user-friendly alternative to [page:BufferGeometry]. Geometries store attributes
-		(vertex positions, faces, colors, etc.) using objects like [page:Vector3] or [page:Color] that
-		are easier to read and edit, but less efficient than typed arrays.
-		</p>
-		<p>
-		Prefer [page:BufferGeometry] for large or serious projects.
-		</p>
-		</div>
-
-		<h2>Code Example</h2>
-
-		<code>
-		const geometry = new THREE.Geometry();
-
-		geometry.vertices.push(
-			new THREE.Vector3( -10,  10, 0 ),
-			new THREE.Vector3( -10, -10, 0 ),
-			new THREE.Vector3(  10, -10, 0 )
-		);
-
-		geometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
-
-		geometry.computeBoundingSphere();
-		</code>
-
-
-		<h2>Examples</h2>
-
-		<p>
-			[example:webgl_geometry_minecraft WebGL / geometry / minecraft ]<br />
-			[example:webgl_geometry_minecraft_ao WebGL / geometry / minecraft / ao ]<br />
-			[example:webgl_geometry_nurbs WebGL / geometry / nurbs ]<br />
-			[example:webgl_geometry_spline_editor WebGL / geometry / spline / editor ]<br />
-			[example:webgl_interactive_cubes_gpu WebGL / interactive / cubes / gpu ]<br />
-			[example:webgl_interactive_lines WebGL / interactive / lines ]<br />
-			[example:webgl_interactive_raycasting_points WebGL / interactive / raycasting / points ]<br />
-			[example:webgl_interactive_voxelpainter WebGL / interactive / voxelpainter ]
-		</p>
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<p>
-		The constructor takes no arguments.
-		</p>
-
-
-		<h2>Properties</h2>
-
-		<h3>[property:Box3 boundingBox]</h3>
-		<p>
-			Bounding box for the Geometry, which can be calculated with
-			[page:.computeBoundingBox](). Default is *null*.
-		</p>
-
-		<h3>[property:Sphere boundingSphere]</h3>
-		<p>
-			Bounding sphere for the Geometry, which can be calculated with
-			[page:.computeBoundingSphere](). Default is *null*.
-		</p>
-
-		<h3>[property:Array colors]</h3>
-		<p>
-		Array of vertex [page:Color colors], matching number and order of vertices.<br /><br />
-
-		This is used by [page:Points] and [page:Line] and any classes derived from those such as [page:LineSegments] and various helpers.
-		[page:Mesh Meshes] use [page:Face3.vertexColors] instead of this.<br /><br />
-
-		To signal an update in this array, [page:Geometry Geometry.colorsNeedUpdate] needs to be set to true.
-		</p>
-
-		<h3>[property:Array faces]</h3>
-		<p>
-		Array of [page:Face3 faces].<br />
-		The array of faces describe how each vertex in the model is connected to form faces.
-		Additionally it holds information about face and vertex normals and colors.<br /><br />
-		To signal an update in this array, [page:Geometry Geometry.elementsNeedUpdate] needs to be set to true.
-		</p>
-
-		<h3>[property:Array faceVertexUvs]</h3>
-		<p>
-		Array of face [link:https://en.wikipedia.org/wiki/UV_mapping UV] layers, used for mapping textures onto the geometry.<br />
-		Each UV layer is an array of [page:Vector2]s matching the order and number of vertices in faces.<br /><br />
-		To signal an update in this array, [page:Geometry Geometry.uvsNeedUpdate] needs to be set to true.
-		</p>
-
-		<h3>[property:Integer id]</h3>
-		<p>Unique number for this geometry instance.</p>
-
-		<h3>[property:Array lineDistances]</h3>
-		<p>
-		An array containing distances between vertices for Line geometries.
-		This is required for [page:LineDashedMaterial] to render correctly.
-		</p>
-
-		<h3>[property:Array morphTargets]</h3>
-		<p>
-		Array of [link:https://en.wikipedia.org/wiki/Morph_target_animation morph targets]. Each morph target is a Javascript object:
-		<code>{ name: "targetName", vertices: [ new THREE.Vector3(), ... ] }</code>
-		Morph vertices match number and order of primary vertices.
-		</p>
-
-		<h3>[property:Array morphNormals]</h3>
-		<p>
-		Array of morph normals. Morph normals have similar structure as morph targets, each normal set is a Javascript object:
-		<code>morphNormal = { name: "NormalName", normals: [ new THREE.Vector3(), ... ] }</code>
-		</p>
-
-		<h3>[property:String name]</h3>
-		<p>Optional name for this geometry. Default is an empty string.</p>
-
-		<h3>[property:Array skinWeights]</h3>
-		<p>
-		When working with a [page:SkinnedMesh], each vertex can have up to 4 [page:Bone bones] affecting it.
-		The skinWeights property is an array of weight values that correspond to the order of the vertices in
-		the geometry. So for instance, the first skinWeight would correspond to the first vertex in the geometry.
-		Since each vertex can be modified by 4 bones, a [page:Vector4] is used to represent the skin weights
-		for that vertex.
-		</p>
-		<p>
-		The values of the vector should typically be between 0 and 1. For instance when set to 0 the bone
-		transformation will have no effect. When set to 0.5 it will have 50% effect. When set to 100%, it will
-		have 100% effect. If there is only 1 bone associated with the vertex then you only need to worry about
-		the first component of the vector, the rest can be ignored and set to 0.
-		</p>
-
-		<h3>[property:Array skinIndices]</h3>
-		<p>
-		Just like the skinWeights property, the skinIndices' values correspond to the geometry's vertices.
-		Each vertex can have up to 4 bones associated with it. So if you look at the first vertex, and the
-		first skinIndex, this will tell you the bones associated with that vertex. For example the first vertex
-		could have a value of <strong>( 10.05, 30.10, 12.12 )</strong>. Then the first skin index could have the
-		value of <strong>( 10, 2, 0, 0 )</strong>. The first skin weight could have the value of
-		<strong>( 0.8, 0.2, 0, 0 )</strong>. In effect this would take the first vertex, and then the bone
-		<strong>mesh.bones[10]</strong> and apply it 80% of the way. Then it would take the bone <strong>skeleton.bones[2]</strong>
-		and apply it 20% of the way. The next two values have a weight of 0, so they would have no effect.
-		</p>
-		<p>
-		In code another example could look like this:
-		<code>
-		// e.g.
-		geometry.skinIndices[15] = new THREE.Vector4(   0,   5,   9, 10 );
-		geometry.skinWeights[15] = new THREE.Vector4( 0.2, 0.5, 0.3,  0 );
-
-		// corresponds with the following vertex
-		geometry.vertices[15];
-
-		// these bones will be used like so:
-		skeleton.bones[0]; // weight of 0.2
-		skeleton.bones[5]; // weight of 0.5
-		skeleton.bones[9]; // weight of 0.3
-		skeleton.bones[10]; // weight of 0
-		</code>
-		</p>
-
-		<h3>[property:String uuid]</h3>
-		<p>
-		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] of this object instance.
-		This gets automatically assigned and shouldn't be edited.
-		</p>
-
-		<h3>[property:Array vertices]</h3>
-		<p>
-		Array of [page:Vector3 vertices].<br />
-		The array of vertices holds the position of every vertex in the model.<br />
-		To signal an update in this array, [page:.verticesNeedUpdate] needs to be set to true.
-		</p>
-
-		<h3>[property:Boolean verticesNeedUpdate]</h3>
-		<p>Set to *true* if the vertices array has been updated.</p>
-
-		<h3>[property:Boolean elementsNeedUpdate]</h3>
-		<p>Set to *true* if the faces array has been updated.</p>
-
-		<h3>[property:Boolean uvsNeedUpdate]</h3>
-		<p>Set to *true* if the uvs array has been updated.	</p>
-
-		<h3>[property:Boolean normalsNeedUpdate]</h3>
-		<p>Set to *true* if the normals array has been updated.</p>
-
-		<h3>[property:Boolean colorsNeedUpdate]</h3>
-		<p>Set to *true* if the colors array or a face3 color has been updated.</p>
-
-		<h3>[property:Boolean groupsNeedUpdate]</h3>
-		<p>Set to *true* if a face3 materialIndex has been updated.</p>
-
-		<h3>[property:Boolean lineDistancesNeedUpdate]</h3>
-		<p>Set to *true* if the linedistances array has been updated.</p>
-
-
-		<h2>Methods</h2>
-
-		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
-
-		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
-		<p>Bakes matrix transform directly into vertex coordinates.</p>
-
-		<h3>[method:Geometry center] ()</h3>
-		<p>Center the geometry based on the bounding box.</p>
-
-		<h3>[method:Geometry clone]()</h3>
-		<p>
-		Creates a new clone of the Geometry.<br /><br />
-
-		This method copies only vertices, faces and uvs. It does not copy any other properties of the geometry.
-		</p>
-
-		<h3>[method:null computeBoundingBox]()</h3>
-		<p>Computes bounding box of the geometry, updating [page:Geometry Geometry.boundingBox] attribute.</p>
-
-		<h3>[method:null computeBoundingSphere]()</h3>
-		<p>Computes bounding sphere of the geometry, updating [page:Geometry Geometry.boundingSphere] attribute.</p>
-
-		<p>
-			Neither bounding boxes or bounding spheres are computed by default. They need to be explicitly computed,
-			otherwise they are *null*.
-		</p>
-
-		<h3>[method:null computeFaceNormals]()</h3>
-		<p>Computes [page:Face3.normal face normals].</p>
-
-		<h3>[method:null computeFlatVertexNormals]()</h3>
-		<p>Computes flat [page:Face3.vertexNormals vertex normals]. Sets the vertex normal of each vertex of each face to be the same as the face's normal.</p>
-
-		<h3>[method:null computeMorphNormals]()</h3>
-		<p>Computes [page:.morphNormals].</p>
-
-		<h3>[method:null computeVertexNormals]( [param:Boolean areaWeighted] )</h3>
-		<p>
-		areaWeighted - If true the contribution of each face normal to the vertex normal is
-		weighted by the area of the face. Default is true.<br /><br />
-
-		Computes vertex normals by averaging face normals.
-		</p>
-
-		<h3>[method:Geometry copy]( [param:Geometry geometry] )</h3>
-		<p>
-			Copies vertices, faces and uvs into this geometry. It does not copy any other properties of the geometry.
-		</p>
-
-		<h3>[method:null dispose]()</h3>
-		<p>
-		Removes The object from memory. <br />
-		Don't forget to call this method when you remove a geometry because it can cause memory leaks.
-		</p>
-
-		<h3>[method:Geometry fromBufferGeometry]( [param:BufferGeometry geometry] )</h3>
-		<p>Convert a [page:BufferGeometry] to a Geometry. <br />
-		When converting from BufferGeometry to Geometry, all vertices are preserved, so duplicated vertices may appear.
-		Use [page:Geometry.mergeVertices] to remove them.</p>
-
-		<h3>[method:Geometry lookAt] ( [param:Vector3 vector] )</h3>
-		<p>
-		vector - A world vector to look at.<br /><br />
-
-		Rotates the geometry to face point in space. This is typically done as a one time operation but not during the render loop.<br>
-		Use [page:Object3D.lookAt] for typical real-time mesh usage.
-		</p>
-
-		<h3>[method:null merge]( [param:Geometry geometry], [param:Matrix4 matrix], [param:Integer materialIndexOffset] )</h3>
-		<p>Merge two geometries or geometry and geometry from object (using object's transform)</p>
-
-		<h3>[method:null mergeMesh]( [param:Mesh mesh] )</h3>
-		<p>Merge the mesh's geometry with this, also applying the mesh's transform.</p>
-
-
-		<h3>[method:null mergeVertices]()</h3>
-		<p>
-		Checks for duplicate vertices using hashmap.<br />
-		Duplicated vertices are removed and faces' vertices are updated.
-		</p>
-
-		<h3>[method:null normalize]()</h3>
-		<p>
-		Normalize the geometry. <br />
-		Make the geometry centered and have a bounding sphere of radius *1.0*.
-		</p>
-
-		<h3>[method:Geometry rotateX] ( [param:Float radians] )</h3>
-		<p>
-		Rotate the geometry about the X axis. This is typically done as a one time operation but not during the render loop.<br>
-		Use [page:Object3D.rotation] for typical real-time mesh rotation.
-		</p>
-
-		<h3>[method:Geometry rotateY] ( [param:Float radians] )</h3>
-		<p>
-		Rotate the geometry about the Y axis. This is typically done as a one time operation but not during the render loop.<br>
-    	        Use [page:Object3D.rotation] for typical real-time mesh rotation.
-		</p>
-
-		<h3>[method:Geometry rotateZ] ( [param:Float radians] )</h3>
-		<p>
-		Rotate the geometry about the Z axis. This is typically done as a one time operation but not during the render loop.<br>
-	        Use [page:Object3D.rotation] for typical real-time mesh rotation.
-		</p>
-
-		<h3>[method:Geometry setFromPoints] ( [param:Array points] )</h3>
-		<p>Sets the vertices for this Geometry from an array of points.</p>
-
-		<h3>[method:null sortFacesByMaterialIndex] (  )</h3>
-		<p>
-		Sorts the faces array according to material index. For complex geometries with several materials,
-		this can result in reduced draw calls and improved performance.
-		</p>
-
-		<h3>[method:Geometry scale] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
-		<p>
-		Scale the geometry data. This is typically done as a one time operation but not during the render loop.<br>
-		Use [page:Object3D.scale] for typical real-time mesh scaling.
-		</p>
-
-		<h3>[method:Object toJSON] ( )</h3>
-		<p>Convert the geometry to JSON format.<br />
-		Convert the geometry to three.js [link:https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format].
-		</p>
-
-		<h3>[method:Geometry translate] ( [param:Float x], [param:Float y], [param:Float z] )</h3>
-		<p>
-		Translate the geometry. This is typically done as a one time operation but not during the render loop.<br>
-    	        Use [page:Object3D.position] for typical real-time mesh translation.
-		</p>
-
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 12 - 2
docs/api/en/core/Object3D.html

@@ -105,17 +105,27 @@
 
 		<h3>[property:Function onAfterRender]</h3>
 		<p>
-		An optional callback that is executed immediately after the Object3D is rendered.
+		An optional callback that is executed immediately after a 3D object is rendered.
 		This function is called with the following parameters: renderer, scene, camera, geometry,
 		material, group.
 		</p>
+		<p>
+		Please notice that this callback is only executed for *renderable* 3D objects. Meaning 3D objects which define their visual
+		appearance with geometries and materials like instances of [page:Mesh], [page:Line], [page:Points] or [page:Sprite].
+		Instances of [page:Object3D], [page:Group] or [page:Bone] are not renderable and thus this callback is not executed for such objects.
+		</p>
 
 		<h3>[property:Function onBeforeRender]</h3>
 		<p>
-		An optional callback that is executed immediately before the Object3D is rendered.
+		An optional callback that is executed immediately before a 3D object is rendered.
 		This function is called with the following parameters: renderer, scene, camera, geometry,
 		material, group.
 		</p>
+		<p>
+		Please notice that this callback is only executed for *renderable* 3D objects. Meaning 3D objects which define their visual
+		appearance with geometries and materials like instances of [page:Mesh], [page:Line], [page:Points] or [page:Sprite].
+		Instances of [page:Object3D], [page:Group] or [page:Bone] are not renderable and thus this callback is not executed for such objects.
+		</p>
 
 		<h3>[property:Object3D parent]</h3>
 		<p>Object's parent in the [link:https://en.wikipedia.org/wiki/Scene_graph scene graph]. An object can have at most

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

@@ -31,7 +31,7 @@
 
 		const extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
 
-		const geometry = new THREE.ExtrudeBufferGeometry( heartShape, extrudeSettings );
+		const geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
 
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
 		</code>

+ 1 - 1
docs/api/en/extras/objects/ImmediateRenderObject.html

@@ -20,7 +20,7 @@
 		</p>
 
 		<p class="desc">
-			[name] does not work with instances of [page:BufferGeometry] or [page:Geometry]. The
+			[name] does not work with instances of [page:BufferGeometry]. The
 			raw geometry data have to be maintained as properties of the [name].
 		</p>
 

+ 0 - 80
docs/api/en/geometries/BoxBufferGeometry.html

@@ -1,80 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:BoxGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#BoxBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.BoxBufferGeometry( 1, 1, 1 );
-		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
-		const cube = new THREE.Mesh( geometry, material );
-		scene.add( cube );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float width], [param:Float height], [param:Float depth], [param:Integer widthSegments], [param:Integer heightSegments], [param:Integer depthSegments])</h3>
-		<p>
-		width — Width; that is, the length of the edges parallel to the X axis. Optional; defaults to 1.<br />
-		height — Height; that is, the length of the edges parallel to the Y axis. Optional; defaults to 1.<br />
-		depth — Depth; that is, the length of the edges parallel to the Z axis. Optional; defaults to 1.<br />
-		widthSegments — Number of segmented rectangular faces along the width of the sides. Optional; defaults to 1.<br />
-		heightSegments — Number of segmented rectangular faces along the height of the sides. Optional; defaults to 1.<br />
-		depthSegments — Number of segmented rectangular faces along the depth of the sides. Optional; defaults to 1.<br />
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
- 		<p>
-		Using the above example:
-		<code>
-		geometry.parameters; // {width: 1, height: 1, depth: 1, widthSegments: undefined, heightSegments: undefined, depthSegments: undefined}
-		cube.geometry.parameters; // as above
-		cube.geometry.parameters.width; // === 1
-		cube.geometry.parameters.widthSegments; // === undefined.
-		</code>
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 7 - 4
docs/api/en/geometries/BoxGeometry.html

@@ -7,11 +7,14 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">BoxGeometry is a geometry class for a [link:https://en.wikipedia.org/wiki/Cuboid rectangular cuboid] with a given 'width', 'height', and 'depth'. On creation, the cuboid is centred on the origin, with each edge parallel to one of the axes.</p>
+		<p class="desc">
+			[name] is a geometry class for a rectangular cuboid with a given 'width', 'height', and 'depth'.
+			On creation, the cuboid is centred on the origin, with each edge parallel to one of the axes.
+		</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#BoxGeometry"></iframe>
 
@@ -52,7 +55,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -69,7 +72,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 70
docs/api/en/geometries/CircleBufferGeometry.html

@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:CircleGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#CircleBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>
-		const geometry = new THREE.CircleBufferGeometry( 5, 32 );
-		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
-		const circle = new THREE.Mesh( geometry, material );
-		scene.add( circle );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
-		<p>
-		radius — Radius of the circle, default = 1.<br />
-		segments — Number of segments (triangles), minimum = 3, default = 8.<br />
-		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
-		thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete circle.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 8 - 4
docs/api/en/geometries/CircleGeometry.html

@@ -7,11 +7,15 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">CircleGeometry is a simple shape of Euclidean geometry.  It is contructed from a number of triangular segments that are oriented around a central point and extend as far out as a given radius.  It is built counter-clockwise from a start angle and a given central angle.  It can also be used to create regular polygons, where the number of segments determines the number of sides.
+		<p class="desc">
+			[name] is a simple shape of Euclidean geometry.
+			It is contructed from a number of triangular segments that are oriented around a central point and extend as far out as a given radius.
+			It is built counter-clockwise from a start angle and a given central angle.
+			It can also be used to create regular polygons, where the number of segments determines the number of sides.
 		</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#CircleGeometry"></iframe>
@@ -52,7 +56,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -60,7 +64,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 72
docs/api/en/geometries/ConeBufferGeometry.html

@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr; [page:CylinderBufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:ConeGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#ConeBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.ConeBufferGeometry( 5, 20, 32 );
-		const material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
-		const cone = new THREE.Mesh( geometry, material );
-		scene.add( cone );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Float height], [param:Integer radialSegments], [param:Integer heightSegments], [param:Boolean openEnded], [param:Float thetaStart], [param:Float thetaLength])</h3>
-		<p>
-		radius — Radius of the cone base. Default is 1.<br />
-		height — Height of the cone. Default is 1.<br />
-		radialSegments — Number of segmented faces around the circumference of the cone. Default is 8<br />
-		heightSegments — Number of rows of faces along the height of the cone. Default is 1.<br />
-		openEnded — A Boolean indicating whether the base of the cone is open or capped. Default is false, meaning capped.<br />
-		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
-		thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete cone.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:CylinderBufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:CylinderBufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 3
docs/api/en/geometries/ConeGeometry.html

@@ -7,11 +7,11 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr; [page:CylinderGeometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:CylinderGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">A class for generating cone geometries</p>
+		<p class="desc">A class for generating cone geometries.</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#ConeGeometry"></iframe>
 
@@ -43,7 +43,7 @@
 
 		<h3>[name]([param:Float radius], [param:Float height], [param:Integer radialSegments], [param:Integer heightSegments], [param:Boolean openEnded], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<p>
-		radius — Radius of the cone at the base. Default is 1.<br />
+		radius — Radius of the cone base. Default is 1.<br />
 		height — Height of the cone. Default is 1.<br />
 		radialSegments — Number of segmented faces around the circumference of the cone. Default is 8<br />
 		heightSegments — Number of rows of faces along the height of the cone. Default is 1.<br />

+ 0 - 73
docs/api/en/geometries/CylinderBufferGeometry.html

@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:CylinderGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#CylinderBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.CylinderBufferGeometry( 5, 5, 20, 32 );
-		const material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
-		const cylinder = new THREE.Mesh( geometry, material );
-		scene.add( cylinder );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radiusTop], [param:Float radiusBottom], [param:Float height], [param:Integer radialSegments], [param:Integer heightSegments], [param:Boolean openEnded], [param:Float thetaStart], [param:Float thetaLength])</h3>
-		<p>
-		radiusTop — Radius of the cylinder at the top. Default is 1.<br />
-		radiusBottom — Radius of the cylinder at the bottom. Default is 1.<br />
-		height — Height of the cylinder. Default is 1.<br />
-		radialSegments — Number of segmented faces around the circumference of the cylinder. Default is 8<br />
-		heightSegments — Number of rows of faces along the height of the cylinder. Default is 1.<br />
-		openEnded — A Boolean indicating whether the ends of the cylinder are open or capped. Default is false, meaning capped.<br />
-		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
-		thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete cylinder.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 4 - 4
docs/api/en/geometries/CylinderGeometry.html

@@ -7,11 +7,11 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">A class for generating cylinder geometries</p>
+		<p class="desc">A class for generating cylinder geometries.</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#CylinderGeometry"></iframe>
 
@@ -54,7 +54,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -62,7 +62,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 59
docs/api/en/geometries/DodecahedronBufferGeometry.html

@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr; [page:PolyhedronBufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">A class for generating a dodecahedron geometries.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#DodecahedronBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
-		<p>
-		radius — Radius of the dodecahedron. Default is 1.<br />
-		detail — Default is 0. Setting this to a value greater than 0 adds vertices making it no longer a dodecahedron.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 3
docs/api/en/geometries/DodecahedronGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -40,7 +40,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -48,7 +48,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 3 - 3
docs/api/en/geometries/EdgesGeometry.html

@@ -11,12 +11,12 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">This can be used as a helper object to view the edges of a [page:Geometry Geometry] object.</p>
+		<p class="desc">This can be used as a helper object to view the edges of a [page:BufferGeometry geometry].</p>
 
 		<h2>Code Example</h2>
 
 		<code>
-const geometry = new THREE.BoxBufferGeometry( 100, 100, 100 );
+const geometry = new THREE.BoxGeometry( 100, 100, 100 );
 const edges = new THREE.EdgesGeometry( geometry );
 const line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xffffff } ) );
 scene.add( line );
@@ -29,7 +29,7 @@ scene.add( line );
 
 		<h2>Constructor</h2>
 
-		<h3>[name]( [param:Geometry geometry], [param:Integer thresholdAngle] )</h3>
+		<h3>[name]( [param:BufferGeometry geometry], [param:Integer thresholdAngle] )</h3>
 		<p>
 		geometry — Any geometry object.<br />
 		thresholdAngle — An edge is only rendered if the angle (in degrees) between the face normals of the adjoining faces exceeds this value. default = 1 degree.

+ 0 - 113
docs/api/en/geometries/ExtrudeBufferGeometry.html

@@ -1,113 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">Creates extruded BufferGeometry from a path shape.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#ExtrudeBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-
-		<code>
-		const length = 12, width = 8;
-
-		const shape = new THREE.Shape();
-		shape.moveTo( 0,0 );
-		shape.lineTo( 0, width );
-		shape.lineTo( length, width );
-		shape.lineTo( length, 0 );
-		shape.lineTo( 0, 0 );
-
-		const extrudeSettings = {
-			steps: 2,
-			depth: 16,
-			bevelEnabled: true,
-			bevelThickness: 1,
-			bevelSize: 1,
-			bevelOffset: 0,
-			bevelSegments: 1
-		};
-
-		const geometry = new THREE.ExtrudeBufferGeometry( shape, extrudeSettings );
-		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
-		const mesh = new THREE.Mesh( geometry, material ) ;
-		scene.add( mesh );
-		</code>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([param:Array shapes], [param:Object options])</h3>
-		<p>
-		shapes — Shape or an array of shapes. <br />
-		options — Object that can contain the following parameters.
-
-			<ul>
-				<li>curveSegments — int. Number of points on the curves. Default is 12.</li>
-				<li>steps — int. Number of points used for subdividing segments along the depth of the extruded spline. Default is 1.</li>
-				<li>depth — float. Depth to extrude the shape. Default is 100.</li>
-				<li>bevelEnabled — bool. Apply beveling to the shape. Default is true.</li>
-				<li>bevelThickness — float. How deep into the original shape the bevel goes. Default is 6.</li>
-				<li>bevelSize — float. Distance from the shape outline that the bevel extends. Default is bevelThickness - 2.</li>
-				<li>bevelOffset — float. Distance from the shape outline that the bevel starts. Default is 0.</li>
-				<li>bevelSegments — int. Number of bevel layers. Default is 3.</li>
-				<li>extrudePath — THREE.Curve. A 3D spline path along which the shape should be extruded. Bevels not supported for path extrusion.</li>
-				<li>UVGenerator —  Object. object that provides UV generator functions</li>
-			</ul>
-
-		</p>
-		<p>
-			This object extrudes a 2D shape to a 3D geometry.
-		</p>
-
-		<p>
-			When creating a Mesh with this geometry, if you'd like to have a separate material used for its face
-			and its extruded sides, you can use an array of materials. The first material will be
-			applied to the face; the second material will be applied to the sides.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 3
docs/api/en/geometries/ExtrudeGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -94,7 +94,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -102,7 +102,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 58
docs/api/en/geometries/IcosahedronBufferGeometry.html

@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr; [page:PolyhedronBufferGeometry] &rarr;
-		<h1>[name]</h1>
-
-		<p class="desc">A class for generating an icosahedron geometry.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#IcosahedronBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
-		<p>
-		radius — Default is 1. <br />
-		detail — Default is 0.  Setting this to a value greater than 0 adds more vertices making it no longer an icosahedron.  When detail is greater than 1, it's effectively a sphere.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 4
docs/api/en/geometries/IcosahedronGeometry.html

@@ -7,8 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
-
+		[page:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
 		<h1>[name]</h1>
 
 		<p class="desc">A class for generating an icosahedron geometry.</p>
@@ -40,7 +39,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -48,7 +47,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 77
docs/api/en/geometries/LatheBufferGeometry.html

@@ -1,77 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:LatheGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#LatheBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>
-		const points = [];
-		for ( let i = 0; i < 10; i ++ ) {
-			points.push( new THREE.Vector2( Math.sin( i * 0.2 ) * 10 + 5, ( i - 5 ) * 2 ) );
-		}
-		const geometry = new THREE.LatheBufferGeometry( points );
-		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
-		const lathe = new THREE.Mesh( geometry, material );
-		scene.add( lathe );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Array points], [param:Integer segments], [param:Float phiStart], [param:Float phiLength])</h3>
-		<p>
-		points — Array of Vector2s. The x-coordinate of each point must be greater than zero.<br />
-		segments — the number of circumference segments to generate. Default is 12.<br />
-		phiStart — the starting angle in radians. Default is 0.<br />
-		phiLength — the radian (0 to 2PI) range of the lathed section 2PI is a closed lathe, less than 2PI is a portion. Default is 2PI.
-		</p>
-		<p>
-		This creates a LatheBufferGeometry based on the parameters.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 4 - 4
docs/api/en/geometries/LatheGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -54,11 +54,11 @@
 		phiLength — the radian (0 to 2PI) range of the lathed section 2PI is a closed lathe, less than 2PI is a portion. Default is 2PI.
 		</p>
 		<p>
-		This creates a LatheGeometry based on the parameters.
+		This creates a [name] based on the parameters.
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -66,7 +66,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 58
docs/api/en/geometries/OctahedronBufferGeometry.html

@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr; [page:PolyhedronBufferGeometry] &rarr;
-		<h1>[name]</h1>
-
-		<p class="desc">A class for generating an octahedron geometry.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#OctahedronBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
-		<p>
-		radius — Radius of the octahedron. Default is 1.<br />
-		detail — Default is 0.  Setting this to a value greater than zero add vertices making it no longer an octahedron.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 4
docs/api/en/geometries/OctahedronGeometry.html

@@ -7,8 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
-
+		[page:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
 		<h1>[name]</h1>
 
 		<p class="desc">A class for generating an octahedron geometry.</p>
@@ -40,7 +39,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -48,7 +47,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 71
docs/api/en/geometries/ParametricBufferGeometry.html

@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">Generate geometry representing a parametric surface.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#ParametricBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>
-		const geometry = new THREE.ParametricBufferGeometry( THREE.ParametricGeometries.klein, 25, 25 );
-		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
-		const klein = new THREE.Mesh( geometry, material );
-		scene.add( klein );
-		</code>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([param:Function func], [param:Integer slices], [param:Integer stacks])</h3>
-		<p>
-		func — A function that takes in a [page:Float u] and [page:Float v] value each between 0 and 1 and modifies a third [page:Vector3] argument<br />
-		slices — The count of slices to use for the parametric function <br />
-		stacks — The count of stacks to use for the parametric function
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 4
docs/api/en/geometries/ParametricGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -51,9 +51,8 @@
 		stacks — The count of stacks to use for the parametric function
 		</p>
 
-
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -61,7 +60,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 69
docs/api/en/geometries/PlaneBufferGeometry.html

@@ -1,69 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:PlaneGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#PlaneBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.PlaneBufferGeometry( 5, 20, 32 );
-		const material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
-		const plane = new THREE.Mesh( geometry, material );
-		scene.add( plane );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float width], [param:Float height], [param:Integer widthSegments], [param:Integer heightSegments])</h3>
-		<p>
-		width — Width along the X axis. Default is 1.<br />
-		height — Height along the Y axis. Default is 1.<br />
-		widthSegments — Optional. Default is 1. <br />
-		heightSegments — Optional. Default is 1.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

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

@@ -7,11 +7,11 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">A class for generating plane geometries</p>
+		<p class="desc">A class for generating plane geometries.</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#PlaneGeometry"></iframe>
 
@@ -50,7 +50,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -58,7 +58,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 68
docs/api/en/geometries/PolyhedronBufferGeometry.html

@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">
-			A polyhedron is a solid in three dimensions with flat faces. This class will take an array of vertices,
-			project them onto a sphere, and then divide them up to the desired level of detail. This class is used
-			by [page:DodecahedronBufferGeometry], [page:IcosahedronBufferGeometry], [page:OctahedronBufferGeometry],
-			and [page:TetrahedronBufferGeometry] to generate their respective geometries.
-		</p>
-
-		<h2>Code Example</h2>
-<code>
-const verticesOfCube = [
-    -1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,
-    -1,-1, 1,    1,-1, 1,    1, 1, 1,    -1, 1, 1,
-];
-
-const indicesOfFaces = [
-    2,1,0,    0,3,2,
-    0,4,7,    7,3,0,
-    0,1,5,    5,4,0,
-    1,2,6,    6,5,1,
-    2,3,7,    7,6,2,
-    4,5,6,    6,7,4
-];
-
-const geometry = new THREE.PolyhedronBufferGeometry( verticesOfCube, indicesOfFaces, 6, 2 );
-</code>
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([param:Array vertices], [param:Array indices], [param:Float radius], [param:Integer detail])</h3>
-		<p>
-		vertices — [page:Array] of points of the form [1,1,1, -1,-1,-1, ... ] <br />
-		indices — [page:Array] of indices that make up the faces of the form [0,1,2, 2,3,0, ... ] <br />
-		radius — [page:Float] - The radius of the final shape <br />
-		detail — [page:Integer] - How many levels to subdivide the geometry. The more detail, the smoother the shape.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 6 - 4
docs/api/en/geometries/PolyhedronGeometry.html

@@ -7,13 +7,15 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
 		<p class="desc">
 			A polyhedron is a solid in three dimensions with flat faces. This class will take an array of vertices,
-			project them onto a sphere, and then divide them up to the desired level of detail.
+			project them onto a sphere, and then divide them up to the desired level of detail. This class is used
+			by [page:DodecahedronGeometry], [page:IcosahedronGeometry], [page:OctahedronGeometry],
+			and [page:TetrahedronGeometry] to generate their respective geometries.
 		</p>
 
 		<h2>Code Example</h2>
@@ -47,7 +49,7 @@ const geometry = new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 6
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -55,7 +57,7 @@ const geometry = new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 6
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 72
docs/api/en/geometries/RingBufferGeometry.html

@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:RingGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#RingBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.RingBufferGeometry( 1, 5, 32 );
-		const material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
-		const mesh = new THREE.Mesh( geometry, material );
-		scene.add( mesh );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float innerRadius], [param:Float outerRadius], [param:Integer thetaSegments], [param:Integer phiSegments], [param:Float thetaStart], [param:Float thetaLength])</h3>
-		<p>
-		innerRadius — Default is 0.5. <br />
-		outerRadius — Default is 1. <br />
-		thetaSegments — Number of segments.  A higher number means the ring will be more round.  Minimum is 3.  Default is 8. <br />
-		phiSegments — Minimum is 1.  Default is 1.<br />
-		thetaStart — Starting angle. Default is 0. <br />
-		thetaLength — Central angle.  Default is Math.PI * 2.
-		</p>
-
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 5 - 4
docs/api/en/geometries/RingGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -46,13 +46,14 @@
 		innerRadius — Default is 0.5. <br />
 		outerRadius — Default is 1. <br />
 		thetaSegments — Number of segments.  A higher number means the ring will be more round.  Minimum is 3.  Default is 8. <br />
-		phiSegments — Minimum is 1.  Default is 8.<br />
+		phiSegments — Minimum is 1.  Default is 1.<br />
 		thetaStart — Starting angle. Default is 0. <br />
 		thetaLength — Central angle.  Default is Math.PI * 2.
 		</p>
 
+
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -60,7 +61,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 83
docs/api/en/geometries/ShapeBufferGeometry.html

@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">Creates an one-sided polygonal geometry from one or more path shapes.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#ShapeBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-
-		<h2>Code Example</h2>
-
-
-		<code>
-		const x = 0, y = 0;
-
-		const heartShape = new THREE.Shape();
-
-		heartShape.moveTo( x + 5, y + 5 );
-		heartShape.bezierCurveTo( x + 5, y + 5, x + 4, y, x, y );
-		heartShape.bezierCurveTo( x - 6, y, x - 6, y + 7,x - 6, y + 7 );
-		heartShape.bezierCurveTo( x - 6, y + 11, x - 3, y + 15.4, x + 5, y + 19 );
-		heartShape.bezierCurveTo( x + 12, y + 15.4, x + 16, y + 11, x + 16, y + 7 );
-		heartShape.bezierCurveTo( x + 16, y + 7, x + 16, y, x + 10, y );
-		heartShape.bezierCurveTo( x + 7, y, x + 5, y + 5, x + 5, y + 5 );
-
-		const geometry = new THREE.ShapeBufferGeometry( heartShape );
-		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
-		const mesh = new THREE.Mesh( geometry, material ) ;
-		scene.add( mesh );
-		</code>
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([param:Array shapes], [param:Integer curveSegments])</h3>
-		<p>
-		shapes — [page:Array] of shapes or a single [page:Shape shape].<br />
-		curveSegments - [page:Integer] - Number of segments per shape. Default is 12.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 3
docs/api/en/geometries/ShapeGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -64,7 +64,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -72,7 +72,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 77
docs/api/en/geometries/SphereBufferGeometry.html

@@ -1,77 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:SphereGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#SphereBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.SphereBufferGeometry( 5, 32, 32 );
-		const material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
-		const sphere = new THREE.Mesh( geometry, material );
-		scene.add( sphere );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Integer widthSegments], [param:Integer heightSegments], [param:Float phiStart], [param:Float phiLength], [param:Float thetaStart], [param:Float thetaLength])</h3>
-
-		<p>
-		radius — sphere radius. Default is 1.<br />
-		widthSegments — number of horizontal segments. Minimum value is 3, and the default is 8.<br />
-		heightSegments — number of vertical segments. Minimum value is 2, and the default is 6.<br />
-		phiStart — specify horizontal starting angle. Default is 0.<br />
-		phiLength — specify horizontal sweep angle size. Default is Math.PI * 2.<br />
-		thetaStart — specify vertical starting angle. Default is 0.<br />
-		thetaLength — specify vertical sweep angle size. Default is Math.PI.<br />
-		</p>
-
-		<p>
-		The geometry is created by sweeping and calculating vertexes around the Y axis (horizontal sweep) and the Z axis (vertical sweep). Thus, incomplete spheres (akin to <em>'sphere slices'</em>) can be created through the use of different values of phiStart, phiLength, thetaStart and thetaLength, in order to define the points in which we start (or end) calculating those vertices.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 4 - 4
docs/api/en/geometries/SphereGeometry.html

@@ -7,11 +7,11 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">A class for generating sphere geometries</p>
+		<p class="desc">A class for generating sphere geometries.</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#SphereGeometry"></iframe>
 
@@ -58,7 +58,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -66,7 +66,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 59
docs/api/en/geometries/TetrahedronBufferGeometry.html

@@ -1,59 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr; [page:PolyhedronBufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">A class for generating a tetrahedron geometries.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#TetrahedronBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Integer detail])</h3>
-		<p>
-		radius — Radius of the tetrahedron. Default is 1.<br />
-		detail — Default is 0. Setting this to a value greater than 0 adds vertices making it no longer a tetrahedron.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:PolyhedronBufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 3
docs/api/en/geometries/TetrahedronGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:PolyhedronGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -40,7 +40,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -48,7 +48,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:PolyhedronGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 176
docs/api/en/geometries/TextBufferGeometry.html

@@ -1,176 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr; [page:ExtrudeBufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">
-			A class for generating text as a single geometry. It is constructed by providing a string of text, and a hash of
-			parameters consisting of a loaded [page:Font] and settings for the geometry's parent [page:ExtrudeBufferGeometry].
-			See the [page:Font], [page:FontLoader] and [page:Creating_Text] pages for additional details.
-		</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#TextBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>
-		const loader = new THREE.FontLoader();
-
-		loader.load( 'fonts/helvetiker_regular.typeface.json', function ( font ) {
-
-			const geometry = new THREE.TextBufferGeometry( 'Hello three.js!', {
-				font: font,
-				size: 80,
-				height: 5,
-				curveSegments: 12,
-				bevelEnabled: true,
-				bevelThickness: 10,
-				bevelSize: 8,
-				bevelOffset: 0,
-				bevelSegments: 5
-			} );
-		} );
-		</code>
-
-		<h2>Examples</h2>
-
-		<p>
-		[example:webgl_geometry_text geometry / text ]
-		</p>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:String text], [param:Object parameters])</h3>
-		<p>
-		text — The text that needs to be shown. <br />
-		parameters — Object that can contains the following parameters.
-		<ul>
-			<li>font — an instance of THREE.Font.</li>
-			<li>size — Float. Size of the text. Default is 100.</li>
-			<li>height — Float. Thickness to extrude text.  Default is 50.</li>
-			<li>curveSegments — Integer. Number of points on the curves. Default is 12.</li>
-			<li>bevelEnabled — Boolean. Turn on bevel. Default is False.</li>
-			<li>bevelThickness — Float. How deep into text bevel goes. Default is 10.</li>
-			<li>bevelSize — Float. How far from text outline is bevel. Default is 8.</li>
-			<li>bevelOffset — Float. How far from text outline bevel starts. Default is 0.</li>
-			<li>bevelSegments — Integer. Number of bevel segments. Default is 3.</li>
-		</ul>
-		</p>
-
-		<h2>Available Fonts</h2>
-
-		<p>
-		TextGeometry uses <a href='http://gero3.github.io/facetype.js/' target="_top">typeface.json</a> generated fonts.
-		Some existing fonts can be found located in <b>/examples/fonts</b> and must be included in the page.
-		</p>
-		<table>
-			<tr>
-				<th>Font</th>
-				<th>Weight</th>
-				<th>Style</th>
-				<th>File Path</th>
-			</tr>
-			<tr>
-				<td>helvetiker</td>
-				<td>normal</td>
-				<td>normal</td>
-				<td>/examples/fonts/helvetiker_regular.typeface.json</td>
-			</tr>
-			<tr>
-				<td>helvetiker</td>
-				<td>bold</td>
-				<td>normal</td>
-				<td>/examples/fonts/helvetiker_bold.typeface.json</td>
-			</tr>
-			<tr>
-				<td>optimer</td>
-				<td>normal</td>
-				<td>normal</td>
-				<td>/examples/fonts/optimer_regular.typeface.json</td>
-			</tr>
-			<tr>
-				<td>optimer</td>
-				<td>bold</td>
-				<td>normal</td>
-				<td>/examples/fonts/optimer_bold.typeface.json</td>
-			</tr>
-			<tr>
-				<td>gentilis</td>
-				<td>normal</td>
-				<td>normal</td>
-				<td>/examples/fonts/gentilis_regular.typeface.json</td>
-			</tr>
-			<tr>
-				<td>gentilis</td>
-				<td>bold</td>
-				<td>normal</td>
-				<td>/examples/fonts/gentilis_bold.typeface.json</td>
-			</tr>
-			<tr>
-				<td>droid sans</td>
-				<td>normal</td>
-				<td>normal</td>
-				<td>/examples/fonts/droid/droid_sans_regular.typeface.json</td>
-			</tr>
-			<tr>
-				<td>droid sans</td>
-				<td>bold</td>
-				<td>normal</td>
-				<td>/examples/fonts/droid/droid_sans_bold.typeface.json</td>
-			</tr>
-			<tr>
-				<td>droid serif</td>
-				<td>normal</td>
-				<td>normal</td>
-				<td>/examples/fonts/droid/droid_serif_regular.typeface.json</td>
-			</tr>
-			<tr>
-				<td>droid serif</td>
-				<td>bold</td>
-				<td>normal</td>
-				<td>/examples/fonts/droid/droid_serif_bold.typeface.json</td>
-			</tr>
-		</table>
-
-		<h2>Properties</h2>
-		<p>See the base [page:ExtrudeBufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:ExtrudeBufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 2 - 2
docs/api/en/geometries/TextGeometry.html

@@ -7,14 +7,14 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr; [page:ExtrudeGeometry] &rarr;
+		[page:BufferGeometry] &rarr; [page:ExtrudeGeometry] &rarr;
 
 		<h1>[name]</h1>
 
 		<p class="desc">
 			A class for generating text as a single geometry. It is constructed by providing a string of text, and a hash of
 			parameters consisting of a loaded [page:Font] and settings for the geometry's parent [page:ExtrudeGeometry].
-			See the [page:Font], [page:FontLoader] and [page:Creating-Text] pages for additional details.
+			See the [page:Font], [page:FontLoader] and [page:Creating_Text] pages for additional details.
 		</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#TextGeometry"></iframe>

+ 0 - 70
docs/api/en/geometries/TorusBufferGeometry.html

@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:TorusGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#TorusBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.TorusBufferGeometry( 10, 3, 16, 100 );
-		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
-		const torus = new THREE.Mesh( geometry, material );
-		scene.add( torus );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Float tube], [param:Integer radialSegments], [param:Integer tubularSegments], [param:Float arc])</h3>
-		<p>
-		radius - Radius of the torus, from the center of the torus to the center of the tube. Default is 1. <br />
-		tube — Radius of the tube.  Default is 0.4. <br />
-		radialSegments — Default is 8 <br />
-		tubularSegments — Default is 6. <br />
-		arc — Central angle.  Default is Math.PI * 2.
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 4 - 4
docs/api/en/geometries/TorusGeometry.html

@@ -7,11 +7,11 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">A class for generating torus geometries</p>
+		<p class="desc">A class for generating torus geometries.</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#TorusGeometry"></iframe>
 
@@ -51,7 +51,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -59,7 +59,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 73
docs/api/en/geometries/TorusKnotBufferGeometry.html

@@ -1,73 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">This is the [page:BufferGeometry] port of [page:TorusKnotGeometry].</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#TorusKnotBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>const geometry = new THREE.TorusKnotBufferGeometry( 10, 3, 100, 16 );
-		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
-		const torusKnot = new THREE.Mesh( geometry, material );
-		scene.add( torusKnot );
-		</code>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]([param:Float radius], [param:Float tube], [param:Integer tubularSegments], [param:Integer radialSegments], [param:Integer p], [param:Integer q])</h3>
-		<p>
-			<ul>
-				<li>radius - Radius of the torus. Default is 1.</li>
-				<li>tube — Radius of the tube. Default is 0.4.</li>
-				<li>tubularSegments — Default is 64.</li>
-				<li>radialSegments — Default is 8.</li>
-				<li>p — This value determines, how many times the geometry winds around its axis of rotational symmetry. Default is 2.</li>
-				<li>q — This value determines, how many times the geometry winds around a circle in the interior of the torus. Default is 3.</li>
-			</ul>
-		</p>
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 4 - 5
docs/api/en/geometries/TorusKnotGeometry.html

@@ -7,11 +7,11 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<p class="desc">Creates a torus knot, the particular shape of which is defined by a pair of coprime integers, p and q.  If p and q are not coprime, the result will be a torus link.</p>
+		<p class="desc">Creates a torus knot, the particular shape of which is defined by a pair of coprime integers, p and q. If p and q are not coprime, the result will be a torus link.</p>
 
 		<iframe id="scene" src="scenes/geometry-browser.html#TorusKnotGeometry"></iframe>
 
@@ -54,7 +54,7 @@
 		</p>
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -62,8 +62,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
-
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 0 - 111
docs/api/en/geometries/TubeBufferGeometry.html

@@ -1,111 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		[page:BufferGeometry] &rarr;
-
-		<h1>[name]</h1>
-
-		<p class="desc">Creates a tube that extrudes along a 3d curve.</p>
-
-		<iframe id="scene" src="scenes/geometry-browser.html#TubeBufferGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			const scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script>
-
-		<h2>Code Example</h2>
-
-		<code>
-		class CustomSinCurve extends THREE.Curve {
-
-			constructor( scale = 1 ) {
-
-				super();
-
-				this.scale = scale;
-
-			}
-
-			getPoint( t, optionalTarget = new THREE.Vector3() ) {
-
-				const tx = t * 3 - 1.5;
-				const ty = Math.sin( 2 * Math.PI * t );
-				const tz = 0;
-
-				return optionalTarget.set( tx, ty, tz ).multiplyScalar( this.scale );
-
-			}
-
-		}
-
-		const path = new CustomSinCurve( 10 );
-		const geometry = new THREE.TubeBufferGeometry( path, 20, 2, 8, false );
-		const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
-		const mesh = new THREE.Mesh( geometry, material );
-		scene.add( mesh );
-		</code>
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([param:Curve path], [param:Integer tubularSegments], [param:Float radius], [param:Integer radialSegments], [param:Boolean closed])</h3>
-		<p>
-		path — [page:Curve] - A 3D path that inherits from the [page:Curve] base class<br />
-		tubularSegments — [page:Integer] - The number of segments that make up the tube, default is 64<br />
-		radius — [page:Float] - The radius of the tube, default is 1<br />
-		radialSegments — [page:Integer] - The number of segments that make up the cross-section, default is 8 <br />
-		closed — [page:Boolean] Is the tube open or closed, default is false <br />
-		</p>
-
-
-		<h2>Properties</h2>
-		<p>See the base [page:BufferGeometry] class for common properties.</p>
-
-		<h3>[property:Object parameters]</h3>
-		<p>
-		An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.
-		</p>
-
-		<h3>[property:Array tangents]</h3>
-		<p>
-		An array of [page:Vector3] tangents
-		</p>
-
-		<h3>[property:Array normals]</h3>
-		<p>
-		An array of [page:Vector3] normals
-		</p>
-
-		<h3>[property:Array binormals]</h3>
-		<p>
-		An array of [page:Vector3] binormals
-		</p>
-
-		<h2>Methods</h2>
-		<p>See the base [page:BufferGeometry] class for common methods.</p>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 3 - 3
docs/api/en/geometries/TubeGeometry.html

@@ -7,7 +7,7 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Geometry] &rarr;
+		[page:BufferGeometry] &rarr;
 
 		<h1>[name]</h1>
 
@@ -77,7 +77,7 @@
 
 
 		<h2>Properties</h2>
-		<p>See the base [page:Geometry] class for common properties.</p>
+		<p>See the base [page:BufferGeometry] class for common properties.</p>
 
 		<h3>[property:Object parameters]</h3>
 		<p>
@@ -100,7 +100,7 @@
 		</p>
 
 		<h2>Methods</h2>
-		<p>See the base [page:Geometry] class for common methods.</p>
+		<p>See the base [page:BufferGeometry] class for common methods.</p>
 
 		<h2>Source</h2>
 

+ 3 - 3
docs/api/en/geometries/WireframeGeometry.html

@@ -11,12 +11,12 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">This can be used as a helper object to view a [page:Geometry Geometry] object as a wireframe.</p>
+		<p class="desc">This can be used as a helper object to view a [page:BufferGeometry geometry] as a wireframe.</p>
 
 		<h2>Code Example</h2>
 
 		<code>
-		const geometry = new THREE.SphereBufferGeometry( 100, 100, 100 );
+		const geometry = new THREE.SphereGeometry( 100, 100, 100 );
 
 		const wireframe = new THREE.WireframeGeometry( geometry );
 
@@ -36,7 +36,7 @@
 
 		<h2>Constructor</h2>
 
-		<h3>[name]( [param:Geometry geometry] )</h3>
+		<h3>[name]( [param:BufferGeometry geometry] )</h3>
 		<p>
 		geometry — any geometry object.
 		</p>

+ 2 - 2
docs/api/en/helpers/BoxHelper.html

@@ -14,14 +14,14 @@
 		<p class="desc">
 			Helper object to graphically show the world-axis-aligned bounding box around an object. The actual bounding box is handled with [page:Box3], this is just a visual helper for debugging.
 			It can be automatically resized with the [page:BoxHelper.update] method when the object it's created from is transformed.
-			Note that the object must have a [page:Geometry] or [page:BufferGeometry] for this to work,
+			Note that the object must have a [page:BufferGeometry] for this to work,
 			so it won't work with [page:Sprite Sprites].
 		</p>
 
 		<h2>Code Example</h2>
 
 		<code>
-		const sphere = new THREE.SphereBufferGeometry();
+		const sphere = new THREE.SphereGeometry();
 		const object = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( 0xff0000 ) );
 		const box = new THREE.BoxHelper( object, 0xffff00 );
 		scene.add( box );

+ 2 - 2
docs/api/en/lights/shadows/DirectionalLightShadow.html

@@ -40,7 +40,7 @@
 		light.shadow.camera.far = 500; // default
 
 		//Create a sphere that cast shadows (but does not receive them)
-		const sphereGeometry = new THREE.SphereBufferGeometry( 5, 32, 32 );
+		const sphereGeometry = new THREE.SphereGeometry( 5, 32, 32 );
 		const sphereMaterial = new THREE.MeshStandardMaterial( { color: 0xff0000 } );
 		const sphere = new THREE.Mesh( sphereGeometry, sphereMaterial );
 		sphere.castShadow = true; //default is false
@@ -48,7 +48,7 @@
 		scene.add( sphere );
 
 		//Create a plane that receives shadows (but does not cast them)
-		const planeGeometry = new THREE.PlaneBufferGeometry( 20, 20, 32, 32 );
+		const planeGeometry = new THREE.PlaneGeometry( 20, 20, 32, 32 );
 		const planeMaterial = new THREE.MeshStandardMaterial( { color: 0x00ff00 } )
 		const plane = new THREE.Mesh( planeGeometry, planeMaterial );
 		plane.receiveShadow = true;

+ 2 - 2
docs/api/en/lights/shadows/PointLightShadow.html

@@ -35,7 +35,7 @@
 		light.shadow.camera.far = 500; // default
 
 		//Create a sphere that cast shadows (but does not receive them)
-		const sphereGeometry = new THREE.SphereBufferGeometry( 5, 32, 32 );
+		const sphereGeometry = new THREE.SphereGeometry( 5, 32, 32 );
 		const sphereMaterial = new THREE.MeshStandardMaterial( { color: 0xff0000 } );
 		const sphere = new THREE.Mesh( sphereGeometry, sphereMaterial );
 		sphere.castShadow = true; //default is false
@@ -43,7 +43,7 @@
 		scene.add( sphere );
 
 		//Create a plane that receives shadows (but does not cast them)
-		const planeGeometry = new THREE.PlaneBufferGeometry( 20, 20, 32, 32 );
+		const planeGeometry = new THREE.PlaneGeometry( 20, 20, 32, 32 );
 		const planeMaterial = new THREE.MeshStandardMaterial( { color: 0x00ff00 } )
 		const plane = new THREE.Mesh( planeGeometry, planeMaterial );
 		plane.receiveShadow = true;

+ 2 - 2
docs/api/en/lights/shadows/SpotLightShadow.html

@@ -35,7 +35,7 @@
 		light.shadow.focus = 1; // default
 
 		//Create a sphere that cast shadows (but does not receive them)
-		const sphereGeometry = new THREE.SphereBufferGeometry( 5, 32, 32 );
+		const sphereGeometry = new THREE.SphereGeometry( 5, 32, 32 );
 		const sphereMaterial = new THREE.MeshStandardMaterial( { color: 0xff0000 } );
 		const sphere = new THREE.Mesh( sphereGeometry, sphereMaterial );
 		sphere.castShadow = true; //default is false
@@ -43,7 +43,7 @@
 		scene.add( sphere );
 
 		//Create a plane that receives shadows (but does not cast them)
-		const planeGeometry = new THREE.PlaneBufferGeometry( 20, 20, 32, 32 );
+		const planeGeometry = new THREE.PlaneGeometry( 20, 20, 32, 32 );
 		const planeMaterial = new THREE.MeshStandardMaterial( { color: 0x00ff00 } )
 		const plane = new THREE.Mesh( planeGeometry, planeMaterial );
 		plane.receiveShadow = true;

+ 7 - 61
docs/api/en/loaders/ObjectLoader.html

@@ -91,43 +91,42 @@
 		[page:Function onLoad] — Will be called when parsed completes. The argument will be the parsed [page:Object3D object].<br /><br />
 
 		Parse a <em>JSON</em> structure and return a threejs object.
-		This is used internally by [page:.load], but can also be used directly to parse
-		a previously loaded JSON structure.
+		This is used internally by [page:.load]() but can also be used directly to parse a previously loaded JSON structure.
 		</p>
 
 		<h3>[method:Object3D parseGeometries]( [param:Object json] )</h3>
 		<p>
 		[page:Object json] — required. The JSON source to parse.<br /><br />
 
-		This is used [page:.parse] to parse any [page:Geometry geometries] or [page:BufferGeometry buffer geometries]  in the JSON structure.
+		This is used by [page:.parse]() to parse any [page:BufferGeometry geometries] in the JSON structure.
 		</p>
 
 		<h3>[method:Object3D parseMaterials]( [param:Object json] )</h3>
 		<p>
 		[page:Object json] — required. The JSON source to parse.<br /><br />
 
-		This is used [page:.parse] to parse any materials in the JSON structure using [page:MaterialLoader].
+		This is used by [page:.parse]() to parse any materials in the JSON structure using [page:MaterialLoader].
 		</p>
 
 		<h3>[method:Object3D parseAnimations]( [param:Object json] )</h3>
 		<p>
 		[page:Object json] — required. The JSON source to parse.<br /><br />
 
-		This is used [page:.parse] to parse any animations in the JSON structure, using [page:AnimationClip.parse].
+		This is used by [page:.parse]() to parse any animations in the JSON structure, using [page:AnimationClip.parse]().
 		</p>
 
 		<h3>[method:Object3D parseImages]( [param:Object json] )</h3>
 		<p>
 		[page:Object json] — required. The JSON source to parse.<br /><br />
 
-		This is used [page:.parse] to parse any images in the JSON structure, using [page:ImageLoader].
+		This is used by [page:.parse]() to parse any images in the JSON structure, using [page:ImageLoader].
 		</p>
 
 		<h3>[method:Object3D parseTextures]( [param:Object json] )</h3>
 		<p>
 		[page:Object json] — required. The JSON source to parse.<br /><br />
 
-		This is used [page:.parse] to parse any textures in the JSON structure.
+		This is used by [page:.parse]() to parse any textures in the JSON structure.
 		</p>
 
 		<h3>[method:Object3D parseObject]( [param:Object json], [param:BufferGeometry geometries], [param:Material materials], [param:AnimationClip animations] )</h3>
@@ -137,60 +136,7 @@
 		[page:Material materials] — required. The materials of the JSON.<br />
 		[page:AnimationClip animations] — required. The animations of the JSON.<br /><br />
 
-		This is used [page:.parse] to parse any objects in the JSON structure.
-		Objects can be of the following types:
-
-		<ul>
-			<li>
-				[page:Scene]
-			</li>
-			<li>
-				[page:PerspectiveCamera]
-			</li>
-			<li>
-				[page:OrthographicCamera]
-			</li>
-			<li>
-				[page:AmbientLight]
-			</li>
-			<li>
-				[page:DirectionalLight]
-			</li>
-			<li>
-				[page:PointLight]
-			</li>
-			<li>
-				[page:SpotLight]
-			</li>
-			<li>
-				[page:HemisphereLight]
-			</li>
-			<li>
-				[page:Mesh]
-			</li>
-			<li>
-				[page:LOD]
-			</li>
-			<li>
-				[page:Line]
-			</li>
-			<li>
-				[page:LineSegments]
-			</li>
-			<li>
-				[page:Points]
-			</li>
-			<li>
-				[page:Sprite]
-			</li>
-			<li>
-				[page:Group]
-			</li>
-			<li>
-				[page:Object3D]
-			</li>
-
-		</ul>
+		This is used by [page:.parse]() to parse any 3D objects in the JSON structure.
 		</p>
 
 		<h2>Source</h2>

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

@@ -122,7 +122,7 @@
 		<h3>[property:Boolean morphNormals]</h3>
 		<p>
 			Defines whether the material uses morphNormals. Set as true to pass morphNormal
-			attributes from the [page:Geometry]	to the shader. Default is *false*.
+			attributes from the geometry to the shader. Default is *false*.
 		</p>
 
 		<h3>[property:Boolean morphTargets]</h3>

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

@@ -104,7 +104,7 @@
 		<h3>[property:Boolean morphNormals]</h3>
 		<p>
 			Defines whether the material uses morphNormals. Set as true to pass morphNormal
-			attributes from the [page:Geometry]	to the shader. Default is *false*.
+			attributes from the geometry to the shader. Default is *false*.
 		</p>
 
 		<h3>[property:Boolean morphTargets]</h3>

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

@@ -81,7 +81,7 @@
 		<h3>[property:Boolean morphNormals]</h3>
 		<p>
 			Defines whether the material uses morphNormals. Set as true to pass morphNormal
-			attributes from the [page:Geometry]	to the shader. Default is *false*.
+			attributes from the geometry to the shader. Default is *false*.
 		</p>
 
 		<h3>[property:Boolean morphTargets]</h3>

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

@@ -154,7 +154,7 @@
 		<h3>[property:Boolean morphNormals]</h3>
 		<p>
 			Defines whether the material uses morphNormals. Set as true to pass morphNormal
-			attributes from the [page:Geometry]	to the shader. Default is *false*.
+			attributes from the geometry to the shader. Default is *false*.
 		</p>
 
 		<h3>[property:Boolean morphTargets]</h3>

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

@@ -195,7 +195,7 @@
 		<h3>[property:Boolean morphNormals]</h3>
 		<p>
 			Defines whether the material uses morphNormals. Set as true to pass morphNormal
-			attributes from the [page:Geometry]	to the shader. Default is *false*.
+			attributes from the geometry to the shader. Default is *false*.
 		</p>
 
 		<h3>[property:Boolean morphTargets]</h3>

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

@@ -136,7 +136,7 @@
 		<h3>[property:Boolean morphNormals]</h3>
 		<p>
 			Defines whether the material uses morphNormals. Set as true to pass morphNormal
-			attributes from the [page:Geometry]	to the shader. Default is *false*.
+			attributes from the geometry to the shader. Default is *false*.
 		</p>
 
 		<h3>[property:Boolean morphTargets]</h3>

+ 2 - 3
docs/api/en/materials/ShaderMaterial.html

@@ -17,7 +17,7 @@
 			You may want to use a custom shader if you need to:
 		<ul>
 			<li>implement an effect not included with any of the built-in [page:Material materials]</li>
-			<li>combine many objects into a single [page:Geometry] or [page:BufferGeometry] in order to improve performance</li>
+			<li>combine many objects into a single [page:BufferGeometry] in order to improve performance</li>
 		</ul>
 		There are the following notes to bear in mind when using a *ShaderMaterial*:
 
@@ -30,8 +30,7 @@
 			</li>
 			<li>
 				As of THREE r72, directly assigning attributes in a ShaderMaterial is no longer supported.
-				A [page:BufferGeometry] instance (instead of a [page:Geometry] instance) must be used instead,
-				using [page:BufferAttribute] instances to define custom attributes.
+				A [page:BufferGeometry] instance  must be used instead, using [page:BufferAttribute] instances to define custom attributes.
 			</li>
 			<li>
 				As of THREE r77, [page:WebGLRenderTarget] or [page:WebGLCubeRenderTarget] instances

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

@@ -18,7 +18,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		const geometry = new THREE.PlaneBufferGeometry( 2000, 2000 );
+		const geometry = new THREE.PlaneGeometry( 2000, 2000 );
 		geometry.rotateX( - Math.PI / 2 );
 
 		const material = new THREE.ShadowMaterial();

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

@@ -19,7 +19,7 @@
 		const box = new THREE.Box3();
 
 		const mesh = new THREE.Mesh(
-			new THREE.SphereBufferGeometry(),
+			new THREE.SphereGeometry(),
 			new THREE.MeshBasicMaterial()
 		);
 

+ 11 - 0
docs/api/en/math/Color.html

@@ -218,6 +218,17 @@ const color7 = new THREE.Color( 1, 0, 0 );
 		this color and 1.0 is the first argument.
 		</p>
 
+		<h3>[method:this lerpColors]( [param:Color color1], [param:Color color2], [param:Float alpha] )</h3>
+		<p>
+		[page:Color color1] - the starting [page:Color].<br />
+		[page:Color color2] - [page:Color] to interpolate towards.<br />
+		[page:Float alpha] - interpolation factor, typically in the closed interval [0, 1].<br /><br />
+
+		Sets this color to be the color linearly interpolated between [page:Color color1] and
+		[page:Color color2] where alpha is the percent distance along the line connecting the two colors
+		- alpha = 0 will be [page:Color color1], and alpha = 1 will be [page:Color color2].
+		</p>
+
 		<h3>[method:Color lerpHSL]( [param:Color color], [param:Float alpha] ) </h3>
 		<p>
 		[page:Color color] - color to converge on.<br />

+ 2 - 3
docs/api/en/math/Frustum.html

@@ -70,10 +70,9 @@
 
 		<h3>[method:Boolean intersectsObject]( [param:Object3D object] )</h3>
 		<p>
-			Checks whether the [page:Object3D object]'s [page:Geometry.boundingSphere bounding sphere] is intersecting the Frustum.<br /><br />
+			Checks whether the [page:Object3D object]'s [page:BufferGeometry.boundingSphere bounding sphere] is intersecting the Frustum.<br /><br />
 
-			Note that the object must have a [page:Geometry] or [page:BufferGeometry] so that the bounding sphere
-			can be calculated.
+			Note that the object must have a [page:BufferGeometry geometry] so that the bounding sphere can be calculated.
 		</p>
 
 		<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>

+ 18 - 0
docs/api/en/math/MathUtils.html

@@ -53,6 +53,17 @@
 		and [page:Float t] = 1 will return [page:Float y].
 		</p>
 
+		<h3>[method:Float damp]( [param:Float x], [param:Float y], [param:Float lambda], [param:Float dt] )</h3>
+		<p>
+		[page:Float x] - Current point. <br />
+		[page:Float y] - Target point. <br />
+		[page:Float lambda] - A higher lambda value will make the movement more sudden, and a lower value will make the movement more gradual. <br />
+		[page:Float dt] - Delta time in seconds.<br><br />
+
+		Smoothly interpolate a number from [page:Float x] toward [page:Float y] in a spring-like manner using the [page:Float dt] to maintain frame rate independent movement.
+		For details, see [link:http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/ Frame rate independent damping using lerp].
+		</p>
+
 		<h3>[method:Float mapLinear]( [param:Float x], [param:Float a1], [param:Float a2], [param:Float b1], [param:Float b2] )</h3>
 		<p>
 		[page:Float x] — Value to be mapped.<br />
@@ -64,6 +75,13 @@
 		Linear mapping of [page:Float x] from range [[page:Float a1], [page:Float a2]] to range [[page:Float b1], [page:Float b2]].
 		</p>
 
+		<h3>[method:Float pingpong]( [param:Float x], [param:Float length] )</h3>
+		<p>
+		[page:Float x] — The value to pingpong.<br />
+		[page:Float length] — The positive value the function will pingpong to. Default is 1.<br /><br />
+
+		Returns a value that alternates between 0 and [param:Float length].</p>
+
 		<h3>[method:Integer ceilPowerOfTwo]( [param:Number n] )</h3>
 		<p>Returns the smallest power of 2 that is greater than or equal to [page:Number n].</p>
 

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

@@ -159,7 +159,7 @@ zAxis = (c, f, i)
 		<p>Pre-multiplies this matrix by [page:Matrix3 m].</p>
 
 		<h3>[method:this setFromMatrix4]( [param:Matrix4 m] )</h3>
-		<p>Set this matrx to the upper 3x3 matrix of the Matrix4 [page:Matrix4 m].</p>
+		<p>Set this matrix to the upper 3x3 matrix of the Matrix4 [page:Matrix4 m].</p>
 
 		<h3>[method:this setUvTransform]( [param:Float tx], [param:Float ty], [param:Float sx], [param:Float sy], [param:Float rotation], [param:Float cx], [param:Float cy] )</h3>
 		<p>

+ 5 - 2
docs/api/en/math/Matrix4.html

@@ -138,8 +138,8 @@ m.elements = [ 11, 21, 31, 41,
 
 		<h3>[method:null decompose]( [param:Vector3 position], [param:Quaternion quaternion], [param:Vector3 scale] )</h3>
 		<p>
-		Decomposes this matrix into it's [page:Vector3 position], [page:Quaternion quaternion] and [page:Vector3 scale] components.
-		The method can't be used to decompose an object's world matrix if its parent has a non-uniform scale.
+		Decomposes this matrix into it's [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.
 		</p>
 
 		<h3>[method:Float determinant]()</h3>
@@ -368,6 +368,9 @@ x, y, 1, 0,
 			[page:Float n12], ... [page:Float n44].
 		</p>
 
+		<h3>[method:this setFromMatrix3]( [param:Matrix3 m] )</h3>
+		<p>Set the upper 3x3 elements of this matrix to the values of the Matrix3 [page:Matrix3 m].</p>
+
 		<h3>[method:this setPosition]( [param:Vector3 v] )</h3>
 		<h3>[method:this setPosition]( [param:Float x], [param:Float y], [param:Float z] ) // optional API</h3>
 		<p>

+ 2 - 3
docs/api/en/math/Vector3.html

@@ -138,9 +138,8 @@
 		[page:Float min] - the minimum value the length will be clamped to <br />
 		[page:Float max] - the maximum value the length will be clamped to<br /><br />
 
-		If this vector's length is greater than the max value, it is replaced by the max value. <br /><br />
-		If this vector's length is less than the min value, it is replaced by the min value.
-		</p>
+		If this vector's length is greater than the max value, the vector will be scaled down so its length is the max value. <br /><br />
+		If this vector's length is less than the min value, the vector will be scaled up so its length is the min value.</p>
 
 		<h3>[method:this clampScalar]( [param:Float min], [param:Float max] )</h3>
 		<p>

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

@@ -241,6 +241,9 @@
 		that value with the corresponding min value.
 		</p>
 
+		<h3>[method:this multiply]( [param:Vector4 v] )</h3>
+		<p>Multiplies this vector by [page:Vector4 v].</p>
+
 		<h3>[method:this multiplyScalar]( [param:Float s] )</h3>
 		<p>Multiplies this vector by scalar [page:Float s].</p>
 

+ 1 - 1
docs/api/en/objects/Group.html

@@ -19,7 +19,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		const geometry = new THREE.BoxBufferGeometry( 1, 1, 1 );
+		const geometry = new THREE.BoxGeometry( 1, 1, 1 );
 		const material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
 
 		const cubeA = new THREE.Mesh( geometry, material );

+ 1 - 1
docs/api/en/objects/InstancedMesh.html

@@ -33,7 +33,7 @@
 		<h2>Constructor</h2>
 		<h3>[name]( [param:BufferGeometry geometry], [param:Material material], [param:Integer count] )</h3>
 		<p>
-		[page:Geometry geometry] - an instance of [page:BufferGeometry].<br />
+		[page:BufferGeometry geometry] - an instance of [page:BufferGeometry].<br />
 		[page:Material material] - an instance of [page:Material]. Default is a new [page:MeshBasicMaterial].<br />
 		[page:Integer count] - the number of instances.<br />
 		</p>

+ 1 - 1
docs/api/en/objects/LOD.html

@@ -27,7 +27,7 @@
 		//Create spheres with 3 levels of detail and create new LOD levels for them
 		for( let i = 0; i < 3; i++ ) {
 
-			const geometry = new THREE.IcosahedronBufferGeometry( 10, 3 - i )
+			const geometry = new THREE.IcosahedronGeometry( 10, 3 - i )
 
 			const mesh = new THREE.Mesh( geometry, material );
 

+ 3 - 3
docs/api/en/objects/Line.html

@@ -42,10 +42,10 @@
 
 		<h2>Constructor</h2>
 
-		<h3>[name]( [param:Geometry geometry], [param:Material material] )</h3>
+		<h3>[name]( [param:BufferGeometry geometry], [param:Material material] )</h3>
 
 		<p>
-		[page:Geometry geometry] — vertices representing the line segment(s). Default is a new [page:BufferGeometry].<br />
+		[page:BufferGeometry geometry] — vertices representing the line segment(s). Default is a new [page:BufferGeometry].<br />
 		[page:Material material] — material for the line. Default is a new [page:LineBasicMaterial].<br />
 		</p>
 
@@ -53,7 +53,7 @@
 		<p>See the base [page:Object3D] class for common properties.</p>
 
 
-		<h3>[property:Geometry geometry]</h3>
+		<h3>[property:BufferGeometry geometry]</h3>
 		<p>Vertices representing the line segment(s).</p>
 
 		<h3>[property:Material material]</h3>

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

@@ -23,10 +23,10 @@
 
 		<h2>Constructor</h2>
 
-		<h3>[name]( [param:Geometry geometry], [param:Material material] )</h3>
+		<h3>[name]( [param:BufferGeometry geometry], [param:Material material] )</h3>
 
 		<p>
-		[page:Geometry geometry] — List of vertices representing points on the line loop.<br />
+		[page:BufferGeometry geometry] — List of vertices representing points on the line loop.<br />
 		[page:Material material] — Material for the line. Default is [page:LineBasicMaterial LineBasicMaterial].
 		</p>
 

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

@@ -22,10 +22,10 @@
 
 		<h2>Constructor</h2>
 
-		<h3>[name]( [param:Geometry geometry], [param:Material material] )</h3>
+		<h3>[name]( [param:BufferGeometry geometry], [param:Material material] )</h3>
 
 		<p>
-		[page:Geometry geometry] — Pair(s) of vertices representing each line segment(s).<br />
+		[page:BufferGeometry geometry] — Pair(s) of vertices representing each line segment(s).<br />
 		[page:Material material] — Material for the line. Default is [page:LineBasicMaterial LineBasicMaterial].
 		</p>
 

+ 5 - 9
docs/api/en/objects/Mesh.html

@@ -19,7 +19,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		const geometry = new THREE.BoxBufferGeometry( 1, 1, 1 );
+		const geometry = new THREE.BoxGeometry( 1, 1, 1 );
 		const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
 		const mesh = new THREE.Mesh( geometry, material );
 		scene.add( mesh );
@@ -27,10 +27,9 @@
 
 		<h2>Constructor</h2>
 
-		<h3>[name]( [param:Geometry geometry], [param:Material material] )</h3>
+		<h3>[name]( [param:BufferGeometry geometry], [param:Material material] )</h3>
 		<p>
-		[page:Geometry geometry] — (optional) an instance of [page:Geometry] or [page:BufferGeometry].
-		  Default is a new [page:BufferGeometry].<br />
+		[page:BufferGeometry geometry] — (optional) an instance of [page:BufferGeometry]. Default is a new [page:BufferGeometry].<br />
 		[page:Material material] — (optional) a single or an array of [page:Material]. Default is a new [page:MeshBasicMaterial]
 		</p>
 
@@ -38,12 +37,9 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Object3D] class for common properties.</p>
 
-		<h3>[property:Geometry geometry]</h3>
+		<h3>[property:BufferGeometry geometry]</h3>
 		<p>
-			An instance of [page:Geometry] or [page:BufferGeometry] (or derived classes),
-			defining the object's structure.<br /><br />
-
-			It's recommended to always use a [page:BufferGeometry] if possible for best performance.
+			An instance of [page:BufferGeometry] (or derived classes), defining the object's structure.
 		</p>
 
 		<h3>[property:Material material]</h3>

+ 4 - 8
docs/api/en/objects/Points.html

@@ -20,10 +20,9 @@
 
 		<h2>Constructor</h2>
 
-		<h3>[name]( [param:Geometry geometry], [param:Material material] )</h3>
+		<h3>[name]( [param:BufferGeometry geometry], [param:Material material] )</h3>
 		<p>
-			[page:Geometry geometry] — (optional) an instance of [page:Geometry] or [page:BufferGeometry].
-				Default is a new [page:BufferGeometry].<br />
+			[page:BufferGeometry geometry] — (optional) an instance of [page:BufferGeometry].	Default is a new [page:BufferGeometry].<br />
 			[page:Material material] — (optional) a [page:Material]. Default is a new [page:PointsMaterial].
 		</p>
 
@@ -31,12 +30,9 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Object3D] class for common properties.</p>
 
-		<h3>[property:Geometry geometry]</h3>
+		<h3>[property:BufferGeometry geometry]</h3>
 		<p>
-			An instance of [page:Geometry] or [page:BufferGeometry] (or derived classes),
-			defining the object's structure.<br /><br />
-
-			Its recommended to always use a [page:BufferGeometry] if possible for best performance.
+			An instance of [page:BufferGeometry] (or derived classes), defining the object's structure.
 		</p>
 
 		<h3>[property:Material material]</h3>

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

@@ -37,7 +37,7 @@
 		<h2>Code Example</h2>
 
 		<code>
-		const geometry = new THREE.CylinderBufferGeometry( 5, 5, 5, 5, 15, 5, 30 );
+		const geometry = new THREE.CylinderGeometry( 5, 5, 5, 5, 15, 5, 30 );
 
 		// create the skin indices and skin weights
 
@@ -90,14 +90,10 @@
 		<h2>Constructor</h2>
 		<h3>[name]( [param:BufferGeometry geometry], [param:Material material] )</h3>
 		<p>
-		[page:Geometry geometry] - an instance of [page:BufferGeometry].<br />
+		[page:BufferGeometry geometry] - an instance of [page:BufferGeometry].<br />
 		[page:Material material] - (optional) an instance of [page:Material]. Default is a new [page:MeshBasicMaterial].
 		</p>
 
-
-
-
-
 		<h2>Properties</h2>
 		<p>See the base [page:Mesh] class for common properties.</p>
 

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

@@ -418,7 +418,7 @@
 			[page:WebGLRenderer.autoClearDepth autoClearDepth] properties to false. To forcibly clear one ore more buffers call [page:WebGLRenderer.clear .clear].
 		</p>
 
-		<h3>[method:null renderBufferDirect]( [param:Camera camera], [param:Fog fog], [param:Geometry geometry], [param:Material material], [param:Object3D object], [param:Object group] )</h3>
+		<h3>[method:null renderBufferDirect]( [param:Camera camera], [param:Fog fog], [param:BufferGeometry geometry], [param:Material material], [param:Object3D object], [param:Object group] )</h3>
 		<p>Render a buffer geometry group using the camera and with the specified material.</p>
 
 		<h3>[method:null renderBufferImmediate]( [param:Object3D object], [param:WebGLProgram program] )</h3>

+ 4 - 5
docs/api/ko/animation/AnimationClip.html

@@ -25,7 +25,7 @@
 			[page:Number duration] - 클립의 길이 (초 단위). 음수 값을 입력하면 길이는 *tracks* 배열에서 계산됩니다.<br />
 			[page:Array tracks] - [page:KeyframeTrack KeyframeTracks] 배열.<br /><br />
 
-			참고: AnimationClip를 직접 인스턴스로 만드는 것보다, 정적 메서드를 활용하여 AnimationClips를 만드는 것이 좋습니다: 
+			참고: AnimationClip를 직접 인스턴스로 만드는 것보다, 정적 메서드를 활용하여 AnimationClips를 만드는 것이 좋습니다:
 			JSON ([page:.parse parse]), 모프 타겟 시퀀스 ([page:.CreateFromMorphTargetSequence CreateFromMorphTargetSequence],
 			[page:.CreateClipsFromMorphTargetSequences CreateClipsFromMorphTargetSequences]) 혹은
 			애니메이션 계층 ([page:.parseAnimation parseAnimation])을 활용하세요. - 모델의 기하학 애니메이션 배열에 AnimationClips가 없을 경우.
@@ -96,18 +96,17 @@
 
 		<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
 		<p>
-			geometry의 [page:Geometry.morphTargets morph
-			target sequences]를 통해 생성된 새 AnimationClips 배열을 리턴하고 , 
+			geometry의 morphtarget sequences 를 통해 생성된 새 AnimationClips 배열을 리턴하고 ,
 			모프 타겟 이름을 애니메이션-그룹-기반의 "Walk_001, Walk_002, Run_001, Run_002 ..."와 같은 패턴으로 정리합니다.
 		</p>
 
 		<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
 		<p>
-			geometry에서 넘어온 [page:Geometry.morphTargets morph targets array]를 통해 
+			geometry에서 넘어온 morph targets array 를 통해
 			초 단위의 프레임 수와 이름을 받아 새 AnimationClip을 리턴합니다.
 			<br /><br />
 
-			참고: fps 파라미터가 필요하지만, 애니메이션 속도는 [page:AnimationAction.setDuration animationAction.setDuration]을 통한 
+			참고: fps 파라미터가 필요하지만, 애니메이션 속도는 [page:AnimationAction.setDuration animationAction.setDuration]을 통한
 			*AnimationAction*에 의해 오버라이딩될 수 있습니다.
 		</p>
 

+ 2 - 2
docs/api/ko/animation/AnimationMixer.html

@@ -26,7 +26,7 @@
 		</p>
 
 
-		<h2>Properties</h2>
+		<h2>프로퍼티</h2>
 
 
 		<h3>[property:Number time]</h3>
@@ -103,7 +103,7 @@
 		</p>
 
 
-		<h2>Source</h2>
+		<h2>소스 코드</h2>
 
 
 		<p>

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

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="ko">
 	<head>
 		<meta charset="utf-8" />
 		<base href="../../../" />

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

@@ -49,12 +49,12 @@
 		</ul>
 
 		<p>
-			다른 종류의 KeyframeTracks으로 [page:AnimationClip AnimationClips]를 직접 만드는 예제는 
+			다른 종류의 KeyframeTracks으로 [page:AnimationClip AnimationClips]를 직접 만드는 예제는
 			[link:https://threejs.org/examples/jsm/animation/AnimationClipCreator.js AnimationClipCreator]를 참고하세요.
 		</p>
 
 		<p>
-			명시적 값은 시간 배열에 저장된 시간 이산 지점에 특정되기 때문에, 모든 중간 값들은 보간이 되어야 합니다. 
+			명시적 값은 시간 배열에 저장된 시간 이산 지점에 특정되기 때문에, 모든 중간 값들은 보간이 되어야 합니다.
 		</p>
 
 		<p>
@@ -68,7 +68,7 @@
 		<h3>[name]( [param:String name], [param:Array times], [param:Array values], [param:Constant interpolation] )</h3>
 		<p>
 			[page:String name] - *KeyframeTrack*의 식별자.<br />
-			[page:Array times] - 키프레임 시간 배열, 내부적으로 
+			[page:Array times] - 키프레임 시간 배열, 내부적으로
 			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]로 변환됩니다.<br />
 			[page:Array values] - 시간 배열과 관련된 값을 가진 배열, 내부적으로
 			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]로 변환됩니다.<br />
@@ -82,25 +82,25 @@
 
 		<h3>[property:String name]</h3>
 		<p>
-			트랙의 이름은 [page:Geometry.morphTargets morph targets] 혹은 [page:SkinnedMesh bones] 및 
+			트랙의 이름은 morph targets 혹은 [page:SkinnedMesh bones] 및 
 			다른 애니메이션 오브젝트에 들어있는 값들을 참조할 수 있습니다. See
 			프로퍼티로 파싱될 수 있는 문자열 폼에 대해서는 [page:PropertyBinding.parseTrackName] 를 참고하세요.
 		</p>
 
 		<p>
-			트랙의 이름은 노드의 이름을 사용하거나 노드의 uuid(믹서에 전달된 장면 그래프 노드의 서브트리 안에 있어야 하지만)를 사용해서 노드를 특정할 수 있습니다. 
+			트랙의 이름은 노드의 이름을 사용하거나 노드의 uuid(믹서에 전달된 장면 그래프 노드의 서브트리 안에 있어야 하지만)를 사용해서 노드를 특정할 수 있습니다.
 			혹은 만약 트랙 이름이 .으로 시작한다면, 트랙은  믹서에 전달된 루트 노드를 적용할 것입니다.
 		</p>
 
 		<p>
-			보통 노드 다음에는 프로퍼티가 직접 특정됩니다. 하지만 float 트랙을 통해 회전의 X 컴포넌트를 조절하려면 
+			보통 노드 다음에는 프로퍼티가 직접 특정됩니다. 하지만 float 트랙을 통해 회전의 X 컴포넌트를 조절하려면
 			.rotation[x]같은 서브프로퍼티를 특정할 수도 있습니다.
 		</p>
 
 		<p>
-			오브젝트 이름으로 골자나 멀티머티리얼을 특정할 수도 있습니다. 예시:
-			.bones[R_hand].scale; 
-			추가적으로, 머티리얼 배열의 네 번째 머티리얼의 확상광 중 레드 채널은 .materials[3].diffuse[r]로 접근할 수 있습니다.
+			오브젝트 이름으로 골자나 다중 재질을 특정할 수도 있습니다. 예시:
+			.bones[R_hand].scale;
+			추가적으로, 재질 배열의 네 번째 재질의 확상광 중 레드 채널은 .materials[3].diffuse[r]로 접근할 수 있습니다.
 		</p>
 
 		<p>
@@ -223,7 +223,7 @@
 		</p>
 
 		<p>
-			이 메서드는 트랙이 비었거나, [page:.valueSize value size] 값이 부적절하거나, 
+			이 메서드는 트랙이 비었거나, [page:.valueSize value size] 값이 부적절하거나,
 			[page:.times times] 혹은 [page:.values values] 배열의 값이 부적절하거나, *times* 배열의 순서가 어긋나면 에러 로그를 콘솔에 출력합니다.
 		</p>
 

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

@@ -25,7 +25,7 @@
 
 		</p>
 
-		<h2>Properties</h2>
+		<h2>프로퍼티</h2>
 
 		<h3>[property:Number path]</h3>
 		<p>
@@ -69,7 +69,7 @@
 
 
 
-		<h2>Methods</h2>
+		<h2>메서드</h2>
 
 		<h3>[method:null getValue]( [param:Array targetArray], [param:Number offset] )</h3>
 		<p>

+ 2 - 2
docs/api/ko/audio/AudioListener.html

@@ -13,7 +13,7 @@
 
 		<p class="desc">
 			[name]는 장면 안의 모든 지정 및 비지정 오디오 효과의 가상 [link:https://developer.mozilla.org/de/docs/Web/API/AudioListener listener]입니다.<br />
-			three.js 앱은 일반적으로 단일 [name] 인스턴스를 생성합니다. 이는 [page:Audio Audio]와 [page:PositionalAudio PositionalAudio] 같은 오디오 엔티티의 필수 생성자 파라미터입니다.<br />
+			three.js 앱은 일반적으로 단일 [name] 인스턴스를 생성합니다. 이는 [page:Audio Audio]와 [page:PositionalAudio PositionalAudio] 같은 오디오 개체의 필수 생성자 파라미터입니다.<br />
 			대부분의 경우, 리스너 오브젝트는 카메라의 자식입니다. 그래서 카메라의 3D 변환은 곧 리스너의 3D 변환이 됩니다.
 		</p>
 
@@ -67,7 +67,7 @@
 		<p>기본값은 *null*입니다.</p>
 
 		<h3>[property:Number timeDelta]</h3>
-		<p>오디오 엔티티에 대한 시간 델타값입니다. [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/linearRampToValueAtTime AudioParam.linearRampToValueAtTimeDefault]()에서 사용됩니다. 기본값은 *0*입니다.</p>
+		<p>오디오 개체에 대한 시간 델타값입니다. [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/linearRampToValueAtTime AudioParam.linearRampToValueAtTimeDefault]()에서 사용됩니다. 기본값은 *0*입니다.</p>
 
 		<h2>메서드</h2>
 

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

@@ -36,7 +36,7 @@
 		});
 
 		// create an object for the sound to play from
-		const sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
+		const sphere = new THREE.SphereGeometry( 20, 32, 16 );
 		const material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
 		const mesh = new THREE.Mesh( sphere, material );
 		scene.add( mesh );

+ 49 - 0
docs/api/ko/cameras/ArrayCamera.html

@@ -0,0 +1,49 @@
+<!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; [page:Camera] &rarr; [page:PerspectiveCamera] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[name]은 미리 설정해놓은 카메라로 장면을 효율적으로 렌더릴할 때 사용될 수 있습니다. VR 장면을 렌더링할 때 중요한 퍼포먼스적 측면이기도 합니다.<br />
+			[name] 인스턴스는 항상 하위 카메라들의 배열을 가지고 있습니다. 
+			각 하위 카메라에는 이 카메라로 렌더링되는 뷰포트 부분을 결정하는 *뷰포트* 속성을 반드시 정의해야 합니다.
+		</p>
+
+		<h2>예제</h2>
+
+		<p>[example:webgl_camera_array camera / array ]</p>
+
+		<h2>생성자</h2>
+
+		<h3>[name]( [param:Array array] )</h3>
+		<p>
+			카메라 배열.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:PerspectiveCamera]를 참고하세요.</p>
+
+		<h3>[property:Array cameras]</h3>
+		<p>
+			카메라 배열.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:PerspectiveCamera]를 참고하세요.</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/cameras/Camera.html

@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<html lang="ko">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+			카메라에 대한 추상 기본 클래스입니다. 이 클래스는 새 카메라를 만들때 항상 상속되어야 합니다.
+		</p>
+
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+			새 [name]를 만듭니다. 이 클래스는 직접 호출하도록 설계되지 않았습니다;
+			그 대신 [page:PerspectiveCamera] 혹은 [page:OrthographicCamera]를 사용해야 할 것입니다.
+		</p>
+
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Object3D] 클래스를 참고하세요.</p>
+
+		<h3>[property:Layers layers]</h3>
+		<p>
+		카메라가 속해있는 [page:Layers layers]. 이는 [page:Object3D]에서 상속된 것입니다.<br /><br />
+
+		카메라 뷰포트를 렌더링할 때 볼 수 있도록 객체는 카메라와 하나 이상의 레이어를 공유해야 합니다.
+		</p>
+
+		<h3>[property:Matrix4 matrixWorldInverse]</h3>
+		<p>
+			matrixWorld의 역행렬입니다. MatrixWorld는 카메라의 월드 변형을 가진 매트릭스를 포함합니다.
+		</p>
+
+		<h3>[property:Matrix4 projectionMatrix]</h3>
+		<p>투영 매트릭스입니다.</p>
+
+		<h3>[property:Matrix4 projectionMatrixInverse]</h3>
+		<p>투영 매트릭스의 역행렬입니다.</p>
+
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Object3D] 클래스를 참고하세요.</p>
+
+		<h3>[method:Camera clone]( )</h3>
+		<p>
+			이 카메라와 같은 프로퍼티를 가진 새 카메라를 리턴합니다.
+		</p>
+
+		<h3>[method:Camera copy]( [param:Camera source], [param:Boolean recursive] )</h3>
+		<p>
+		원본 카메라에서 이 카메라로 프로퍼티를 복사합니다.
+		</p>
+
+		<h3>[method:Vector3 getWorldDirection]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — Vector3으로 결과가 복사될 것입니다. <br /><br />
+
+		카메라가 바라보고 있는 월드 공간 방향을 나타내는 [page:Vector3]를 리턴합니다.
+		(참고: 카메라가 자신의 바로 아래를 내려다보면, z축 좌표는 음수값입니다).<br /><br />
+		</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/cameras/CubeCamera.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>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">[page:WebGLCubeRenderTarget]에 렌더링되는 6개의 카메라를 생성합니다.</p>
+
+		<h2>코드 예제</h2>
+
+		<code>
+		// Create cube render target
+		const cubeRenderTarget = new THREE.WebGLCubeRenderTarget( 128, { format: THREE.RGBFormat, generateMipmaps: true, minFilter: THREE.LinearMipmapLinearFilter } );
+
+		// Create cube camera
+		const cubeCamera = new THREE.CubeCamera( 1, 100000, cubeRenderTarget );
+		scene.add( cubeCamera );
+
+		// Create car
+		const chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeRenderTarget.texture } );
+		const car = new Mesh( carGeometry, chromeMaterial );
+		scene.add( car );
+
+		// Update the render target cube
+		car.visible = false;
+		cubeCamera.position.copy( car.position );
+		cubeCamera.update( renderer, scene );
+
+		// Render the scene
+		car.visible = true;
+		renderer.render( scene, camera );
+		</code>
+
+		<h2>예제</h2>
+
+		<p>
+			[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]<br />
+			[example:webgl_shading_physical shading / physical ]
+		</p>
+
+		<h2>생성자</h2>
+
+
+		<h3>[name]( [param:Number near], [param:Number far], [param:WebGLCubeRenderTarget renderTarget] )</h3>
+		<p>
+		near -- 근거리 클리핑 거리. <br />
+		far -- 원거리 클리핑 거리. <br />
+		renderTarget -- 큐브 렌더 타겟 목적지.
+		</p>
+
+		<p>
+		[page:WebGLCubeRenderTarget]에 렌더링하는 6개의 [page:PerspectiveCamera PerspectiveCameras]를 포함하는 CubeCamera를 생성합니다.
+		</p>
+
+		<h2>프로퍼티</h2>
+		<p>일반 프로퍼티는 기본 [page:Object3D] 클래스를 참고하세요.</p>
+
+		<h3>[property:WebGLCubeRenderTarget renderTarget]</h3>
+		<p>
+		큐브 렌더 타겟 목적지.
+		</p>
+
+		<h2>메서드</h2>
+		<p>일반 메서드는 기본 [page:Object3D] 클래스를 참고하세요.</p>
+
+		<h3>[method:null update]( [param:WebGLRenderer renderer], [param:Scene scene] )</h3>
+		<p>
+		renderer -- 현재의 WebGL 렌더러 <br />
+		scene -- 현재 장면
+		</p>
+		<p>
+		[page:CubeCamera.renderTarget renderTarget]를 업데이트 할 때 호출합니다.
+		</p>
+
+		<h2>소스 코드</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

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