浏览代码

Merge branch 'dev' into GLTFExporterPlugin

Takahiro 4 年之前
父节点
当前提交
7a8783cc7e
共有 100 个文件被更改,包括 1924 次插入2802 次删除
  1. 1 1
      .github/CONTRIBUTING.md
  2. 1 1
      LICENSE
  3. 8 10
      README.md
  4. 892 60
      build/three.js
  5. 0 0
      build/three.min.js
  6. 784 270
      build/three.module.js
  7. 2 2
      docs/api/ar/animation/AnimationClip.html
  8. 1 1
      docs/api/ar/animation/KeyframeTrack.html
  9. 1 1
      docs/api/ar/audio/PositionalAudio.html
  10. 1 1
      docs/api/en/Template.html
  11. 3 4
      docs/api/en/animation/AnimationClip.html
  12. 1 2
      docs/api/en/animation/KeyframeTrack.html
  13. 1 1
      docs/api/en/audio/PositionalAudio.html
  14. 1 1
      docs/api/en/core/BufferAttribute.html
  15. 11 42
      docs/api/en/core/BufferGeometry.html
  16. 0 109
      docs/api/en/core/DirectGeometry.html
  17. 0 135
      docs/api/en/core/Face3.html
  18. 0 344
      docs/api/en/core/Geometry.html
  19. 1 1
      docs/api/en/core/Layers.html
  20. 12 2
      docs/api/en/core/Object3D.html
  21. 2 2
      docs/api/en/core/Raycaster.html
  22. 4 8
      docs/api/en/extras/core/CurvePath.html
  23. 1 1
      docs/api/en/extras/core/Shape.html
  24. 1 1
      docs/api/en/extras/objects/ImmediateRenderObject.html
  25. 0 80
      docs/api/en/geometries/BoxBufferGeometry.html
  26. 7 4
      docs/api/en/geometries/BoxGeometry.html
  27. 0 70
      docs/api/en/geometries/CircleBufferGeometry.html
  28. 8 4
      docs/api/en/geometries/CircleGeometry.html
  29. 0 72
      docs/api/en/geometries/ConeBufferGeometry.html
  30. 3 3
      docs/api/en/geometries/ConeGeometry.html
  31. 0 73
      docs/api/en/geometries/CylinderBufferGeometry.html
  32. 4 4
      docs/api/en/geometries/CylinderGeometry.html
  33. 0 59
      docs/api/en/geometries/DodecahedronBufferGeometry.html
  34. 3 3
      docs/api/en/geometries/DodecahedronGeometry.html
  35. 3 3
      docs/api/en/geometries/EdgesGeometry.html
  36. 0 113
      docs/api/en/geometries/ExtrudeBufferGeometry.html
  37. 3 3
      docs/api/en/geometries/ExtrudeGeometry.html
  38. 0 58
      docs/api/en/geometries/IcosahedronBufferGeometry.html
  39. 3 4
      docs/api/en/geometries/IcosahedronGeometry.html
  40. 0 77
      docs/api/en/geometries/LatheBufferGeometry.html
  41. 4 4
      docs/api/en/geometries/LatheGeometry.html
  42. 0 58
      docs/api/en/geometries/OctahedronBufferGeometry.html
  43. 3 4
      docs/api/en/geometries/OctahedronGeometry.html
  44. 0 71
      docs/api/en/geometries/ParametricBufferGeometry.html
  45. 3 4
      docs/api/en/geometries/ParametricGeometry.html
  46. 0 69
      docs/api/en/geometries/PlaneBufferGeometry.html
  47. 4 4
      docs/api/en/geometries/PlaneGeometry.html
  48. 0 68
      docs/api/en/geometries/PolyhedronBufferGeometry.html
  49. 6 4
      docs/api/en/geometries/PolyhedronGeometry.html
  50. 0 72
      docs/api/en/geometries/RingBufferGeometry.html
  51. 5 4
      docs/api/en/geometries/RingGeometry.html
  52. 0 83
      docs/api/en/geometries/ShapeBufferGeometry.html
  53. 3 3
      docs/api/en/geometries/ShapeGeometry.html
  54. 0 77
      docs/api/en/geometries/SphereBufferGeometry.html
  55. 4 4
      docs/api/en/geometries/SphereGeometry.html
  56. 0 59
      docs/api/en/geometries/TetrahedronBufferGeometry.html
  57. 3 3
      docs/api/en/geometries/TetrahedronGeometry.html
  58. 0 176
      docs/api/en/geometries/TextBufferGeometry.html
  59. 2 2
      docs/api/en/geometries/TextGeometry.html
  60. 0 70
      docs/api/en/geometries/TorusBufferGeometry.html
  61. 4 4
      docs/api/en/geometries/TorusGeometry.html
  62. 0 73
      docs/api/en/geometries/TorusKnotBufferGeometry.html
  63. 4 5
      docs/api/en/geometries/TorusKnotGeometry.html
  64. 0 111
      docs/api/en/geometries/TubeBufferGeometry.html
  65. 3 3
      docs/api/en/geometries/TubeGeometry.html
  66. 3 3
      docs/api/en/geometries/WireframeGeometry.html
  67. 2 2
      docs/api/en/helpers/AxesHelper.html
  68. 2 2
      docs/api/en/helpers/BoxHelper.html
  69. 2 2
      docs/api/en/lights/shadows/DirectionalLightShadow.html
  70. 2 2
      docs/api/en/lights/shadows/PointLightShadow.html
  71. 2 2
      docs/api/en/lights/shadows/SpotLightShadow.html
  72. 7 61
      docs/api/en/loaders/ObjectLoader.html
  73. 1 1
      docs/api/en/materials/LineBasicMaterial.html
  74. 1 1
      docs/api/en/materials/MeshBasicMaterial.html
  75. 2 2
      docs/api/en/materials/MeshLambertMaterial.html
  76. 1 1
      docs/api/en/materials/MeshMatcapMaterial.html
  77. 1 1
      docs/api/en/materials/MeshNormalMaterial.html
  78. 2 3
      docs/api/en/materials/MeshPhongMaterial.html
  79. 7 0
      docs/api/en/materials/MeshPhysicalMaterial.html
  80. 4 12
      docs/api/en/materials/MeshStandardMaterial.html
  81. 1 1
      docs/api/en/materials/MeshToonMaterial.html
  82. 1 1
      docs/api/en/materials/PointsMaterial.html
  83. 4 4
      docs/api/en/materials/RawShaderMaterial.html
  84. 3 8
      docs/api/en/materials/ShaderMaterial.html
  85. 1 1
      docs/api/en/materials/ShadowMaterial.html
  86. 3 4
      docs/api/en/materials/SpriteMaterial.html
  87. 1 1
      docs/api/en/math/Box3.html
  88. 11 0
      docs/api/en/math/Color.html
  89. 3 4
      docs/api/en/math/Frustum.html
  90. 18 0
      docs/api/en/math/MathUtils.html
  91. 2 2
      docs/api/en/math/Matrix3.html
  92. 6 3
      docs/api/en/math/Matrix4.html
  93. 2 3
      docs/api/en/math/Vector3.html
  94. 3 0
      docs/api/en/math/Vector4.html
  95. 1 1
      docs/api/en/objects/Group.html
  96. 6 1
      docs/api/en/objects/InstancedMesh.html
  97. 1 1
      docs/api/en/objects/LOD.html
  98. 3 3
      docs/api/en/objects/Line.html
  99. 2 2
      docs/api/en/objects/LineLoop.html
  100. 2 2
      docs/api/en/objects/LineSegments.html

+ 1 - 1
.github/CONTRIBUTING.md

@@ -65,7 +65,7 @@ When you’ve decided to make changes, start with the following:
 
 * Don't include any build files to your commit.
 * Not all new features will need a new example. Simpler features could be incorporated into an existing example. Bigger features may be asked to add an example demonstrating the feature.
-* Making changes may require changes to the documentation. If so, please make a new PR for the appropriate doc changes. To update the Chinese docs, simply copy the English to begin with.
+* Making changes may require changes to the documentation. To update the docs in other languages, simply copy the English to begin with.
 * it's good to also add an example and screenshot for it, for showing how it's used and for end-to-end testing.
 * If you modify existing code, run relevant examples to check they didn't break and there wasn't performance regress.
 * If you add some assets for the examples (models, textures, sounds, etc), make sure they have a proper license allowing for their use here, less restrictive the better. It is unlikely for large assets to be accepted.

+ 1 - 1
LICENSE

@@ -1,6 +1,6 @@
 The MIT License
 
-Copyright © 2010-2020 three.js authors
+Copyright © 2010-2021 three.js authors
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 8 - 10
README.md

@@ -11,8 +11,8 @@ three.js
 
 The aim of the project is to create an easy to use, lightweight, 3D library with a default WebGL renderer. The library also provides Canvas 2D, SVG and CSS3D renderers in the examples.
 
-[Examples](http://threejs.org/examples/) —
-[Documentation](http://threejs.org/docs/) —
+[Examples](https://threejs.org/examples/) —
+[Documentation](https://threejs.org/docs/) —
 [Wiki](https://github.com/mrdoob/three.js/wiki) —
 [Migrating](https://github.com/mrdoob/three.js/wiki/Migration-Guide) —
 [Questions](http://stackoverflow.com/questions/tagged/three.js) —
@@ -31,7 +31,6 @@ let camera, scene, renderer;
 let geometry, material, mesh;
 
 init();
-animate();
 
 function init() {
 
@@ -48,27 +47,26 @@ function init() {
 
 	renderer = new THREE.WebGLRenderer( { antialias: true } );
 	renderer.setSize( window.innerWidth, window.innerHeight );
+	renderer.setAnimationLoop( animation );
 	document.body.appendChild( renderer.domElement );
 
 }
 
-function animate() {
+function animation( time ) {
 
-	requestAnimationFrame( animate );
-
-	mesh.rotation.x += 0.01;
-	mesh.rotation.y += 0.02;
+	mesh.rotation.x = time / 2000;
+	mesh.rotation.y = time / 1000;
 
 	renderer.render( scene, camera );
 
 }
 ```
 
-If everything went well, you should see [this](https://jsfiddle.net/ruc3h17j/).
+If everything went well, you should see [this](https://jsfiddle.net/zdjankqw/).
 
 ### Cloning this repository ###
 
-Cloning the repo with all its history results in a ~2GB download. If you don't need the whole history you can use the `depth` parameter to significantly reduce download size.
+Cloning the repo with all its history results in a ~2 GB download. If you don't need the whole history you can use the `depth` parameter to significantly reduce download size.
 
 ```sh
 git clone --depth=1 https://github.com/mrdoob/three.js.git

文件差异内容过多而无法显示
+ 892 - 60
build/three.js


文件差异内容过多而无法显示
+ 0 - 0
build/three.min.js


文件差异内容过多而无法显示
+ 784 - 270
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 );

+ 1 - 1
docs/api/en/core/BufferAttribute.html

@@ -158,7 +158,7 @@
 		<h3>[method:Number getW]( [param:Integer index] ) </h3>
 		<p>Returns the w component of the vector at the given index.</p>
 
-		<h3>[method:null onUpload]( [param:Function callback] ) </h3>
+		<h3>[method:this onUpload]( [param:Function callback] ) </h3>
 		<p>
 		Sets the value of the onUploadCallback property.<br /><br />
 

+ 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>

+ 0 - 135
docs/api/en/core/Face3.html

@@ -1,135 +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">
-		Triangular face used in [page: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>
-		<p>
-		a — Vertex A index.<br />
-		b — Vertex B index.<br />
-		c — Vertex C index.<br /><br />
-
-		normal — (optional) Face normal ([page:Vector3 Vector3]) or array of vertex normals.
-		If a single vector is passed in, this sets [page:.normal], otherwise if an array of three
-		vectors is passed in this sets [page:.vertexNormals]<br /><br />
-
-		color — (optional) Face [page:Color color] or array of vertex [page:Color colors].
-		If a single vector is passed in, this sets [page:.color], otherwise if an array of three
-		vectors is passed in this sets [page:.vertexColors]<br /><br />
-
-		materialIndex — (optional) which index of an array of materials to associate
-		with the face.
-		</p>
-
-		<h2>Properties</h2>
-
-		<h3>[property:Integer a]</h3>
-		<p>
-		Vertex A index.
-		</p>
-
-		<h3>[property:Integer b]</h3>
-		<p>
-		Vertex B index.
-		</p>
-
-		<h3>[property:Integer c]</h3>
-		<p>
-		Vertex C index.
-		</p>
-
-		<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
-		triangle. Default is *(0, 0, 0)*.
-		</p>
-
-		<h3>[property:Color color]</h3>
-		<p>
-		Face color - for this to be used a material's [page:Material.vertexColors vertexColors] property
-		must be set to *true*.
-		</p>
-
-		<h3>[property:Array vertexNormals]</h3>
-		<p>
-		Array of 3 [page:Vector3 vertex normals].
-		</p>
-
-		<h3>[property:Array vertexColors]</h3>
-		<p>
-		Array of 3 vertex colors - for these to be used a material's [page:Material.vertexColors vertexColors] property
-		must be set to *true*.
-		</p>
-
-
-		<h3>[property:Integer materialIndex]</h3>
-		<p>
-		Material index (points to an index in the associated array of materials). Default is *0*.
-		</p>
-
-		<h2>Methods</h2>
-
-		<h3>[method:Face3 clone]()</h3>
-		<p>Creates a new clone of the Face3 object.</p>
-
-		<h3>[method:Face3 copy]( [param:Face3 face3] )</h3>
-		<p>Copy the parameters of another Face3 into this.</p>
-
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-		</p>
-	</body>
-</html>

+ 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>

+ 1 - 1
docs/api/en/core/Layers.html

@@ -69,7 +69,7 @@
 		<p>
 			layers - a Layers object<br /><br />
 
-			Returns true if this and the passed *layers* object are members of the same set of layers.
+			Returns true if this and the passed *layers* object have at least one layer in common.
 		</p>
 
 		<h3>[method:null toggle]( [param:Integer layer] )</h3>

+ 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

+ 2 - 2
docs/api/en/core/Raycaster.html

@@ -145,7 +145,7 @@
 		[page:Vector3 direction] — The normalized direction vector that gives direction to the ray.
 		</p>
 		<p>
-		Updates the ray with a new origin and direction.
+		Updates the ray with a new origin and direction. Please note that this method only copies the values from the arguments.
 		</p>
 
 		<h3>[method:null setFromCamera]( [param:Vector2 coords], [param:Camera camera] )</h3>
@@ -172,7 +172,7 @@
 		<p>
 			[page:Float distance] – distance between the origin of the ray and the intersection<br />
 			[page:Vector3 point] – point of intersection, in world coordinates<br />
-			[page:Face3 face] – intersected face<br />
+			[page:Object face] – intersected face<br />
 			[page:Integer faceIndex] – index of the intersected face<br />
 			[page:Object3D object] – the intersected object<br />
 			[page:Vector2 uv] - U,V coordinates at point of intersection<br />

+ 4 - 8
docs/api/en/extras/core/CurvePath.html

@@ -16,16 +16,13 @@
 		but retains the api of a curve.
 		</p>
 
-
 		<h2>Constructor</h2>
 
-
 		<h3>[name]()</h3>
 		<p>
 		The constructor take no parameters.
 		</p>
 
-
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
@@ -35,10 +32,6 @@
 		<h3>[property:Boolean autoClose]</h3>
 		<p>Whether or not to automatically close the path.</p>
 
-
-
-
-
 		<h2>Methods</h2>
 		<p>See the base [page:Curve] class for common methods.</p>
 
@@ -62,7 +55,10 @@
 		<p>
 			divisions -- number of pieces to divide the curve into. Default is *12*.<br /><br />
 
-			Returns a set of divisions + 1 points using getPoint( t ).
+			Returns an array of points representing a sequence of curves. The *division* parameter defines
+			the number of pieces each curve is divided into. However, for optimization and quality purposes,
+			the actual sampling resolution for each curve depends on its type. For example, for a [page:LineCurve],
+			the returned number of points is always just 2.
 		</p>
 
 		<h3>[method:Array getSpacedPoints]( [param:Integer divisions] )</h3>

+ 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/AxesHelper.html

@@ -25,9 +25,9 @@ scene.add( axesHelper );
 		<h2>Examples</h2>
 
 		<p>
-			[example:webgl_geometries WebGL / geometries]<br/>
+			[example:webgl_buffergeometry_compression WebGL / buffergeometry / compression]<br/>
 			[example:webgl_geometry_convex WebGL / geometry / convex]<br/>
-			[example:webgl_geometry_spline_editor WebGL / geometry / spline / editor]
+			[example:webgl_loader_nrrd WebGL / loader / nrrd]
 		</p>
 
 		<h2>Constructor</h2>

+ 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/LineBasicMaterial.html

@@ -27,7 +27,7 @@
 		<h2>Examples</h2>
 
 		<p>
-			[example:webgl_buffergeometry_drawcalls WebGL / buffergeometry / drawcalls]<br />
+			[example:webgl_buffergeometry_drawrange WebGL / buffergeometry / drawrange]<br />
 			[example:webgl_buffergeometry_lines WebGL / buffergeometry / lines]<br />
 			[example:webgl_buffergeometry_lines_indexed WebGL / buffergeometry / lines / indexed]<br />
 			[example:webgl_decals WebGL / decals]<br />

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

@@ -80,7 +80,7 @@
 			blend between the two colors.
 		</p>
 
-		<h3>[property:TextureCube envMap]</h3>
+		<h3>[property:Texture envMap]</h3>
 		<p>The environment map. Default is null.</p>
 
 		<h3>[property:Texture lightMap]</h3>

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

@@ -107,7 +107,7 @@
 		<h3>[property:Float emissiveIntensity]</h3>
 		<p>Intensity of the emissive light. Modulates the emissive color. Default is 1.</p>
 
-		<h3>[property:TextureCube envMap]</h3>
+		<h3>[property:Texture envMap]</h3>
 		<p>The environment map. Default is null.</p>
 
 		<h3>[property:Texture lightMap]</h3>
@@ -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>

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

@@ -139,10 +139,9 @@
 		<h3>[property:Float emissiveIntensity]</h3>
 		<p>Intensity of the emissive light. Modulates the emissive color. Default is 1.</p>
 
-		<h3>[property:TextureCube envMap]</h3>
+		<h3>[property:Texture envMap]</h3>
 		<p>The environment map. Default is null.</p>
 
-
 		<h3>[property:Texture lightMap]</h3>
 		<p>The light map. Default is null. The lightMap requires a second set of UVs.</p>
 
@@ -155,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>

+ 7 - 0
docs/api/en/materials/MeshPhysicalMaterial.html

@@ -61,6 +61,7 @@
 			[example:webgl_materials_variations_physical materials / variations / physical]<br />
 			[example:webgl_materials_physical_clearcoat materials / physical / clearcoat]<br />
 			[example:webgl_materials_physical_reflectivity materials / physical / reflectivity]<br />
+			[example:webgl_materials_physical_sheen materials / physical / sheen]<br />
 			[example:webgl_materials_physical_transmission materials / physical / transmission]
 		</p>
 
@@ -132,6 +133,12 @@
 			This models the reflectivity of non-metallic materials. It has no effect when [page:MeshStandardMaterial.metalness metalness] is *1.0*
 		</p>
 
+		<h3>[property:Color sheen]</h3>
+		<p>
+			If a color is assigned to this property, the material will use a special sheen BRDF intended for rendering cloth materials such as velvet.
+			The sheen color provides the ability to create two-tone specular materials. *null* by default.
+		</p>
+
 		<h3>[property:Float transmission]</h3>
 		<p>
 		Degree of transmission (or optical transparency), from *0.0* to *1.0*. Default is *0.0*.<br />

+ 4 - 12
docs/api/en/materials/MeshStandardMaterial.html

@@ -164,17 +164,9 @@
 		<h3>[property:Float emissiveIntensity]</h3>
 		<p>Intensity of the emissive light. Modulates the emissive color. Default is 1.</p>
 
-		<h3>[property:TextureCube envMap]</h3>
-		<p>The environment map. Default is null.  Note that in order for the material roughness
-		property to correctly blur out the environment map, the shader must have access to mipmaps
-		of the env texture.  TextureCubes created with default settings are correctly configured;
-		if adjusting texture parameters manually, ensure minFilter is set to one of the MipMap options,
-		and that mip maps have not been otherwise forcibly disabled.</p>
-		<p>
-		Note: only [link:https://threejs.org/docs/#api/textures/CubeTexture cube environment maps] are supported
-		for MeshStandardMaterial. If you want to use an equirectangular map you will need to use
-		[page:WebGLCubeRenderTarget.fromEquirectangularTexture WebGLCubeRenderTarget.fromEquirectangularTexture]().
-		See this [link:https://threejs.org/examples/webgl_materials_envmaps_exr.html example] for details.
+		<h3>[property:Texture envMap]</h3>
+		<p>The environment map. To ensure a physically correct rendering, you should only add
+			environment maps which were preprocessed by [page:PMREMGenerator]. Default is null.
 		</p>
 
 		<h3>[property:Float envMapIntensity]</h3>
@@ -203,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>

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

@@ -40,7 +40,7 @@
 		<h2>Examples</h2>
 		<p>
 			[example:misc_controls_fly misc / controls / fly]<br />
-			[example:webgl_buffergeometry_drawcalls WebGL / BufferGeometry / drawcalls]<br />
+			[example:webgl_buffergeometry_drawrange WebGL / BufferGeometry / drawrange]<br />
 			[example:webgl_buffergeometry_points WebGL / BufferGeometry / points]<br />
 			[example:webgl_buffergeometry_points_interleaved WebGL / BufferGeometry / points / interleaved]<br />
 			[example:webgl_camera WebGL / camera ]<br />

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

@@ -33,11 +33,11 @@
 		<p>
 			[example:webgl_buffergeometry_rawshader WebGL / buffergeometry / rawshader]<br />
 			[example:webgl_buffergeometry_instancing_billboards WebGL / buffergeometry / instancing / billboards]<br />
-			[example:webgl_buffergeometry_instancing_dynamic WebGL / buffergeometry / instancing / dynamic]<br />
-			[example:webgl_buffergeometry_instancing_interleaved_dynamic WebGL / buffergeometry / instancing / interleaved / dynamic]<br />
 			[example:webgl_buffergeometry_instancing WebGL / buffergeometry / instancing]<br />
-			[example:webgl_interactive_instances_gpu WebGL / interactive / instances /gpu]<br />
-			[example:webgl_raymarching_reflect WebGL / raymarching / reflect]
+			[example:webgl_raymarching_reflect WebGL / raymarching / reflect]<br />
+			[example:webgl2_volume_cloud WebGL 2 / volume / cloud]<br />
+			[example:webgl2_volume_instancing WebGL 2 / volume / instancing]<br />
+			[example:webgl2_volume_perlin WebGL 2 / volume / perlin]
 		</p>
 
 		<h2>Constructor</h2>

+ 3 - 8
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
@@ -104,20 +103,16 @@
 			[example:webgl_gpgpu_birds webgl / gpgpu / birds]<br />
 			[example:webgl_gpgpu_protoplanet webgl / gpgpu / protoplanet]<br />
 			[example:webgl_gpgpu_water webgl / gpgpu / water]<br />
-			[example:webgl_hdr webgl / hdr]<br />
 			[example:webgl_interactive_points webgl / interactive / points]<br />
-			[example:webgl_kinect webgl / kinect]<br />
+			[example:webgl_video_kinect webgl / video / kinect]<br />
 			[example:webgl_lights_hemisphere webgl / lights / hemisphere]<br />
 			[example:webgl_marchingcubes webgl / marchingcubes]<br />
-			[example:webgl_materials_bumpmap_skin webgl / materials / bumpmap / skin]<br />
 			[example:webgl_materials_envmaps webgl / materials / envmaps]<br />
 			[example:webgl_materials_lightmap webgl / materials / lightmap]<br />
 			[example:webgl_materials_parallaxmap webgl / materials / parallaxmap]<br />
 			[example:webgl_materials_shaders_fresnel webgl / materials / shaders / fresnel]<br />
-			[example:webgl_materials_skin webgl / materials / skin]<br />
 			[example:webgl_materials_wireframe webgl / materials / wireframe]<br />
 			[example:webgl_modifier_tessellation webgl / modifier / tessellation]<br />
-			[example:webgl_nearestneighbour webgl / nearestneighbour]<br />
 			[example:webgl_postprocessing_dof2 webgl / postprocessing / dof2]<br />
 			[example:webgl_postprocessing_godrays webgl / postprocessing / godrays]
 		</p>

+ 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();

+ 3 - 4
docs/api/en/materials/SpriteMaterial.html

@@ -26,10 +26,9 @@
 
 		<h2>Examples</h2>
 		<p>
-			[example:webgl_sprites webGL / sprites]<br />
-			[example:software_sandbox software / sandbox]<br />
-			[example:svg_sandbox svg / sandbox]<br />
-			[example:webgl_materials_cubemap_dynamic webgl / materials / cubemap / dynamic]
+			[example:webgl_raycast_sprite WebGL / raycast / sprite]<br />
+			[example:webgl_sprites WebGL / sprites]<br />
+			[example:svg_sandbox SVG / sandbox]
 		</p>
 
 		<h2>Constructor</h2>

+ 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 />

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

@@ -11,7 +11,7 @@
 
 		<p class="desc">
 			[link:http://en.wikipedia.org/wiki/Frustum Frustums] are used to determine what is
-			inside the camera's field of view. They help speed up the rendering process - object which lie
+			inside the camera's field of view. They help speed up the rendering process - objects which lie
 			outside a camera's frustum can safely be excluded from rendering.<br /><br />
 
 			This class is mainly intended for use internally by a renderer for calculating
@@ -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>
 

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

@@ -105,7 +105,7 @@ zAxis = (c, f, i)
 		[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major] format.
 		</p>
 
-		<h3>[method:this invert()]()</h3>
+		<h3>[method:this invert]()</h3>
 		<p>
 		Inverts this matrix, using the [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution analytic method].
 
@@ -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>

+ 6 - 3
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>
@@ -186,7 +186,7 @@ zAxis = (c, g, k)
 		[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major] format.
 		</p>
 
-		<h3>[method:this invert()]()</h3>
+		<h3>[method:this invert]()</h3>
 		<p>
 		Inverts this matrix, using the [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution analytic method].
 
@@ -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 );

+ 6 - 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>
@@ -66,6 +66,11 @@
 		<h2>Methods</h2>
 		<p>See the base [page:Mesh] class for common methods.</p>
 
+		<h3>[method:null dispose]()</h3>
+		<p>
+			Frees the internal resources of this instance.
+		</p>
+
 		<h3>[method:null getColorAt]( [param:Integer index], [param:Color color] )</h3>
 		<p>
 			[page:Integer index]: The index of an instance. Values have to be in the range [0, count].

+ 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>
 

部分文件因为文件数量过多而无法显示