2
0
Эх сурвалжийг харах

Merge branch 'master' of https://github.com/mrdoob/three.js into dev

Luis Blanco 5 жил өмнө
parent
commit
35d9f1e00b
100 өөрчлөгдсөн 2627 нэмэгдсэн , 2064 устгасан
  1. 3 2
      .github/CONTRIBUTING.md
  2. 1 1
      .github/ISSUE_TEMPLATE.md
  3. 1 1
      .gitignore
  4. 26 4
      .travis.yml
  5. 1 1
      LICENSE
  6. 12 20
      README.md
  7. 587 381
      build/three.js
  8. 378 588
      build/three.min.js
  9. 586 380
      build/three.module.js
  10. 3 3
      docs/api/en/animation/AnimationObjectGroup.html
  11. 1 1
      docs/api/en/animation/KeyframeTrack.html
  12. 7 7
      docs/api/en/audio/Audio.html
  13. 7 7
      docs/api/en/audio/AudioAnalyser.html
  14. 8 8
      docs/api/en/audio/AudioListener.html
  15. 9 9
      docs/api/en/audio/PositionalAudio.html
  16. 1 1
      docs/api/en/cameras/ArrayCamera.html
  17. 0 7
      docs/api/en/cameras/Camera.html
  18. 11 8
      docs/api/en/cameras/CubeCamera.html
  19. 17 21
      docs/api/en/cameras/OrthographicCamera.html
  20. 13 16
      docs/api/en/cameras/PerspectiveCamera.html
  21. 4 12
      docs/api/en/cameras/StereoCamera.html
  22. 5 5
      docs/api/en/constants/CustomBlendingEquations.html
  23. 0 79
      docs/api/en/constants/DrawModes.html
  24. 0 14
      docs/api/en/constants/Materials.html
  25. 1 1
      docs/api/en/constants/Renderer.html
  26. 324 1
      docs/api/en/constants/Textures.html
  27. 12 7
      docs/api/en/core/BufferAttribute.html
  28. 4 9
      docs/api/en/core/BufferGeometry.html
  29. 15 15
      docs/api/en/core/EventDispatcher.html
  30. 27 26
      docs/api/en/core/Face3.html
  31. 18 21
      docs/api/en/core/Geometry.html
  32. 1 6
      docs/api/en/core/InstancedBufferAttribute.html
  33. 2 13
      docs/api/en/core/InstancedBufferGeometry.html
  34. 0 5
      docs/api/en/core/InstancedInterleavedBuffer.html
  35. 1 6
      docs/api/en/core/InterleavedBuffer.html
  36. 3 5
      docs/api/en/core/InterleavedBufferAttribute.html
  37. 3 9
      docs/api/en/core/Object3D.html
  38. 20 14
      docs/api/en/core/Raycaster.html
  39. 66 6
      docs/api/en/core/Uniform.html
  40. 9 3
      docs/api/en/core/bufferAttributeTypes/BufferAttributeTypes.html
  41. 30 20
      docs/api/en/deprecated/DeprecatedList.html
  42. 32 0
      docs/api/en/extras/ImageUtils.html
  43. 80 0
      docs/api/en/extras/PMREMGenerator.html
  44. 1 1
      docs/api/en/extras/ShapeUtils.html
  45. 20 0
      docs/api/en/extras/core/CurvePath.html
  46. 0 7
      docs/api/en/extras/core/Font.html
  47. 1 1
      docs/api/en/extras/core/Interpolations.html
  48. 14 14
      docs/api/en/extras/core/Path.html
  49. 3 1
      docs/api/en/extras/core/Shape.html
  50. 7 6
      docs/api/en/extras/core/ShapePath.html
  51. 1 8
      docs/api/en/extras/curves/ArcCurve.html
  52. 20 24
      docs/api/en/extras/curves/CatmullRomCurve3.html
  53. 14 21
      docs/api/en/extras/curves/CubicBezierCurve.html
  54. 14 21
      docs/api/en/extras/curves/CubicBezierCurve3.html
  55. 15 22
      docs/api/en/extras/curves/EllipseCurve.html
  56. 0 7
      docs/api/en/extras/curves/LineCurve.html
  57. 0 7
      docs/api/en/extras/curves/LineCurve3.html
  58. 13 21
      docs/api/en/extras/curves/QuadraticBezierCurve.html
  59. 13 20
      docs/api/en/extras/curves/QuadraticBezierCurve3.html
  60. 16 23
      docs/api/en/extras/curves/SplineCurve.html
  61. 4 2
      docs/api/en/geometries/BoxBufferGeometry.html
  62. 1 1
      docs/api/en/geometries/BoxGeometry.html
  63. 4 2
      docs/api/en/geometries/CircleBufferGeometry.html
  64. 1 1
      docs/api/en/geometries/CircleGeometry.html
  65. 4 2
      docs/api/en/geometries/ConeBufferGeometry.html
  66. 1 1
      docs/api/en/geometries/ConeGeometry.html
  67. 4 2
      docs/api/en/geometries/CylinderBufferGeometry.html
  68. 1 1
      docs/api/en/geometries/CylinderGeometry.html
  69. 3 1
      docs/api/en/geometries/DodecahedronBufferGeometry.html
  70. 6 3
      docs/api/en/geometries/EdgesGeometry.html
  71. 4 2
      docs/api/en/geometries/ExtrudeBufferGeometry.html
  72. 1 1
      docs/api/en/geometries/ExtrudeGeometry.html
  73. 3 1
      docs/api/en/geometries/IcosahedronBufferGeometry.html
  74. 4 2
      docs/api/en/geometries/LatheBufferGeometry.html
  75. 1 1
      docs/api/en/geometries/LatheGeometry.html
  76. 3 1
      docs/api/en/geometries/OctahedronBufferGeometry.html
  77. 4 2
      docs/api/en/geometries/ParametricBufferGeometry.html
  78. 1 1
      docs/api/en/geometries/ParametricGeometry.html
  79. 4 2
      docs/api/en/geometries/PlaneBufferGeometry.html
  80. 1 1
      docs/api/en/geometries/PlaneGeometry.html
  81. 4 2
      docs/api/en/geometries/PolyhedronBufferGeometry.html
  82. 1 1
      docs/api/en/geometries/PolyhedronGeometry.html
  83. 4 2
      docs/api/en/geometries/RingBufferGeometry.html
  84. 1 1
      docs/api/en/geometries/RingGeometry.html
  85. 4 2
      docs/api/en/geometries/ShapeBufferGeometry.html
  86. 1 1
      docs/api/en/geometries/ShapeGeometry.html
  87. 4 2
      docs/api/en/geometries/SphereBufferGeometry.html
  88. 1 1
      docs/api/en/geometries/SphereGeometry.html
  89. 3 1
      docs/api/en/geometries/TetrahedronBufferGeometry.html
  90. 10 6
      docs/api/en/geometries/TextBufferGeometry.html
  91. 8 6
      docs/api/en/geometries/TextGeometry.html
  92. 4 2
      docs/api/en/geometries/TorusBufferGeometry.html
  93. 1 1
      docs/api/en/geometries/TorusGeometry.html
  94. 4 2
      docs/api/en/geometries/TorusKnotBufferGeometry.html
  95. 1 1
      docs/api/en/geometries/TorusKnotGeometry.html
  96. 4 2
      docs/api/en/geometries/TubeBufferGeometry.html
  97. 1 1
      docs/api/en/geometries/TubeGeometry.html
  98. 14 28
      docs/api/en/geometries/WireframeGeometry.html
  99. 9 15
      docs/api/en/helpers/ArrowHelper.html
  100. 12 10
      docs/api/en/helpers/AxesHelper.html

+ 3 - 2
.github/CONTRIBUTING.md

@@ -1,5 +1,5 @@
 
-# Help 
+# Help
 #### The issues section is for bug reports and feature requests only. If you need help, please use the [forum](http://discourse.threejs.org/) or [stackoverflow](http://stackoverflow.com/questions/tagged/three.js).
 ---
 # Bugs
@@ -25,4 +25,5 @@
 2. Fork the repository on GitHub.
 3. Check the [Contribution Guidelines](https://github.com/mrdoob/three.js/wiki/How-to-contribute-to-three.js).
 4. Make changes to your clone of the repository.
-5. Submit a pull request. Don't include build files in the PR.
+5. If your changes leads to a change in examples, make a new screenshot with `npm run make-screenshot <example_name>`.
+6. Submit a pull request. Don't include build files in the PR.

+ 1 - 1
.github/ISSUE_TEMPLATE.md

@@ -17,7 +17,7 @@ Please also include a live example if possible. You can start from these templat
 ##### Three.js version
 
 - [ ] Dev
-- [ ] r110
+- [ ] r115
 - [ ] ...
 
 ##### Browser

+ 1 - 1
.gitignore

@@ -7,4 +7,4 @@ node_modules
 npm-debug.log
 .jshintrc
 .vs/
-test/unit/three.*.unit.js
+test/unit/three.*.unit.js

+ 26 - 4
.travis.yml

@@ -1,5 +1,27 @@
 language: node_js
-node_js:
-  - node
-script:
-  - npm run travis
+node_js: node
+services: xvfb
+cache: bundler
+
+jobs:
+  include:
+
+    - &lint-n-unit
+      stage: lint & unit
+      name: lint
+      script: npm run test-lint
+    - <<: *lint-n-unit
+      name: unit
+      script: npm run test-unit
+
+    - &e2e
+      stage: e2e
+      name: e2e
+      script: npm run test-e2e
+      env: FORCE_COLOR=0 CI=0
+    - <<: *e2e
+      env: FORCE_COLOR=0 CI=1
+    - <<: *e2e
+      env: FORCE_COLOR=0 CI=2
+    - <<: *e2e
+      env: FORCE_COLOR=0 CI=3

+ 1 - 1
LICENSE

@@ -1,6 +1,6 @@
 The MIT License
 
-Copyright © 2010-2019 three.js authors
+Copyright © 2010-2020 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

+ 12 - 20
README.md

@@ -1,10 +1,9 @@
 three.js
 ========
 
-[![NPM package][npm]][npm-url]
+[![NPM Package][npm]][npm-url]
 [![Build Size][build-size]][build-size-url]
-[![Build Status][build-status]][build-status-url]
-[![Dependencies][dependencies]][dependencies-url]
+[![NPM Downloads][npm-downloads]][npmtrends-url]
 [![Dev Dependencies][dev-dependencies]][dev-dependencies-url]
 [![Language Grade][lgtm]][lgtm-url]
 
@@ -18,21 +17,16 @@ The aim of the project is to create an easy to use, lightweight, 3D library with
 [Migrating](https://github.com/mrdoob/three.js/wiki/Migration-Guide) &mdash;
 [Questions](http://stackoverflow.com/questions/tagged/three.js) &mdash;
 [Forum](https://discourse.threejs.org/) &mdash;
-[Gitter](https://gitter.im/mrdoob/three.js) &mdash;
-[Slack](https://join.slack.com/t/threejs/shared_invite/enQtMzYxMzczODM2OTgxLTQ1YmY4YTQxOTFjNDAzYmQ4NjU2YzRhNzliY2RiNDEyYjU2MjhhODgyYWQ5Y2MyZTU3MWNkOGVmOGRhOTQzYTk)
+[Slack](https://join.slack.com/t/threejs/shared_invite/enQtMzYxMzczODM2OTgxLTQ1YmY4YTQxOTFjNDAzYmQ4NjU2YzRhNzliY2RiNDEyYjU2MjhhODgyYWQ5Y2MyZTU3MWNkOGVmOGRhOTQzYTk) &mdash;
+[Discord](https://discordapp.com/invite/HF4UdyF)
 
 ### Usage ###
 
-Download the [minified library](http://threejs.org/build/three.min.js) and include it in your HTML, or install and import it as a [module](http://threejs.org/docs/#manual/introduction/Import-via-modules),
-Alternatively, see [how to build the library yourself](https://github.com/mrdoob/three.js/wiki/Build-instructions).
-
-```html
-<script src="js/three.min.js"></script>
-```
-
 This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera, and it adds that viewport to the `document.body` element. Finally, it animates the cube within the scene for the camera.
 
 ```javascript
+import * as THREE from 'js/three.module.js';
+
 var camera, scene, renderer;
 var geometry, material, mesh;
 
@@ -70,22 +64,20 @@ function animate() {
 }
 ```
 
-If everything went well you should see [this](https://jsfiddle.net/f2Lommf5/).
+If everything went well you should see [this](https://jsfiddle.net/8kubjpL5/).
 
 ### Change log ###
 
 [Releases](https://github.com/mrdoob/three.js/releases)
 
 
-[npm]: https://img.shields.io/npm/v/three.svg
+[npm]: https://img.shields.io/npm/v/three
 [npm-url]: https://www.npmjs.com/package/three
 [build-size]: https://badgen.net/bundlephobia/minzip/three
 [build-size-url]: https://bundlephobia.com/result?p=three
-[build-status]: https://travis-ci.org/mrdoob/three.js.svg?branch=dev
-[build-status-url]: https://travis-ci.org/mrdoob/three.js
-[dependencies]: https://img.shields.io/david/mrdoob/three.js.svg
-[dependencies-url]: https://david-dm.org/mrdoob/three.js
-[dev-dependencies]: https://img.shields.io/david/dev/mrdoob/three.js.svg
+[npm-downloads]: https://img.shields.io/npm/dw/three
+[npmtrends-url]: https://www.npmtrends.com/three
+[dev-dependencies]: https://img.shields.io/david/dev/mrdoob/three.js
 [dev-dependencies-url]: https://david-dm.org/mrdoob/three.js#info=devDependencies
-[lgtm]: https://img.shields.io/lgtm/grade/javascript/g/mrdoob/three.js.svg?label=code%20quality
+[lgtm]: https://img.shields.io/lgtm/alerts/github/mrdoob/three.js
 [lgtm-url]: https://lgtm.com/projects/g/mrdoob/three.js/

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 587 - 381
build/three.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 378 - 588
build/three.min.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 586 - 380
build/three.module.js


+ 3 - 3
docs/api/en/animation/AnimationObjectGroup.html

@@ -37,10 +37,10 @@
 
 		<h2>Constructor</h2>
 
-
 		<h3>[name]( [param:object obj1], [param:object obj2], [param:object obj3], ... )</h3>
-		[page:object obj] - an abitrary number of meshes that share the same animation state.<br />
-
+		<p>
+			[page:object obj] - an abitrary number of meshes that share the same animation state.
+		</p>
 
 		<h2>Properties</h2>
 

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

@@ -58,7 +58,7 @@
 
 		<p>
 			Some examples of how to manually create [page:AnimationClip AnimationClips] with different sorts
-			of KeyframeTracks can be found in the [link:https://threejs.org/examples/js/animation/AnimationClipCreator.js AnimationClipCreator]
+			of KeyframeTracks can be found in the [link:https://threejs.org/examples/jsm/animation/AnimationClipCreator.js AnimationClipCreator]
 			file.
 		</p>
 

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

@@ -18,13 +18,7 @@
 			This uses the [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
 		</p>
 
-
-		<h2>Example</h2>
-
-		<p>
-			[example:webaudio_sandbox webaudio / sandbox ]<br />
-			[example:webaudio_visualizer webaudio / visualizer ]
-		</p>
+		<h2>Code Example</h2>
 
 		<code>
 		// create an AudioListener and add it to the camera
@@ -44,6 +38,12 @@
 		});
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_visualizer webaudio / visualizer ]
+		</p>
 
 		<h2>Constructor</h2>
 

+ 7 - 7
docs/api/en/audio/AudioAnalyser.html

@@ -18,13 +18,7 @@
 
 		</p>
 
-
-		<h2>Example</h2>
-
-		<p>
-			[example:webaudio_sandbox webaudio / sandbox ]<br />
-			[example:webaudio_visualizer webaudio / visualizer ]
-		</p>
+		<h2>Code Example</h2>
 
 		<code>
 		// create an AudioListener and add it to the camera
@@ -50,6 +44,12 @@
 		var data = analyser.getAverageFrequency();
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_visualizer webaudio / visualizer ]
+		</p>
 
 		<h2>Constructor</h2>
 

+ 8 - 8
docs/api/en/audio/AudioListener.html

@@ -18,14 +18,7 @@
 			In most cases, the listener object is a child of the camera. So the 3D transformation of the camera represents the 3D transformation of the listener.
 		</p>
 
-
-		<h2>Example</h2>
-
-		<p>
-			[example:webaudio_sandbox webaudio / sandbox ]<br />
-			[example:webaudio_timing webaudio / timing ]<br />
-			[example:webaudio_visualizer webaudio / visualizer ]
-		</p>
+		<h2>Code Example</h2>
 
 		<code>
 		// create an AudioListener and add it to the camera
@@ -45,6 +38,13 @@
 		});
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_timing webaudio / timing ]<br />
+			[example:webaudio_visualizer webaudio / visualizer ]
+		</p>
 
 		<h2>Constructor</h2>
 

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

@@ -18,14 +18,7 @@
 			This uses the [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
 		</p>
 
-
-		<h2>Example</h2>
-
-		<p>
-			[example:webaudio_orientation webaudio / orientation ]<br />
-			[example:webaudio_sandbox webaudio / sandbox ]<br />
-			[example:webaudio_timing webaudio / timing ]
-		</p>
+		<h2>Code Example</h2>
 
 		<code>
 		// create an AudioListener and add it to the camera
@@ -44,7 +37,7 @@
 		});
 
 		// create an object for the sound to play from
-		var sphere = new THREE.SphereGeometry( 20, 32, 16 );
+		var sphere = new THREE.SphereBufferGeometry( 20, 32, 16 );
 		var material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
 		var mesh = new THREE.Mesh( sphere, material );
 		scene.add( mesh );
@@ -53,6 +46,13 @@
 		mesh.add( sound );
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webaudio_orientation webaudio / orientation ]<br />
+			[example:webaudio_sandbox webaudio / sandbox ]<br />
+			[example:webaudio_timing webaudio / timing ]
+		</p>
 
 		<h2>Constructor</h2>
 

+ 1 - 1
docs/api/en/cameras/ArrayCamera.html

@@ -17,7 +17,7 @@
 			An instance of [name] always has an array of sub cameras. It's mandatory to define for each sub camera the *viewport* property which determines the part of the viewport that is rendered with this camera.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Examples</h2>
 
 		<p>[example:webgl_camera_array camera / array ]</p>
 

+ 0 - 7
docs/api/en/cameras/Camera.html

@@ -30,13 +30,6 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Object3D] class for common properties.</p>
 
-		<h3>[property:Boolean isCamera]</h3>
-		<p>
-			Used to check whether this or derived classes are cameras. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally by the renderer for optimisation.
-		</p>
-
 		<h3>[property:Layers layers]</h3>
 		<p>
 		The [page:Layers layers] that the camera is a member of. This is an inherited

+ 11 - 8
docs/api/en/cameras/CubeCamera.html

@@ -12,12 +12,9 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">Creates 6 cameras that render to a [page:WebGLRenderTargetCube].</p>
+		<p class="desc">Creates 6 cameras that render to a [page:WebGLCubeRenderTarget].</p>
 
-		<h2>Examples</h2>
-
-		<p>[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]</p>
-		<p>[example:webgl_shading_physical shading / physical ]</p>
+		<h2>Code Example</h2>
 
 		<code>// Create cube camera
 		var cubeCamera = new THREE.CubeCamera( 1, 100000, 128 );
@@ -38,6 +35,12 @@
 		renderer.render( scene, camera );
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]<br />
+			[example:webgl_shading_physical shading / physical ]
+		</p>
 
 		<h2>Constructor</h2>
 
@@ -47,7 +50,7 @@
 		near -- The near clipping distance. <br />
 		far -- The far clipping distance <br />
 		cubeResolution -- Sets the length of the cube's edges. <br />
-		options - (optional) object that holds texture parameters passed to the auto-generated WebGLRenderTargetCube.
+		options - (optional) object that holds texture parameters passed to the auto-generated WebGLCubeRenderTarget.
 		If not specified, the options default to:
 		<code>
 		{ format: RGBFormat, magFilter: LinearFilter, minFilter: LinearFilter }
@@ -56,14 +59,14 @@
 		</p>
 		<p>
 		Constructs a CubeCamera that contains 6 [page:PerspectiveCamera PerspectiveCameras] that
-		render to a [page:WebGLRenderTargetCube].
+		render to a [page:WebGLCubeRenderTarget].
 		</p>
 
 
 		<h2>Properties</h2>
 		<p>See the base [page:Object3D] class for common properties.</p>
 
-		<h3>[property:WebGLRenderTargetCube renderTarget]</h3>
+		<h3>[property:WebGLCubeRenderTarget renderTarget]</h3>
 		<p>
 		The cube texture that gets generated.
 		</p>

+ 17 - 21
docs/api/en/cameras/OrthographicCamera.html

@@ -21,23 +21,26 @@
 			This can be useful for rendering 2D scenes and UI elements, amongst other things.
 		</p>
 
+		<h2>Code Example</h2>
 
-		<h2>Example</h2>
+		<code>
+		var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
+		scene.add( camera );
+		</code>
 
-		<p>[example:webgl_camera camera ]</p>
-		<p>[example:webgl_interactive_cubes_ortho interactive / cubes / ortho ]</p>
-		<p>[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]</p>
-		<p>[example:webgl_postprocessing_advanced postprocessing / advanced ]</p>
-		<p>[example:webgl_postprocessing_dof2 postprocessing / dof2 ]</p>
-		<p>[example:webgl_postprocessing_godrays postprocessing / godrays ]</p>
-		<p>[example:webgl_rtt rtt ]</p>
-		<p>[example:webgl_shaders_tonemapping shaders / tonemapping ]</p>
-		<p>[example:webgl_shadowmap shadowmap ]</p>
-		<p>[example:webgl_terrain_dynamic terrain / dynamic ]</p>
-
-		<code>var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
-scene.add( camera );</code>
+		<h2>Examples</h2>
 
+		<p>
+			[example:webgl_camera camera ]<br />
+			[example:webgl_interactive_cubes_ortho interactive / cubes / ortho ]<br />
+			[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]<br />
+			[example:webgl_postprocessing_advanced postprocessing / advanced ]<br />
+			[example:webgl_postprocessing_dof2 postprocessing / dof2 ]<br />
+			[example:webgl_postprocessing_godrays postprocessing / godrays ]<br />
+			[example:webgl_rtt rtt ]<br />
+			[example:webgl_shaders_tonemapping shaders / tonemapping ]<br />
+			[example:webgl_shadowmap shadowmap ]
+		</p>
 
 		<h2>Constructor</h2>
 
@@ -72,13 +75,6 @@ scene.add( camera );</code>
 		The valid range is between the current value of the [page:.near near] plane and infinity.
 		</p>
 
-		<h3>[property:Boolean isOrthographicCamera]</h3>
-		<p>
-			Used to test whether this or derived classes are OrthographicCameras. Default is *true*.<br /><br />
-
-			This should not be changed as it is used internally by the renderer for optimisation.
-		</p>
-
 		<h3>[property:Float left]</h3>
 		<p>Camera frustum left plane.</p>
 

+ 13 - 16
docs/api/en/cameras/PerspectiveCamera.html

@@ -19,18 +19,22 @@
 			common projection mode used for rendering a 3D scene.
 		</p>
 
+		<h2>Code Example</h2>
 
-		<h2>Example</h2>
+		<code>
+		var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
+		scene.add( camera );
+		</code>
 
-		<p>[example:webgl_animation_skinning_blending animation / skinning / blending ]</p>
-		<p>[example:webgl_animation_skinning_morph animation / skinning / blending ]</p>
-		<p>[example:webgl_effects_stereo effects / stereo ]</p>
-		<p>[example:webgl_interactive_cubes interactive / cubes ]</p>
-		<p>[example:webgl_loader_collada_skinning loader / collada / skinning ]</p>
-
-		<code>var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
-scene.add( camera );</code>
+		<h2>Examples</h2>
 
+		<p>
+			[example:webgl_animation_skinning_blending animation / skinning / blending ]<br />
+			[example:webgl_animation_skinning_morph animation / skinning / blending ]<br />
+			[example:webgl_effects_stereo effects / stereo ]<br />
+			[example:webgl_interactive_cubes interactive / cubes ]<br />
+			[example:webgl_loader_collada_skinning loader / collada / skinning ]
+		</p>
 
 		<h2>Constructor</h2>
 
@@ -77,13 +81,6 @@ scene.add( camera );</code>
 		<h3>[property:Float fov]</h3>
 		<p>Camera frustum vertical field of view, from bottom to top of view, in degrees. Default is *50*.</p>
 
-		<h3>[property:Boolean isPerspectiveCamera]</h3>
-		<p>
-			Used to test whether this or derived classes are PerspectiveCameras. Default is *true*.<br /><br />
-
-			This should not be changed as it is used internally by the renderer for optimisation.
-		</p>
-
 
 		<h3>[property:Float near]</h3>
 		<p>

+ 4 - 12
docs/api/en/cameras/StereoCamera.html

@@ -16,22 +16,14 @@
 		[link:https://en.wikipedia.org/wiki/Anaglyph_3D 3D Anaglyph] or [link:https://en.wikipedia.org/wiki/parallax_barrier Parallax Barrier].
 		</p>
 
-
-		<h2>Example</h2>
-
-		<p>[example:webgl_effects_anaglyph effects / anaglyph ]</p>
-		<p>[example:webgl_effects_parallaxbarrier effects / parallaxbarrier ]</p>
-		<p>[example:webgl_effects_stereo effects / stereo ]</p>
+		<h2>Examples</h2>
 
 		<p>
-		This class is used internally in the files<br /><br />
-		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/effects/AnaglyphEffect.js examples/js/effects/AnaglyphEffect.js]<br /><br />
-		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/effects/ParallaxBarrierEffect.js examples/js/effects/ParallaxBarrierEffect.js]<br /><br />
-		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/effects/StereoEffect.js examples/js/effects/StereoEffect.js]<br /><br />
-		used in the above examples.
+			[example:webgl_effects_anaglyph effects / anaglyph ]<br />
+			[example:webgl_effects_parallaxbarrier effects / parallaxbarrier ]<br />
+			[example:webgl_effects_stereo effects / stereo ]
 		</p>
 
-
 		<h2>Constructor</h2>
 
 		<h3>[name]( )</h3>

+ 5 - 5
docs/api/en/constants/CustomBlendingEquations.html

@@ -10,15 +10,12 @@
 	<body>
 		<h1>Custom Blending Equation Constants</h1>
 
-
-		<h2>Example</h2>
-		<p>[example:webgl_materials_blending_custom materials / blending / custom ]</p>
-
-		<h2>Usage</h2>
 		<p>
 			These work with all material types. First set the material's blending mode to THREE.CustomBlending, then set the desired Blending Equation, Source Factor and Destination Factor.
 		</p>
 
+		<h2>Code Example</h2>
+
 		<code>
 		var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
 		material.blending = THREE.CustomBlending;
@@ -27,6 +24,9 @@
 		material.blendDst = THREE.OneMinusSrcAlphaFactor; //default
 		</code>
 
+		<h2>Examples</h2>
+		<p>[example:webgl_materials_blending_custom materials / blending / custom ]</p>
+
 		<h2>Blending Equations</h2>
 		<code>
 		THREE.AddEquation

+ 0 - 79
docs/api/en/constants/DrawModes.html

@@ -1,79 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
-		<script src="list.js"></script>
-		<script src="page.js"></script>
-		<link type="text/css" rel="stylesheet" href="page.css" />
-	</head>
-	<body>
-		<h1>Draw Mode Constants</h1>
-
-		<p class="desc">
-			These are valid values for [page:Mesh.drawMode], and control how the list of vertices is interpeted once sent to the GPU.
-		</p>
-
-		<h2>Draw Modes</h2>
-
-		<code>
-			THREE.TrianglesDrawMode
-		</code>
-		<p>
-			This is the default, and results in every three consecutive vertices (v0, v1, v2), (v3, v4, v5), ...
-			being interpreted as a separate triangle. <br />
-			If the number of vertices is not a multiple of 3, excess vertices are ignored.
-		</p>
-
-		<code>
-			THREE.TriangleStripDrawMode
-		</code>
-		<p>
-			This will result in a series of triangles connected in a strip, given by (v0, v1, v2), (v2, v1, v3), (v2, v3, v4), ...
-			so that every subsequent triangle shares two vertices with the previous triangle.
-		</p>
-
-		<code>
-			THREE.TriangleFanDrawMode
-		</code>
-		<p>
-			This will result in a series of triangles each sharing the first vertex (like a fan),
-			given by (v0, v1, v2), (v0, v2, v3), (v0, v3, v4), ... <br /><br />
-
-			<em>Note:</em> As of [link:https://en.wikipedia.org/wiki/DirectX#DirectX_10 DirectX10], this mode is not supported. As Chrome and Firefox
-			render WebGL using [link:https://en.wikipedia.org/wiki/ANGLE_(software) ANGLE] on Windows,
-			internally this mode will be converted to a supported mode, which will likely lead to lowered
-			performance on those browsers.
-		</p>
-
-
-		<h2>Usage</h2>
-
-		<code>
-		var geometry = new THREE.BufferGeometry();
-
-		var vertices = [];
-
-		vertices.push( -10,  10, 0 );
-		vertices.push( -10, -10, 0 );
-		vertices.push(  10, -10, 0 );
-
-		// ...
-
-		geometry.addAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
-
-		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
-
-		var mesh = new THREE.Mesh( geometry, material );
-		mesh.drawMode = THREE.TrianglesDrawMode; //default
-
-		scene.add( mesh );
-		</code>
-
-		<h2>Source</h2>
-
-		<p>
-			[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
-		</p>
-	</body>
-</html>

+ 0 - 14
docs/api/en/constants/Materials.html

@@ -27,20 +27,6 @@
 		Default is [page:Constant FrontSide].
 		</p>
 
-
-		<h2>Colors</h2>
-		<code>
-		THREE.NoColors
-		THREE.FaceColors
-		THREE.VertexColors
-		</code>
-		<p>
-		[page:Constant NoColors] is the default and applies the material's color to all faces.<br />
-		[page:Constant FaceColors] colors faces according to each [page:Face3 Face3] [page:Color Color] value.<br />
-		[page:Constant VertexColors] colors faces according to each [page:Face3 Face3] vertexColors value. This is an array of three [page:Color Color]s, one for each vertex in the face.<br />
-		See the [example:webgl_geometry_colors geometry / colors] example.
-		</p>
-
 		<h2>Blending Mode</h2>
 		<code>
 		THREE.NoBlending

+ 1 - 1
docs/api/en/constants/Renderer.html

@@ -46,7 +46,7 @@
 
 		[page:constant BasicShadowMap] gives unfiltered shadow maps - fastest, but lowest quality.<br />
 		[page:constant PCFShadowMap] filters shadow maps using the Percentage-Closer Filtering (PCF) algorithm (default).<br />
-		[page:constant PCFSoftShadowMap] filters shadow maps using the Percentage-Closer Soft Shadows (PCSS) algorithm.<br />
+		[page:constant PCFSoftShadowMap] filters shadow maps using the Percentage-Closer Filtering (PCF) algorithm with better soft shadows especially when using low-resolution shadow maps.<br />
 		[page:constant VSMShadowMap] filters shadow maps using the Variance Shadow Map (VSM) algorithm. When using VSMShadowMap all shadow receivers will also cast shadows.
 		</p>
 

+ 324 - 1
docs/api/en/constants/Textures.html

@@ -147,8 +147,14 @@
 		<h2>Formats</h2>
 		<code>
 		THREE.AlphaFormat
+		THREE.RedFormat
+		THREE.RedIntegerFormat
+		THREE.RGFormat
+		THREE.RGIntegerFormat
 		THREE.RGBFormat
+		THREE.RGBIntegerFormat
 		THREE.RGBAFormat
+		THREE.RGBAIntegerFormat
 		THREE.LuminanceFormat
 		THREE.LuminanceAlphaFormat
 		THREE.RGBEFormat
@@ -161,10 +167,35 @@
 
 		[page:constant AlphaFormat] discards the red, green and blue components and reads just the alpha component.<br /><br />
 
+		[page:constant RedFormat] discards the green and blue components and reads just the red component.<br /><br />
+
+		[page:constant RedIntegerFormat] discards the green and blue components and reads just the red component.
+		The texels are read as integers instead of floating point.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
+		[page:constant RGFormat] discards the alpha, and blue components and reads the red, and green components.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
+		[page:constant RGIntegerFormat] discards the alpha, and blue components and reads the red, and green components.
+		The texels are read as integers instead of floating point.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
 		[page:constant RGBFormat] discards the alpha components and reads the red, green and blue components.<br /><br />
 
+		[page:constant RGBIntegerFormat] discards the alpha components and reads the red, green and blue components.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
 		[page:constant RGBAFormat] is the default and reads the red, green, blue and alpha components.<br /><br />
 
+		[page:constant RGBAIntegerFormat] is the default and reads the red, green, blue and alpha components.
+		The texels are read as integers instead of floating point.
+		(can only be used with a WebGL 2 rendering context).
+		<br /><br />
+
 		[page:constant LuminanceFormat] reads each element as a single luminance component.
 		 This is then converted to a floating point, clamped to the range [0,1], and then assembled
 		 into an RGBA element by placing the luminance value in the red, green and blue channels,
@@ -231,11 +262,303 @@
 		<h2>ETC Compressed Texture Format</h2>
 		<code>
 		THREE.RGB_ETC1_Format
+		THREE.RGB_ETC2_Format
+		THREE.RGBA_ETC2_EAC_Format
 		</code>
 		<p>
 		For use with a [page:CompressedTexture CompressedTexture]'s [page:Texture.format format]	property,
 		these require support for the [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc1/ WEBGL_compressed_texture_etc1]
-		extension. <br /><br />
+		(ETC1) or [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/ WEBGL_compressed_texture_etc]
+		(ETC2) extensions. <br /><br />
+		</p>
+
+		<h2>ASTC Compressed Texture Format</h2>
+		<code>
+		THREE.RGBA_ASTC_4x4_Format
+		THREE.RGBA_ASTC_5x4_Format
+		THREE.RGBA_ASTC_5x5_Format
+		THREE.RGBA_ASTC_6x5_Format
+		THREE.RGBA_ASTC_6x6_Format
+		THREE.RGBA_ASTC_8x5_Format
+		THREE.RGBA_ASTC_8x6_Format
+		THREE.RGBA_ASTC_8x8_Format
+		THREE.RGBA_ASTC_10x5_Format
+		THREE.RGBA_ASTC_10x6_Format
+		THREE.RGBA_ASTC_10x8_Format
+		THREE.RGBA_ASTC_10x10_Format
+		THREE.RGBA_ASTC_12x10_Format
+		THREE.RGBA_ASTC_12x12_Format
+		THREE.SRGB8_ALPHA8_ASTC_4x4_Format
+		THREE.SRGB8_ALPHA8_ASTC_5x4_Format
+		THREE.SRGB8_ALPHA8_ASTC_5x5_Format
+		THREE.SRGB8_ALPHA8_ASTC_6x5_Format
+		THREE.SRGB8_ALPHA8_ASTC_6x6_Format
+		THREE.SRGB8_ALPHA8_ASTC_8x5_Format
+		THREE.SRGB8_ALPHA8_ASTC_8x6_Format
+		THREE.SRGB8_ALPHA8_ASTC_8x8_Format
+		THREE.SRGB8_ALPHA8_ASTC_10x5_Format
+		THREE.SRGB8_ALPHA8_ASTC_10x6_Format
+		THREE.SRGB8_ALPHA8_ASTC_10x8_Format
+		THREE.SRGB8_ALPHA8_ASTC_10x10_Format
+		THREE.SRGB8_ALPHA8_ASTC_12x10_Format
+		THREE.SRGB8_ALPHA8_ASTC_12x12_Format
+		</code>
+		<p>
+		For use with a [page:CompressedTexture CompressedTexture]'s [page:Texture.format format]	property,
+		these require support for the [link:https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/ WEBGL_compressed_texture_astc] extension. <br /><br />
+		</p>
+
+		<h2>Internal Formats</h2>
+		<code>
+		'ALPHA'
+		'RGB'
+		'RGBA'
+		'LUMINANCE'
+		'LUMINANCE_ALPHA'
+		'RED_INTEGER'
+		'R8'
+		'R8_SNORM'
+		'R8I'
+		'R8UI'
+		'R16I'
+		'R16UI'
+		'R16F'
+		'R32I'
+		'R32UI'
+		'R32F'
+		'RG8'
+		'RG8_SNORM'
+		'RG8I'
+		'RG8UI'
+		'RG16I'
+		'RG16UI'
+		'RG16F'
+		'RG32I'
+		'RG32UI'
+		'RG32F'
+		'RGB565'
+		'RGB8'
+		'RGB8_SNORM'
+		'RGB8I'
+		'RGB8UI'
+		'RGB16I'
+		'RGB16UI'
+		'RGB16F'
+		'RGB32I'
+		'RGB32UI'
+		'RGB32F'
+		'RGB9_E5'
+		'SRGB8'
+		'R11F_G11F_B10F'
+		'RGBA4'
+		'RGBA8'
+		'RGBA8_SNORM'
+		'RGBA8I'
+		'RGBA8UI'
+		'RGBA16I'
+		'RGBA16UI'
+		'RGBA16F'
+		'RGBA32I'
+		'RGBA32UI'
+		'RGBA32F'
+		'RGB5_A1'
+		'RGB10_A2'
+		'RGB10_A2UI'
+		'SRGB8_ALPHA8'
+		'DEPTH_COMPONENT16'
+		'DEPTH_COMPONENT24'
+		'DEPTH_COMPONENT32F'
+		'DEPTH24_STENCIL8'
+		'DEPTH32F_STENCIL8'
+		</code>
+
+		<p>
+
+		Heads up: changing the internal format of a texture will only affect the
+		texture when using a WebGL 2 rendering context.<br /><br />
+
+		For use with a texture's [page:Texture.internalFormat internalFormat]	property,
+		these define how elements of a texture, or *texels*, are stored on the GPU.<br /><br />
+
+		[page:constant R8] stores the red component on 8 bits.<br /><br />
+
+		[page:constant R8_SNORM] stores the red component on 8 bits. The component is stored as normalized. <br /><br />
+
+		[page:constant R8I] stores the red component on 8 bits. The component is stored as an integer. <br /><br />
+
+		[page:constant R8UI] stores the red component on 8 bits. The component is stored as an unsigned integer. <br /><br />
+
+		[page:constant R16I] stores the red component on 16 bits. The component is stored as an integer. <br /><br />
+
+		[page:constant R16UI] stores the red component on 16 bits. The component is stored as an unsigned integer. <br /><br />
+
+		[page:constant R16F] stores the red component on 16 bits. The component is stored as floating point. <br /><br />
+
+		[page:constant R32I] stores the red component on 32 bits. The component is stored as an integer. <br /><br />
+
+		[page:constant R32UI] stores the red component on 32 bits. The component is stored as an unsigned integer. <br /><br />
+
+		[page:constant R32F] stores the red component on 32 bits. The component is stored as floating point. <br /><br />
+
+		[page:constant RG8] stores the red and green components on 8 bits each.<br /><br />
+
+		[page:constant RG8_SNORM] stores the red and green components on 8 bits each.
+		Every component is stored as normalized.
+		<br /><br />
+
+		[page:constant RG8I] stores the red and green components on 8 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RG8UI] stores the red and green components on 8 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RG16I] stores the red and green components on 16 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RG16UI] stores the red and green components on 16 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RG16F] stores the red and green components on 16 bits each.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RG32I] stores the red and green components on 32 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RG32UI] stores the red and green components on 32 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RG32F] stores the red and green components on 32 bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGB8] stores the red, green, and blue components on 8 bits each.
+
+		[page:constant RGB8_SNORM] stores the red, green, and blue components on 8 bits each.
+		Every component is stored as normalized.
+		<br /><br />
+
+		[page:constant RGB8I] stores the red, green, and blue components on 8 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGB8UI] stores the red, green, and blue components on 8 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGB16I] stores the red, green, and blue components on 16 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGB16UI] stores the red, green, and blue components on 16 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGB16F] stores the red, green, and blue components on 16 bits each.
+		Every component is stored as floating point
+		<br /><br />
+
+		[page:constant RGB32I] stores the red, green, and blue components on 32 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGB32UI] stores the red, green, and blue components on 32 bits each.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGB32F] stores the red, green, and blue components on 32 bits each.
+		Every component is stored as floating point
+		<br /><br />
+
+		[page:constant R11F_G11F_B10F] stores the red, green, and blue components respectively on 11 bits, 11 bits, and 10bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGB565] stores the red, green, and blue components respectively on 5 bits, 6 bits, and 5 bits.<br /><br />
+
+		[page:constant RGB9_E5] stores the red, green, and blue components on 9 bits each.<br /><br />
+
+		[page:constant RGBA8] stores the red, green, blue, and alpha components on 8 bits each.<br /><br />
+
+		[page:constant RGBA8_SNORM] stores the red, green, blue, and alpha components on 8 bits.
+		Every component is stored as normalized.
+		<br /><br />
+
+		[page:constant RGBA8I] stores the red, green, blue, and alpha components on 8 bits each.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGBA8UI] stores the red, green, blue, and alpha components on 8 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGBA16I] stores the red, green, blue, and alpha components on 16 bits.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGBA16UI] stores the red, green, blue, and alpha components on 16 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGBA16F] stores the red, green, blue, and alpha components on 16 bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGBA32I] stores the red, green, blue, and alpha components on 32 bits.
+		Every component is stored as an integer.
+		<br /><br />
+
+		[page:constant RGBA32UI] stores the red, green, blue, and alpha components on 32 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant RGBA32F] stores the red, green, blue, and alpha components on 32 bits.
+		Every component is stored as floating point.
+		<br /><br />
+
+		[page:constant RGB5_A1] stores the red, green, blue, and alpha components respectively on 5 bits, 5 bits, 5 bits, and 1 bit.<br /><br />
+
+		[page:constant RGB10_A2] stores the red, green, blue, and alpha components respectively on 10 bits, 10 bits, 10 bits and 2 bits.<br /><br />
+
+		[page:constant RGB10_A2UI] stores the red, green, blue, and alpha components respectively on 10 bits, 10 bits, 10 bits and 2 bits.
+		Every component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant SRGB8] stores the red, green, and blue components on 8 bits each.<br /><br />
+
+		[page:constant SRGB8_ALPHA8] stores the red, green, blue, and alpha components on 8 bits each.<br /><br />
+
+		[page:constant DEPTH_COMPONENT16] stores the depth component on 16bits.<br /><br />
+
+		[page:constant DEPTH_COMPONENT24] stores the depth component on 24bits.<br /><br />
+
+		[page:constant DEPTH_COMPONENT32F] stores the depth component on 32bits. The component is stored as floating point.<br /><br />
+
+		[page:constant DEPTH24_STENCIL8] stores the depth, and stencil components respectively on 24 bits and 8 bits.
+		The stencil component is stored as an unsigned integer.
+		<br /><br />
+
+		[page:constant DEPTH32F_STENCIL8] stores the depth, and stencil components respectively on 32 bits and 8 bits.
+		The depth component is stored as floating point, and the stencil component as an unsigned integer.
+		<br /><br />
+
+		Note that the texture must have the correct [page:Texture.type type] set,
+		as well as the correct [page:Texture.format format].
+
+		See [link:https://developer.mozilla.org/en/docs/Web/API/WebGLRenderingContext/texImage2D WebGLRenderingContext.texImage2D], and
+		[link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/texImage3D WebGL2RenderingContext.texImage3D],
+		for more details regarding the possible combination of [page:Texture.format format], [page:Texture.internalFormat internalFormat],
+		and [page:Texture.type type].<br /><br />
+
+		For more in-depth information regarding internal formats, you can also refer directly
+		to the [link:https://www.khronos.org/registry/webgl/specs/latest/2.0/ WebGL2 Specification] and
+		to the [link:https://www.khronos.org/registry/OpenGL/specs/es/3.0/es_spec_3.0.pdf OpenGL ES 3.0 Specification].
 		</p>
 
 		<h2>Encoding</h2>

+ 12 - 7
docs/api/en/core/BufferAttribute.html

@@ -58,13 +58,6 @@
 		then this will count the number of such vectors stored.
 		</p>
 
-		<h3>[property:Boolean isBufferAttribute]</h3>
-		<p>
-			Used to check whether this or derived classes are BufferAttributes. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Integer itemSize]</h3>
 		<p>The length of vectors that are being stored in the [page:BufferAttribute.array array].</p>
 
@@ -113,6 +106,18 @@
 
 		<h2>Methods</h2>
 
+		<h3>[method:this applyMatrix3]( [param:Matrix3 m] )</h3>
+		<p>Applies matrix [page:Matrix3 m] to every Vector3 element of this BufferAttribute.</p>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>Applies matrix [page:Matrix4 m] to every Vector3 element of this BufferAttribute.</p>
+
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>Applies normal matrix [page:Matrix3 m] to every Vector3 element of this BufferAttribute.</p>
+
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>Applies matrix [page:Matrix4 m] to every Vector3 element of this BufferAttribute, interpreting the elements as a direction vectors.</p>
+
 		<h3>[method:BufferAttribute clone]() </h3>
 		<p>Return a copy of this bufferAttribute.</p>
 

+ 4 - 9
docs/api/en/core/BufferGeometry.html

@@ -22,7 +22,7 @@
 		For a less efficient but easier-to-use representation of geometry, see [page:Geometry].
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 		<code>
 		var geometry = new THREE.BufferGeometry();
 		// create a simple square shape. We duplicate the top left and bottom right
@@ -42,6 +42,8 @@
 		var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
 		var mesh = new THREE.Mesh( geometry, material );
 		</code>
+
+		<h2>Examples</h2>
 		<p>
 			[example:webgl_buffergeometry Mesh with non-indexed faces]<br />
 			[example:webgl_buffergeometry_indexed Mesh with indexed faces]<br />
@@ -132,13 +134,6 @@
 			Default is *null*.
 		</p>
 
-		<h3>[property:Boolean isBufferGeometry]</h3>
-		<p>
-			Used to check whether this or derived classes are BufferGeometries. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Object morphAttributes]</h3>
 		<p>
 			Hashmap of [page:BufferAttribute]s holding details of the geometry's [page:Geometry.morphTargets morphTargets].
@@ -186,7 +181,7 @@
 		</p>
 
 
-		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Bakes matrix transform directly into vertex coordinates.</p>
 
 		<h3>[method:BufferGeometry center] ()</h3>

+ 15 - 15
docs/api/en/core/EventDispatcher.html

@@ -15,36 +15,36 @@
 			[link:https://github.com/mrdoob/eventdispatcher.js Eventdispatcher on GitHub]
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
-// Adding events to a custom object
+		// Adding events to a custom object
 
-var Car = function () {
+		var Car = function () {
 
-    this.start = function () {
+		    this.start = function () {
 
-        this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
+		        this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
 
-    };
+		    };
 
-};
+		};
 
-// Mixing the EventDispatcher.prototype with the custom object prototype
+		// Mixing the EventDispatcher.prototype with the custom object prototype
 
-Object.assign( Car.prototype, EventDispatcher.prototype );
+		Object.assign( Car.prototype, EventDispatcher.prototype );
 
-// Using events with the custom object
+		// Using events with the custom object
 
-var car = new Car();
+		var car = new Car();
 
-car.addEventListener( 'start', function ( event ) {
+		car.addEventListener( 'start', function ( event ) {
 
-    alert( event.message );
+		    alert( event.message );
 
-} );
+		} );
 
-car.start();
+		car.start();
 		</code>
 
 		<h2>Constructor</h2>

+ 27 - 26
docs/api/en/core/Face3.html

@@ -16,39 +16,40 @@
 		create them manually.
 		</p>
 
-
-		<h2>Examples</h2>
-
-		<p>[example:svg_sandbox svg / sandbox ]</p>
-		<p>[example:misc_exporter_obj exporter / obj ]</p>
-		<p>[example:webgl_shaders_vector WebGL / shaders / vector ]</p>
-
+		<h2>Code Example</h2>
 
 		<code>
-var material = new THREE.MeshStandardMaterial( { color : 0x00cc00 } );
+		var material = new THREE.MeshStandardMaterial( { color : 0x00cc00 } );
 
-//create a triangular geometry
-var 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 triangular geometry
+		var 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
-var normal = new THREE.Vector3( 0, 1, 0 ); //optional
-var color = new THREE.Color( 0xffaa00 ); //optional
-var materialIndex = 0; //optional
-var face = new THREE.Face3( 0, 1, 2, normal, color, materialIndex );
+		//create a new face using vertices 0, 1, 2
+		var normal = new THREE.Vector3( 0, 0, 1 ); //optional
+		var color = new THREE.Color( 0xffaa00 ); //optional
+		var materialIndex = 0; //optional
+		var face = new THREE.Face3( 0, 1, 2, normal, color, materialIndex );
 
-//add the face to the geometry's faces array
-geometry.faces.push( face );
+		//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();
+		//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 ) );
+		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>
 
@@ -97,7 +98,7 @@ scene.add( new THREE.Mesh( geometry, material ) );
 		<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 [page:Materials THREE.FaceColors].
+		must be set to *true*.
 		</p>
 
 		<h3>[property:Array vertexNormals]</h3>
@@ -108,7 +109,7 @@ scene.add( new THREE.Mesh( geometry, material ) );
 		<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 [page:Materials THREE.VertexColors].
+		must be set to *true*.
 		</p>
 
 

+ 18 - 21
docs/api/en/core/Geometry.html

@@ -21,20 +21,10 @@
 		</p>
 		</div>
 
+		<h2>Code Example</h2>
 
-		<h2>Example</h2>
-
-		<div>[example:webgl_geometry_minecraft WebGL / geometry / minecraft ]</div>
-		<div>[example:webgl_geometry_minecraft_ao WebGL / geometry / minecraft / ao ]</div>
-		<div>[example:webgl_geometry_nurbs WebGL / geometry / nurbs ]</div>
-		<div>[example:webgl_geometry_spline_editor WebGL / geometry / spline / editor ]</div>
-		<div>[example:webgl_interactive_cubes_gpu WebGL / interactive / cubes / gpu ]</div>
-		<div>[example:webgl_interactive_lines WebGL / interactive / lines ]</div>
-		<div>[example:webgl_interactive_raycasting_points WebGL / interactive / raycasting / points ]</div>
-		<div>[example:webgl_interactive_voxelpainter WebGL / interactive / voxelpainter ]</div>
-
-
-		<code>var geometry = new THREE.Geometry();
+		<code>
+		var geometry = new THREE.Geometry();
 
 		geometry.vertices.push(
 			new THREE.Vector3( -10,  10, 0 ),
@@ -47,6 +37,20 @@
 		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>
 
 
@@ -98,13 +102,6 @@
 		<h3>[property:Integer id]</h3>
 		<p>Unique number for this geometry instance.</p>
 
-		<h3>[property:Boolean isGeometry]</h3>
-		<p>
-			Used to check whether this or derived classes are Geometries. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:array lineDistances]</h3>
 		<p>
 		An array containing distances between vertices for Line geometries.
@@ -210,7 +207,7 @@
 
 		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
 
-		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Bakes matrix transform directly into vertex coordinates.</p>
 
 		<h3>[method:Geometry center] ()</h3>

+ 1 - 6
docs/api/en/core/InstancedBufferAttribute.html

@@ -22,18 +22,13 @@
 		</p>
 
 		<h2>Properties</h2>
-		See [page:BufferAttribute] for inherited properties.
+		<p>See [page:BufferAttribute] for inherited properties.</p>
 
 		<h3>[property:Number meshPerAttribute]</h3>
 		<p>
 			Default is *1*.
 		</p>
 
-		<h3>[property:Boolean isInstancedBufferAttribute]</h3>
-		<p>
-			Default is *true*.
-		</p>
-
 		<h2>Methods</h2>
 		<p>See [page:BufferAttribute] for inherited methods.</p>
 

+ 2 - 13
docs/api/en/core/InstancedBufferGeometry.html

@@ -22,26 +22,15 @@
 		</p>
 
 		<h2>Properties</h2>
-		See [page:BufferGeometry] for inherited properties.
+		<p>See [page:BufferGeometry] for inherited properties.</p>
 
 		<h3>[property:Number maxInstancedCount]</h3>
 		<p>
 			Default is *undefined*.
 		</p>
 
-		<h3>[property:Boolean isInstancedBufferGeometry]</h3>
-		<p>
-			Default is *true*.
-		</p>
-
 		<h2>Methods</h2>
-		<p>See [page:BufferAttribute] for inherited methods.</p>
-
-		<h3>[property:Number addGroup]( start, count, materialIndex )</h3>
-		<p>
-
-		</p>
-
+		<p>See [page:BufferGeometry] for inherited methods.</p>
 
 		<h2>Source</h2>
 

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

@@ -31,11 +31,6 @@
 			Default is *1*.
 		</p>
 
-		<h3>[property:Boolean isInstancedInterleavedBuffer]</h3>
-		<p>
-			Default is *true*.
-		</p>
-
 		<h2>Methods</h2>
 		<p>
 			See [page:InterleavedBuffer] for inherited methods.

+ 1 - 6
docs/api/en/core/InterleavedBuffer.html

@@ -16,7 +16,7 @@
 			An introduction into interleaved arrays can be found here: [link:https://blog.tojicode.com/2011/05/interleaved-array-basics.html Interleaved array basics]
 		</p>
 
-		<h2>Example</h2>
+		<h2>Examples</h2>
 
 		<p>[example:webgl_buffergeometry_points_interleaved webgl / buffergeometry / points / interleaved]</p>
 
@@ -64,11 +64,6 @@
 		A version number, incremented every time the needsUpdate property is set to true.
 		</p>
 
-		<h3>[property:Boolean isInterleavedBuffer]</h3>
-		<p>
-		Default is *true*.
-		</p>
-
 		<h3>[property:Boolean needsUpdate]</h3>
 		<p>
 		Default is *false*. Setting this to true increments [page:InterleavedBuffer.version version].

+ 3 - 5
docs/api/en/core/InterleavedBufferAttribute.html

@@ -55,13 +55,11 @@
 			Default is *false*.
 		</p>
 
-		<h3>[property:Boolean isInterleavedBufferAttribute]</h3>
-		<p>
-			Default is *true*.
-		</p>
-
 		<h2>Methods</h2>
 
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>Applies matrix [page:Matrix4 m] to every Vector3 element of this InterleavedBufferAttribute.</p>
+
 		<h3>[method:Number getX]( [param:Integer index] ) </h3>
 		<p>Returns the x component of the item at the given index.</p>
 

+ 3 - 9
docs/api/en/core/Object3D.html

@@ -58,17 +58,11 @@
 		<h3>[property:Integer id]</h3>
 		<p>readonly – Unique number for this object instance.</p>
 
-		<h3>[property:Boolean isObject3D]</h3>
-		<p>
-			Used to check whether this or derived classes are Object3Ds. Default is *true*.<br /><br />
-
-			You should not change this, as it is used internally for optimisation.
-		</p>
-
 		<h3>[property:Layers layers]</h3>
 		<p>
 		The layer membership of the object. The object is only visible if it has at least one
-		layer in common with the [page:Camera] in use.
+		layer in common with the [page:Camera] in use. This property can also be used to filter out
+		unwanted objects in ray-intersection tests when using [page:Raycaster].
 		</p>
 
 		<h3>[property:Matrix4 matrix]</h3>
@@ -211,7 +205,7 @@
 		See [page:Group] for info on manually grouping objects.
 		</p>
 
-		<h3>[method:null applyMatrix]( [param:Matrix4 matrix] )</h3>
+		<h3>[method:null applyMatrix4]( [param:Matrix4 matrix] )</h3>
 		<p>Applies the matrix transform to the object and updates the object's position, rotation and scale.</p>
 
 		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>

+ 20 - 14
docs/api/en/core/Raycaster.html

@@ -16,7 +16,7 @@
 		other things.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 		<code>
 		var raycaster = new THREE.Raycaster();
 		var mouse = new THREE.Vector2();
@@ -54,8 +54,11 @@
 		window.requestAnimationFrame(render);
 
 		</code>
-		<div>
-			Examples: [example:webgl_interactive_cubes Raycasting to a Mesh]<br />
+
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl_interactive_cubes Raycasting to a Mesh]<br />
 			[example:webgl_interactive_cubes_ortho Raycasting to a Mesh in using an OrthographicCamera]<br />
 			[example:webgl_interactive_buffergeometry Raycasting to a Mesh with BufferGeometry]<br />
 			[example:webgl_instancing_raycast Raycasting to a InstancedMesh]<br />
@@ -64,13 +67,8 @@
 			[example:webgl_geometry_terrain_raycast Terrain raycasting]<br />
 			[example:webgl_interactive_voxelpainter Raycasting to paint voxels]<br />
 			[example:webgl_raycast_texture Raycast to a Texture]
-		</div>
-
-
-		<p>
 		</p>
 
-
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:Vector3 origin], [param:Vector3 direction], [param:Float near], [param:Float far] ) {</h3>
@@ -93,11 +91,6 @@
 		This value shouldn't be negative and should be larger than the near property.
 		</p>
 
-		<h3>[property:float linePrecision]</h3>
-		<p>
-		The precision factor of the raycaster when intersecting [page:Line] objects.
-		</p>
-
 		<h3>[property:float near]</h3>
 		<p>
 		The near factor of the raycaster. This value indicates which objects can be discarded based on the distance.
@@ -112,6 +105,18 @@
 		Defaults to null.
 		</p>
 
+		<h3>[property:Layers layers]</h3>
+		<p>
+		Used by [name] to selectively ignore 3D objects when performing intersection tests. The following code example ensures that
+		only 3D objects on layer *1* will be honored by the instance of [name].
+
+		<code>
+		raycaster.layers.set( 1 );
+		object.layers.enable( 1 );
+		</code>
+
+		</p>
+
 		<h3>[property:Object params]</h3>
 		<p>
 		An object with the following properties:
@@ -119,13 +124,14 @@
 			<code>
 {
 	Mesh: {},
-	Line: {},
+	Line: { threshold: 1 },
 	LOD: {},
 	Points: { threshold: 1 },
 	Sprite: {}
 }
 			</code>
 
+		Where threshold is the precision of the raycaster when intersecting objects, in world units.
 		</p>
 
 		<h3>[property:Ray ray]</h3>

+ 66 - 6
docs/api/en/core/Uniform.html

@@ -13,18 +13,18 @@
 		<p class="desc">Uniforms are global [link:https://www.opengl.org/documentation/glsl/ GLSL] variables. They are passed to shader programs.
 		</p>
 
-		<h3>Example</h3>
+		<h2>Code Example</h2>
 		<p>
 		When declaring a uniform of a [page:ShaderMaterial], it is declared by value or by object.
 		</p>
 		<code>
 		uniforms: {
 			time: { value: 1.0 },
-			resolution: new THREE.Uniform(new THREE.Vector2())
-		}
+			resolution: new Uniform( new Vector2() )
+		};
 		</code>
 
-		<h3>Uniform types</h3>
+		<h2>Uniform types</h2>
 
 		<p>
 		Each uniform must have a *value* property. The type of the value must correspond to the
@@ -50,6 +50,10 @@
 					<td>int</td>
 					<td>[page:Number]</td>
 				</tr>
+				<tr>
+					<td>uint (WebGL 2)</td>
+					<td>[page:Number]</td>
+				</tr>
 				<tr>
 					<td>float</td>
 					<td>[page:Number]</td>
@@ -182,6 +186,63 @@
 		(*) Same for an (innermost) array (dimension) of the same GLSL type, containing the components of all vectors or matrices in the array.
 		</p>
 
+		<h2>Structured Uniforms</h2>
+
+		<p>
+			Sometimes you want to organize uniforms as *structs* in your shader code. The following style must be used so *three.js* is able
+			to process structured uniform data.
+		</p>
+		<code>
+		uniforms = {
+			data: {
+				value: {
+					position: new Vector3(),
+					direction: new Vector3( 0, 0, 1 )
+				 }
+			}
+		};
+		</code>
+		This definition can be mapped on the following GLSL code:
+		<code>
+		struct Data {
+			vec3 position;
+			vec3 direction;
+		};
+
+		uniform Data data;
+		</code>
+
+		<h2>Structured Uniforms with Arrays</h2>
+
+		<p>
+			It's also possible to manage *structs* in arrays. The syntax for this use case looks like so:
+		</p>
+		<code>
+		var entry1 = {
+			position: new Vector3(),
+			direction: new Vector3( 0, 0, 1 )
+		};
+		var entry2 = {
+			position: new Vector3( 1, 1, 1 ),
+			direction: new Vector3( 0, 1, 0 )
+		};
+
+		uniforms = {
+			data: {
+				value: [ entry1, entry2 ]
+			}
+		};
+		</code>
+		This definition can be mapped on the following GLSL code:
+		<code>
+		struct Data {
+			vec3 position;
+			vec3 direction;
+		};
+
+		uniform Data data[ 2 ];
+		</code>
+
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:Object value] )</h3>
@@ -202,8 +263,7 @@
 		<p>
 		Returns a clone of this uniform.<br />
 		If the uniform's value property is an [page:Object] with a clone() method, this is used, otherwise the value is copied by assignment.
-		Array values are shared between cloned [page:Uniform]s.<br /><br />
-		See [example:webgldeferred_animation WebGL deferred animation] for an example of this method in use.
+		Array values are shared between cloned [page:Uniform]s.
 		</p>
 
 		<h2>Source</h2>

+ 9 - 3
docs/api/en/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -46,14 +46,20 @@
 
 		<h2>Properties</h2>
 
-		See the [page:BufferAttribute] page for inherited properties.
+		<p>
+			See the [page:BufferAttribute] page for inherited properties.
+		</p>
 
 		<h2>Methods</h2>
 
-		See the [page:BufferAttribute] page for inherited methods.
+		<p>
+			See the [page:BufferAttribute] page for inherited methods.
+		</p>
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js src/core/BufferAttribute.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js src/core/BufferAttribute.js]
+		</p>	
 	</body>
 </html>

+ 30 - 20
docs/api/en/deprecated/DeprecatedList.html

@@ -55,7 +55,7 @@
 
 
 		<h3>[page:DynamicBufferAttribute]</h3>
-		<p>DynamicBufferAttribute has been removed. Use [page:BufferAttribute.setDynamic]( true ) instead.</p>
+		<p>DynamicBufferAttribute has been removed. Use [page:BufferAttribute.setUsage]( THREE.DynamicDrawUsage ) instead.</p>
 
 		<h3>[page:Int8Attribute]</h3>
 		<p>Int8Attribute has been removed. Use [page:BufferAttributeTypes Int8BufferAttribute] instead.</p>
@@ -152,14 +152,6 @@
 
 
 
-		<h2>Geometry</h2>
-
-		<p>
-			Geometry.computeTangents() has been removed.<br /><br />
-
-			Geometry.computeLineDistances() has been removed. Use [page:Line.computeLineDistances] instead.<br /><br />
-		</p>
-
 		<h3>[page:BufferGeometry]</h3>
 		<p>
 			BufferGeometry.addIndex has been renamed to [page:BufferGeometry.setIndex].<br /><br />
@@ -176,13 +168,25 @@
 
 			BufferGeometry.offsets has been renamed to [page:BufferGeometry.groups].<br /><br />
 
+			BufferGeometry.applyMatrix() has been renamed to [page:BufferGeometry.applyMatrix4]().
 		</p>
 
+
+
+
 		<h3>[page:CubeGeometry]</h3>
 		<p>CubeGeometry has been renamed to [page:BoxGeometry].</p>
 
+
+
 		<h3>[page:Geometry]</h3>
-		<p>Geometry.computeTangents() has been removed.</p>
+		<p>
+			Geometry.computeTangents() has been removed.<br /><br />
+
+			Geometry.computeLineDistances() has been removed. Use [page:Line.computeLineDistances] instead.<br /><br />
+
+			Geometry.applyMatrix() has been renamed to [page:Geometry.applyMatrix4]().
+		</p>
 
 		<h3>[page:GeometryUtils]</h3>
 		<p>
@@ -253,7 +257,7 @@
 		<h3>[page:JSONLoader]</h3>
 		<p>JSONLoader has been removed from core.</p>
 
-		<h2>Maths</h2>
+		<h2>Math</h2>
 
 		<h3>[page:Box2]</h3>
 		<p>
@@ -283,6 +287,9 @@
 		<h3>[page:Face4]</h3>
 		<p>Face4 has been removed. Use [page:Face3] instead.</p>
 
+		<h3>[page:Frustum]</h3>
+		<p>Frustum.setFromMatrix() has been renamed to [page:Frustum.setFromProjectionMatrix]().</p>
+
 		<h3>[page:Line3]</h3>
 		<p>Line3.center has been renamed to [page:Line3.getCenter]().</p>
 
@@ -293,15 +300,15 @@
 
 		<h3>[page:Matrix3]</h3>
 		<p>
-			Matrix3.flattenToArrayOffset is deprecated. Use [page:Matrix3.toArray]() instead.<br /><br />
+			Matrix3.flattenToArrayOffset() is deprecated. Use [page:Matrix3.toArray]() instead.<br /><br />
 
-			Matrix3.multiplyVector3 has been removed. Use vector.applyMatrix3( matrix ) instead.<br /><br />
+			Matrix3.multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.<br /><br />
 
-			Matrix3.multiplyVector3Array has been renamed to [page:Matrix3.applyToVector3Array]( array ).<br /><br />
+			Matrix3.multiplyVector3Array() has been renamed to [page:Matrix3.applyToVector3Array]( array ).<br /><br />
 
-			Matrix3.applyToBuffer has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.<br /><br />
+			Matrix3.applyToBufferAttribute() has been removed. Use [page:BufferAttribute.applyMatrix3]( matrix ) instead.<br /><br />
 
-			Matrix3.applyToVector3Array has been removed.
+			Matrix3.applyToVector3Array() has been removed.
 		<p>
 
 		<h3>[page:Matrix4]</h3>
@@ -332,7 +339,7 @@
 
 			Matrix4.rotateByAxis() has been removed.<br /><br />
 
-			Matrix4.applyToBuffer() has been removed. Use matrix.applyToBufferAttribute() instead.<br /><br />
+			Matrix4.applyToBufferAttribute() has been removed. Use [page:BufferAttribute.applyMatrix4]( matrix ) instead.<br /><br />
 
 			Matrix4.applyToVector3Array() has been removed.<br /><br />
 
@@ -458,12 +465,15 @@
 
 			Object3D.translate() has been removed. Use [page:Object3D.translateOnAxis]( axis, distance ) instead.<br /><br />
 
-			Object3D.useQuaternion has been removed. The library now uses quaternions by default.
+			Object3D.useQuaternion has been removed. The library now uses quaternions by default.<br /><br />
+
+			Object3D.applyMatrix() has been renamed to [page:Object3D.applyMatrix4]().
+
 		</p>
 
 		<h3>[page:LensFlare]</h3>
 		<p>
-			LensFlare has been moved to [link:https://github.com/mrdoob/three.js/blob/master/examples/js/objects/Lensflare.js /examples/js/objects/Lensflare.js].
+			LensFlare has been moved to [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/objects/Lensflare.js /examples/jsm/objects/Lensflare.js].
 		</p>
 
 
@@ -499,7 +509,7 @@
 		<h3>[page:Projector]</h3>
 		<p>
 			Projector has been moved to
-			[link:https://github.com/mrdoob/three.js/blob/master/examples/js/renderers/Projector.js 	/examples/js/renderers/Projector.js].<br /><br />
+			[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/renderers/Projector.js 	/examples/jsm/renderers/Projector.js].<br /><br />
 
 			Projector.projectVector() is now [page:Vector.project]().<br /><br />
 

+ 32 - 0
docs/api/en/extras/ImageUtils.html

@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+		A class containing utility functions for images.
+		</p>
+
+		<h2>Methods</h2>
+
+		<h3>[method:String getDataURL]( [param:HTMLCanvasElement image] | [param:HTMLImageElement image] | [param:ImageBitmap image] )</h3>
+		<p>
+		image -- The image object.<br /><br />
+
+		Returns a data URI containing a representation of the given image.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 80 - 0
docs/api/en/extras/PMREMGenerator.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="list.js"></script>
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			This class generates a Prefiltered, Mipmapped Radiance Environment Map (PMREM) from a cubeMap environment texture.
+			This allows different levels of blur to be quickly accessed based on material roughness. It is packed into a special
+			CubeUV format that allows us to perform custom interpolation so that we can support nonlinear formats such as RGBE.
+			Unlike a traditional mipmap chain, it only goes down to the LOD_MIN level (above), and then creates extra even more
+			filtered 'mips' at the same LOD_MIN resolution, associated with higher roughness levels. In this way we maintain
+			resolution to smoothly interpolate diffuse lighting while limiting sampling computation.
+		</p>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [param:WebGLRenderer renderer] )</h3>
+		<p>
+		This constructor creates a new [name].
+		</p>
+
+		<h2>Methods</h2>
+
+		<h3>[method:WebGLRenderTarget fromScene]( [param:Scene scene], [param:Number sigma], [param:Number near], [param:Number far] )</h3>
+		<p>
+			[page:Scene scene] - The given scene.<br>
+			[page:Number sigma] - (optional) Specifies a blur radius in radians to be applied to the scene before PMREM generation. Default is *0*.<br>
+			[page:Number near] - (optional) The near plane value. Default is *0.1*.<br>
+			[page:Number far] - (optional) The far plane value. Default is *100*.<br /><br />
+
+			Generates a PMREM from a supplied Scene, which can be faster than using an image if networking bandwidth is low.
+			Optional near and far planes ensure the scene is rendered in its entirety (the cubeCamera is placed at the origin).
+		</p>
+
+		<h3>[method:WebGLRenderTarget fromEquirectangular]( [param:Texture equirectangular] )</h3>
+		<p>
+			[page:Texture equirectangular] - The equirectangular texture.<br /><br />
+
+			Generates a PMREM from an equirectangular texture, which can be either LDR (RGBFormat) or HDR (RGBEFormat).
+			The ideal input image size is 1k (1024 x 512), as this matches best with the 256 x 256 cubemap output.
+		</p>
+
+		<h3>[method:WebGLRenderTarget fromCubemap]( [param:CubeTexture cubemap] )</h3>
+		<p>
+			[page:CubeTexture cubemap] - The cubemap texture.<br /><br />
+
+			Generates a PMREM from an cubemap texture, which can be either LDR (RGBFormat) or HDR (RGBEFormat).
+			The ideal input cube size is 256 x 256, as this matches best with the 256 x 256 cubemap output.
+		</p>
+
+		<h3>[method:void compileCubemapShader]()</h3>
+		<p>
+			Pre-compiles the cubemap shader. You can get faster start-up by invoking this method during your texture's network fetch for increased concurrency.
+		</p>
+
+		<h3>[method:void compileEquirectangularShader]()</h3>
+		<p>
+			Pre-compiles the equirectangular shader. You can get faster start-up by invoking this method during your texture's network fetch for increased concurrency.
+		</p>
+
+		<h3>[method:void dispose]()</h3>
+		<p>
+			Disposes of the PMREMGenerator's internal memory. Note that PMREMGenerator is a static class, so you should not need more than one
+			PMREMGenerator object. If you do, calling dispose() on one of them will cause any others to also become unusable.
+		</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/extras/ShapeUtils.html

@@ -28,7 +28,7 @@
 
 		</p>
 
-		<h3>[method:Boolean isClockwise]( pts )</h3>
+		<h3>[method:Boolean isClockWise]( pts )</h3>
 		<p>
 		pts -- points defining a 2D polygon<br /><br />
 

+ 20 - 0
docs/api/en/extras/core/CurvePath.html

@@ -52,6 +52,26 @@
 		<h3>[method:Float getCurveLengths]()</h3>
 		<p>Adds together the lengths of the curves in the [page:.curves] array.</p>
 
+		<h3>[method:Vector getPoint]( [param:Float t] )</h3>
+		<p>
+			[page:Float t] - A position on the curve. Must be in the range [ 0, 1 ]. <br><br />
+
+			Returns a vector for a given position on the curve path.
+		</p>
+
+		<h3>[method:Array getPoints]( [param:Integer divisions] )</h3>
+		<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 ).
+		</p>
+
+		<h3>[method:Array getSpacedPoints]( [param:Integer divisions] )</h3>
+		<p>
+			divisions -- number of pieces to divide the curve into. Default is *40*.<br /><br />
+
+			Returns a set of divisions + 1 equi-spaced points using getPointAt( u ).
+		</p>
 
 		<h2>Source</h2>
 

+ 0 - 7
docs/api/en/extras/core/Font.html

@@ -37,13 +37,6 @@
 		<h3>[property:array data]</h3>
 		<p>The JSON data passed in the constructor.</p>
 
-		<h3>[property:Boolean isFont]</h3>
-		<p>
-			Used to check whether this or derived classes are fonts. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally by the renderer for optimisation.
-		</p>
-
 		<h2>Methods</h2>
 
 		<h3>[method:null generateShapes]( [param:String text], [param:Float size] )</h3>

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

@@ -11,7 +11,7 @@
 		<h1>[name]</h1>
 
 		<p class="desc">
-		TODO
+			[name] contains spline and Bézier functions internally used by concrete curve classes.
 		</p>
 
 		<h2>Methods</h2>

+ 14 - 14
docs/api/en/extras/core/Path.html

@@ -16,22 +16,22 @@
 		A 2D path representation. The class provides methods for creating paths and contours of 2D shapes similar to the 2D Canvas API.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
-			var path = new THREE.Path();
+		var path = new THREE.Path();
 
-			path.lineTo( 0, 0.8 );
-			path.quadraticCurveTo( 0, 1, 0.2, 1 );
-			path.lineTo( 1, 1 );
+		path.lineTo( 0, 0.8 );
+		path.quadraticCurveTo( 0, 1, 0.2, 1 );
+		path.lineTo( 1, 1 );
 
-			var points = path.getPoints();
+		var points = path.getPoints();
 
-			var geometry = new THREE.BufferGeometry().setFromPoints( points );
-			var material = new THREE.LineBasicMaterial( { color: 0xffffff } );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var material = new THREE.LineBasicMaterial( { color: 0xffffff } );
 
-			var line = new THREE.Line( geometry, material );
-			scene.add( line );
+		var line = new THREE.Line( geometry, material );
+		scene.add( line );
 		</code>
 
 
@@ -60,7 +60,7 @@
 		<h2>Methods</h2>
 		<p>See the base [page:CurvePath] class for common methods.</p>
 
-		<h3>[method:this absarc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise] )</h3>
+		<h3>[method:this absarc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
 		<p>
 			x, y -- The absolute center of the arc.<br />
 			radius -- The radius of the arc.<br />
@@ -71,7 +71,7 @@
 			Adds an absolutely positioned [page:EllipseCurve EllipseCurve] to the path.
 		</p>
 
-		<h3>[method:this absellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise], [param:Float rotation] )</h3>
+		<h3>[method:this absellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
 		<p>
 			x, y -- The absolute center of the ellipse.<br />
 			xRadius -- The radius of the ellipse in the x axis.<br />
@@ -84,7 +84,7 @@
 			Adds an absolutely positioned [page:EllipseCurve EllipseCurve] to the path.
 		</p>
 
-		<h3>[method:this arc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise] )</h3>
+		<h3>[method:this arc]( [param:Float x], [param:Float y], [param:Float radius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise] )</h3>
 		<p>
 		x, y -- The center of the arc offset from the last call.<br />
 		radius -- The radius of the arc.<br />
@@ -99,7 +99,7 @@
 		<h3>[method:this bezierCurveTo]( [param:Float cp1X], [param:Float cp1Y], [param:Float cp2X], [param:Float cp2Y], [param:Float x], [param:Float y] )</h3>
 		<p>This creates a bezier curve from [page:.currentPoint] with (cp1X, cp1Y) and (cp2X, cp2Y) as control points and updates [page:.currentPoint] to x and y.</p>
 
-		<h3>[method:this ellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Float clockwise], [param:Float rotation] )</h3>
+		<h3>[method:this ellipse]( [param:Float x], [param:Float y], [param:Float xRadius], [param:Float yRadius], [param:Float startAngle], [param:Float endAngle], [param:Boolean clockwise], [param:Float rotation] )</h3>
 		<p>
 			x, y -- The center of the ellipse offset from the last call.<br />
 			xRadius -- The radius of the ellipse in the x axis.<br />

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

@@ -17,6 +17,8 @@
 		[page:ShapeGeometry], to get points, or to get triangulated faces.
 		</p>
 
+		<h2>Code Example</h2>
+
 		<code>
 		var heartShape = new THREE.Shape();
 
@@ -30,7 +32,7 @@
 
 		var extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
 
-		var geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
+		var geometry = new THREE.ExtrudeBufferGeometry( heartShape, extrudeSettings );
 
 		var mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
 		</code>

+ 7 - 6
docs/api/en/extras/core/ShapePath.html

@@ -8,8 +8,6 @@
 		<link type="text/css" rel="stylesheet" href="page.css" />
 	</head>
 	<body>
-		[page:Curve] &rarr; [page:CurvePath] &rarr;
-
 		<h1>[name]</h1>
 
 		<p class="desc">
@@ -18,9 +16,10 @@
 		series of paths.
 		</p>
 
-		<h2>Example</h2>
-
-		[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2]
+		<h2>Examples</h2>
+		<p>
+			[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2]
+		</p>
 
 		<h2>Constructor</h2>
 
@@ -89,6 +88,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/extras/core/ShapePath.js src/extras/core/ShapePath.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/extras/core/ShapePath.js src/extras/core/ShapePath.js]
+		</p>
 	</body>
 </html>

+ 1 - 8
docs/api/en/extras/curves/ArcCurve.html

@@ -12,18 +12,11 @@
 
 		<h1>[name]</h1>
 
-		<p class="desc">Alias for [page:EllipseCurve]</p>
+		<p class="desc">Alias for [page:EllipseCurve].</p>
 
 		<h2>Properties</h2>
 		<p>See the [page:EllipseCurve] class for common properties.</p>
 
-		<h3>[property:Boolean isArcCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are ArcCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 
 		<h2>Source</h2>
 

+ 20 - 24
docs/api/en/extras/curves/CatmullRomCurve3.html

@@ -15,29 +15,32 @@
 		<p class="desc">Create a smooth 3d spline curve from a series of points using the
 			[link:https://en.wikipedia.org/wiki/Centripetal_Catmull-Rom_spline Catmull-Rom] algorithm.</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
-<code>
-//Create a closed wavey loop
-var curve = new THREE.CatmullRomCurve3( [
-	new THREE.Vector3( -10, 0, 10 ),
-	new THREE.Vector3( -5, 5, 5 ),
-	new THREE.Vector3( 0, 0, 0 ),
-	new THREE.Vector3( 5, -5, 5 ),
-	new THREE.Vector3( 10, 0, 10 )
-] );
+		<code>
+		//Create a closed wavey loop
+		var curve = new THREE.CatmullRomCurve3( [
+			new THREE.Vector3( -10, 0, 10 ),
+			new THREE.Vector3( -5, 5, 5 ),
+			new THREE.Vector3( 0, 0, 0 ),
+			new THREE.Vector3( 5, -5, 5 ),
+			new THREE.Vector3( 10, 0, 10 )
+		] );
 
-var points = curve.getPoints( 50 );
-var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var points = curve.getPoints( 50 );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-// Create the final object to add to the scene
-var curveObject = new THREE.Line( geometry, material );
-</code>
+		// Create the final object to add to the scene
+		var curveObject = new THREE.Line( geometry, material );
+		</code>
 
-		<h3>[example:webgl_geometry_extrude_splines geometry / extrude / splines]</h3>
+		<h2>Examples</h2>
 
+		<p>
+			[example:webgl_geometry_extrude_splines WebGL / geometry / extrude / splines]
+		</p>
 
 		<h2>Constructor</h2>
 
@@ -53,13 +56,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isCatmullRomCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are CatmullRomCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Array points]</h3>
 		<p>The array of [page:Vector3] points that define the curve. It needs at least two entries.</p>
 

+ 14 - 21
docs/api/en/extras/curves/CubicBezierCurve.html

@@ -18,24 +18,24 @@
 			defined by a start point, endpoint and two control points.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
-<code>
-var curve = new THREE.CubicBezierCurve(
-	new THREE.Vector2( -10, 0 ),
-	new THREE.Vector2( -5, 15 ),
-	new THREE.Vector2( 20, 15 ),
-	new THREE.Vector2( 10, 0 )
-);
+		<code>
+		var curve = new THREE.CubicBezierCurve(
+			new THREE.Vector2( -10, 0 ),
+			new THREE.Vector2( -5, 15 ),
+			new THREE.Vector2( 20, 15 ),
+			new THREE.Vector2( 10, 0 )
+		);
 
-var points = curve.getPoints( 50 );
-var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var points = curve.getPoints( 50 );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-// Create the final object to add to the scene
-var curveObject = new THREE.Line( geometry, material );
-</code>
+		// Create the final object to add to the scene
+		var curveObject = new THREE.Line( geometry, material );
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -51,13 +51,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isCubicBezierCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are CubicBezierCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector2 v0]</h3>
 		<p>The starting point.</p>
 

+ 14 - 21
docs/api/en/extras/curves/CubicBezierCurve3.html

@@ -18,25 +18,25 @@
 			defined by a start point, endpoint and two control points.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
-<code>
-var curve = new THREE.CubicBezierCurve3(
-	new THREE.Vector3( -10, 0, 0 ),
-	new THREE.Vector3( -5, 15, 0 ),
-	new THREE.Vector3( 20, 15, 0 ),
-	new THREE.Vector3( 10, 0, 0 )
-);
+		<code>
+		var curve = new THREE.CubicBezierCurve3(
+			new THREE.Vector3( -10, 0, 0 ),
+			new THREE.Vector3( -5, 15, 0 ),
+			new THREE.Vector3( 20, 15, 0 ),
+			new THREE.Vector3( 10, 0, 0 )
+		);
 
-var points = curve.getPoints( 50 );
-var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var points = curve.getPoints( 50 );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-// Create the final object to add to the scene
-var curveObject = new THREE.Line( geometry, material );
+		// Create the final object to add to the scene
+		var curveObject = new THREE.Line( geometry, material );
 
-</code>
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -52,13 +52,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isCubicBezierCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are CubicBezierCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector2 v0]</h3>
 		<p>The starting point.</p>
 

+ 15 - 22
docs/api/en/extras/curves/EllipseCurve.html

@@ -17,25 +17,25 @@
 			[page:Number xRadius] equal to the [page:Number yRadius] will result in a circle.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
-<code>
-var curve = new THREE.EllipseCurve(
-	0,  0,            // ax, aY
-	10, 10,           // xRadius, yRadius
-	0,  2 * Math.PI,  // aStartAngle, aEndAngle
-	false,            // aClockwise
-	0                 // aRotation
-);
+		<code>
+		var curve = new THREE.EllipseCurve(
+			0,  0,            // ax, aY
+			10, 10,           // xRadius, yRadius
+			0,  2 * Math.PI,  // aStartAngle, aEndAngle
+			false,            // aClockwise
+			0                 // aRotation
+		);
 
-var points = curve.getPoints( 50 );
-var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var points = curve.getPoints( 50 );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-// Create the final object to add to the scene
-var ellipse = new THREE.Line( geometry, material );
-</code>
+		// Create the final object to add to the scene
+		var ellipse = new THREE.Line( geometry, material );
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -55,13 +55,6 @@ var ellipse = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isEllipseCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are EllipseCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Float aX]</h3>
 		<p>The X center of the ellipse.</p>
 

+ 0 - 7
docs/api/en/extras/curves/LineCurve.html

@@ -27,13 +27,6 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isLineCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are LineCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector2 v1]</h3>
 		<p>The start point.</p>
 

+ 0 - 7
docs/api/en/extras/curves/LineCurve3.html

@@ -27,13 +27,6 @@
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isLineCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are LineCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector3 v1]</h3>
 		<p>The start point.</p>
 

+ 13 - 21
docs/api/en/extras/curves/QuadraticBezierCurve.html

@@ -18,23 +18,23 @@
 			defined by a startpoint, endpoint and a single control point.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
-<code>
-var curve = new THREE.QuadraticBezierCurve(
-	new THREE.Vector2( -10, 0 ),
-	new THREE.Vector2( 20, 15 ),
-	new THREE.Vector2( 10, 0 )
-);
+		<code>
+		var curve = new THREE.QuadraticBezierCurve(
+			new THREE.Vector2( -10, 0 ),
+			new THREE.Vector2( 20, 15 ),
+			new THREE.Vector2( 10, 0 )
+		);
 
-var points = curve.getPoints( 50 );
-var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var points = curve.getPoints( 50 );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-//Create the final object to add to the scene
-var curveObject = new THREE.Line( geometry, material );
-</code>
+		//Create the final object to add to the scene
+		var curveObject = new THREE.Line( geometry, material );
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -50,14 +50,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isQuadraticBezierCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are QuadraticBezierCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
-
 		<h3>[property:Vector2 v0]</h3>
 		<p>The startpoint.</p>
 

+ 13 - 20
docs/api/en/extras/curves/QuadraticBezierCurve3.html

@@ -18,23 +18,23 @@
 			defined by a startpoint, endpoint and a single control point.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
-<code>
-var curve = new THREE.QuadraticBezierCurve3(
-	new THREE.Vector3( -10, 0, 0 ),
-	new THREE.Vector3( 20, 15, 0 ),
-	new THREE.Vector3( 10, 0, 0 )
-);
+		<code>
+		var curve = new THREE.QuadraticBezierCurve3(
+			new THREE.Vector3( -10, 0, 0 ),
+			new THREE.Vector3( 20, 15, 0 ),
+			new THREE.Vector3( 10, 0, 0 )
+		);
 
-var points = curve.getPoints( 50 );
-var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var points = curve.getPoints( 50 );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-// Create the final object to add to the scene
-var curveObject = new THREE.Line( geometry, material );
-</code>
+		// Create the final object to add to the scene
+		var curveObject = new THREE.Line( geometry, material );
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -51,13 +51,6 @@ var curveObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isQuadraticBezierCurve3]</h3>
-		<p>
-			Used to check whether this or derived classes are QuadraticBezierCurve3s. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Vector3 v0]</h3>
 		<p>The startpoint.</p>
 

+ 16 - 23
docs/api/en/extras/curves/SplineCurve.html

@@ -17,26 +17,26 @@
 		[page:Interpolations.CatmullRom] to create the curve.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
-<code>
-// Create a sine-like wave
-var curve = new THREE.SplineCurve( [
-	new THREE.Vector2( -10, 0 ),
-	new THREE.Vector2( -5, 5 ),
-	new THREE.Vector2( 0, 0 ),
-	new THREE.Vector2( 5, -5 ),
-	new THREE.Vector2( 10, 0 )
-] );
+		<code>
+		// Create a sine-like wave
+		var curve = new THREE.SplineCurve( [
+			new THREE.Vector2( -10, 0 ),
+			new THREE.Vector2( -5, 5 ),
+			new THREE.Vector2( 0, 0 ),
+			new THREE.Vector2( 5, -5 ),
+			new THREE.Vector2( 10, 0 )
+		] );
 
-var points = curve.getPoints( 50 );
-var geometry = new THREE.BufferGeometry().setFromPoints( points );
+		var points = curve.getPoints( 50 );
+		var geometry = new THREE.BufferGeometry().setFromPoints( points );
 
-var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+		var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
 
-// Create the final object to add to the scene
-var splineObject = new THREE.Line( geometry, material );
-</code>
+		// Create the final object to add to the scene
+		var splineObject = new THREE.Line( geometry, material );
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -48,13 +48,6 @@ var splineObject = new THREE.Line( geometry, material );
 		<h2>Properties</h2>
 		<p>See the base [page:Curve] class for common properties.</p>
 
-		<h3>[property:Boolean isSplineCurve]</h3>
-		<p>
-			Used to check whether this or derived classes are SplineCurves. Default is *true*.<br /><br />
-
-			You should not change this, as it used internally for optimisation.
-		</p>
-
 		<h3>[property:Array points]</h3>
 		<p>The array of [page:Vector2] points that define the curve.</p>
 

+ 4 - 2
docs/api/en/geometries/BoxBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 );
 		var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
@@ -74,6 +74,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/BoxGeometry.js src/geometries/BoxGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/BoxGeometry.js src/geometries/BoxGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.BoxGeometry( 1, 1, 1 );
 		var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );

+ 4 - 2
docs/api/en/geometries/CircleBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		var geometry = new THREE.CircleBufferGeometry( 5, 32 );
@@ -64,6 +64,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/CircleGeometry.js src/geometries/CircleGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/CircleGeometry.js src/geometries/CircleGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -33,7 +33,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		var geometry = new THREE.CircleGeometry( 5, 32 );

+ 4 - 2
docs/api/en/geometries/ConeBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.ConeBufferGeometry( 5, 20, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
@@ -66,6 +66,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ConeGeometry.js src/geometries/ConeGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ConeGeometry.js src/geometries/ConeGeometry.js]
+		</p>	
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.ConeGeometry( 5, 20, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );

+ 4 - 2
docs/api/en/geometries/CylinderBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.CylinderBufferGeometry( 5, 5, 20, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
@@ -67,6 +67,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/CylinderGeometry.js src/geometries/CylinderGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/CylinderGeometry.js src/geometries/CylinderGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.CylinderGeometry( 5, 5, 20, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );

+ 3 - 1
docs/api/en/geometries/DodecahedronBufferGeometry.html

@@ -53,6 +53,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/DodecahedronGeometry.js src/geometries/DodecahedronGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/DodecahedronGeometry.js src/geometries/DodecahedronGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -14,9 +14,7 @@
 
 		<p class="desc">This can be used as a helper object to view the edges of a [page:Geometry Geometry] object.</p>
 
-		<h2>Example</h2>
-
-		[example:webgl_helpers helpers]
+		<h2>Code Example</h2>
 
 		<code>
 var geometry = new THREE.BoxBufferGeometry( 100, 100, 100 );
@@ -25,6 +23,11 @@ var line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color:
 scene.add( line );
 		</code>
 
+		<h2>Examples</h2>
+		<p>
+			[example:webgl_helpers helpers]
+		</p>
+
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:Geometry geometry], [param:Integer thresholdAngle] )</h3>

+ 4 - 2
docs/api/en/geometries/ExtrudeBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 
 		<code>
@@ -107,6 +107,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ExtrudeGeometry.js src/geometries/ExtrudeGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ExtrudeGeometry.js src/geometries/ExtrudeGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 
 		<code>

+ 3 - 1
docs/api/en/geometries/IcosahedronBufferGeometry.html

@@ -52,6 +52,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/IcosahedronGeometry.js src/geometries/IcosahedronGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/IcosahedronGeometry.js src/geometries/IcosahedronGeometry.js]
+		</p>
 	</body>
 </html>

+ 4 - 2
docs/api/en/geometries/LatheBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		var points = [];
@@ -71,6 +71,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/LatheGeometry.js src/geometries/LatheGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/LatheGeometry.js src/geometries/LatheGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		var points = [];

+ 3 - 1
docs/api/en/geometries/OctahedronBufferGeometry.html

@@ -52,6 +52,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/OctahedronGeometry.js src/geometries/OctahedronGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/OctahedronGeometry.js src/geometries/OctahedronGeometry.js]
+		</p>
 	</body>
 </html>

+ 4 - 2
docs/api/en/geometries/ParametricBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		var geometry = new THREE.ParametricBufferGeometry( THREE.ParametricGeometries.klein, 25, 25 );
@@ -65,6 +65,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ParametricGeometry.js src/geometries/ParametricGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ParametricGeometry.js src/geometries/ParametricGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		var geometry = new THREE.ParametricGeometry( THREE.ParametricGeometries.klein, 25, 25 );

+ 4 - 2
docs/api/en/geometries/PlaneBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.PlaneBufferGeometry( 5, 20, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
@@ -63,6 +63,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/PlaneGeometry.js src/geometries/PlaneGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/PlaneGeometry.js src/geometries/PlaneGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.PlaneGeometry( 5, 20, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );

+ 4 - 2
docs/api/en/geometries/PolyhedronBufferGeometry.html

@@ -19,7 +19,7 @@
 			and [page:TetrahedronBufferGeometry] to generate their respective geometries.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 <code>
 var verticesOfCube = [
     -1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,
@@ -62,6 +62,8 @@ var geometry = new THREE.PolyhedronBufferGeometry( verticesOfCube, indicesOfFace
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/PolyhedronGeometry.js src/geometries/PolyhedronGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/PolyhedronGeometry.js src/geometries/PolyhedronGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -17,7 +17,7 @@
 			project them onto a sphere, and then divide them up to the desired level of detail.
 		</p>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 <code>
 var verticesOfCube = [
     -1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,

+ 4 - 2
docs/api/en/geometries/RingBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.RingBufferGeometry( 1, 5, 32 );
 		var material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
@@ -66,6 +66,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/RingGeometry.js src/geometries/RingGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/RingGeometry.js src/geometries/RingGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.RingGeometry( 1, 5, 32 );
 		var material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );

+ 4 - 2
docs/api/en/geometries/ShapeBufferGeometry.html

@@ -33,7 +33,7 @@
 		</script>
 
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 
 		<code>
@@ -77,6 +77,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ShapeGeometry.js src/geometries/ShapeGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/ShapeGeometry.js src/geometries/ShapeGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -33,7 +33,7 @@
 		</script>
 
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 
 		<code>

+ 4 - 2
docs/api/en/geometries/SphereBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.SphereBufferGeometry( 5, 32, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
@@ -71,6 +71,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/SphereGeometry.js src/geometries/SphereGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/SphereGeometry.js src/geometries/SphereGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.SphereGeometry( 5, 32, 32 );
 		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );

+ 3 - 1
docs/api/en/geometries/TetrahedronBufferGeometry.html

@@ -53,6 +53,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TetrahedronGeometry.js src/geometries/TetrahedronGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TetrahedronGeometry.js src/geometries/TetrahedronGeometry.js]
+		</p>
 	</body>
 </html>

+ 10 - 6
docs/api/en/geometries/TextBufferGeometry.html

@@ -36,11 +36,7 @@
 
 		</script>
 
-		<h2>Examples</h2>
-
-		<p>
-		[example:webgl_geometry_text geometry / text ]
-		</p>
+		<h2>Code Example</h2>
 
 		<code>
 		var loader = new THREE.FontLoader();
@@ -61,6 +57,12 @@
 		} );
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+		[example:webgl_geometry_text geometry / text ]
+		</p>
+
 		<h2>Constructor</h2>
 
 		<h3>[name]([param:String text], [param:Object parameters])</h3>
@@ -168,6 +170,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TextGeometry.js src/geometries/TextGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TextGeometry.js src/geometries/TextGeometry.js]
+		</p>
 	</body>
 </html>

+ 8 - 6
docs/api/en/geometries/TextGeometry.html

@@ -15,7 +15,7 @@
 		<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>
@@ -36,11 +36,7 @@
 
 		</script>
 
-		<h2>Examples</h2>
-
-		<p>
-		[example:webgl_geometry_text geometry / text ]
-		</p>
+		<h2>Code Example</h2>
 
 		<code>
 		var loader = new THREE.FontLoader();
@@ -61,6 +57,12 @@
 		} );
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+		[example:webgl_geometry_text geometry / text ]
+		</p>
+
 		<h2>Constructor</h2>
 
 		<h3>[name]([param:String text], [param:Object parameters])</h3>

+ 4 - 2
docs/api/en/geometries/TorusBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.TorusBufferGeometry( 10, 3, 16, 100 );
 		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
@@ -64,6 +64,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TorusGeometry.js src/geometries/TorusGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TorusGeometry.js src/geometries/TorusGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.TorusGeometry( 10, 3, 16, 100 );
 		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );

+ 4 - 2
docs/api/en/geometries/TorusKnotBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.TorusKnotBufferGeometry( 10, 3, 100, 16 );
 		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
@@ -67,6 +67,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TorusKnotGeometry.js src/geometries/TorusKnotGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TorusKnotGeometry.js src/geometries/TorusKnotGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>var geometry = new THREE.TorusKnotGeometry( 10, 3, 100, 16 );
 		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );

+ 4 - 2
docs/api/en/geometries/TubeBufferGeometry.html

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		function CustomSinCurve( scale ) {
@@ -104,6 +104,8 @@
 
 		<h2>Source</h2>
 
-		[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TubeGeometry.js src/geometries/TubeGeometry.js]
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/geometries/TubeGeometry.js src/geometries/TubeGeometry.js]
+		</p>
 	</body>
 </html>

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

@@ -32,7 +32,7 @@
 
 		</script>
 
-		<h2>Example</h2>
+		<h2>Code Example</h2>
 
 		<code>
 		function CustomSinCurve( scale ) {

+ 14 - 28
docs/api/en/geometries/WireframeGeometry.html

@@ -14,41 +14,27 @@
 
 		<p class="desc">This can be used as a helper object to view a [page:Geometry Geometry] object as a wireframe.</p>
 
-		<!-- <iframe id="scene" src="scenes/geometry-browser.html#EdgeGeometry"></iframe>
-
-		<script>
-
-		// iOS iframe auto-resize workaround
-
-		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {
-
-			var scene = document.getElementById( 'scene' );
-
-			scene.style.width = getComputedStyle( scene ).width;
-			scene.style.height = getComputedStyle( scene ).height;
-			scene.setAttribute( 'scrolling', 'no' );
-
-		}
-
-		</script> -->
-
-		<h2>Example</h2>
-
-		[example:webgl_helpers helpers]
+		<h2>Code Example</h2>
 
 		<code>
-var geometry = new THREE.SphereBufferGeometry( 100, 100, 100 );
+		var geometry = new THREE.SphereBufferGeometry( 100, 100, 100 );
 
-var wireframe = new THREE.WireframeGeometry( geometry );
+		var wireframe = new THREE.WireframeGeometry( geometry );
 
-var line = new THREE.LineSegments( wireframe );
-line.material.depthTest = false;
-line.material.opacity = 0.25;
-line.material.transparent = true;
+		var line = new THREE.LineSegments( wireframe );
+		line.material.depthTest = false;
+		line.material.opacity = 0.25;
+		line.material.transparent = true;
 
-scene.add( line );
+		scene.add( line );
 		</code>
 
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl_helpers helpers]
+		</p>
+
 		<h2>Constructor</h2>
 
 		<h3>[name]( [param:Geometry geometry] )</h3>

+ 9 - 15
docs/api/en/helpers/ArrowHelper.html

@@ -14,12 +14,7 @@
 
 		<p class="desc">An 3D arrow object for visualizing directions.</p>
 
-
-		<h2>Example</h2>
-
-		<div>[example:webgl_geometries WebGL / geometries]</div>
-		<div>[example:webgl_geometry_normals WebGL / geometry / normals]</div>
-		<div>[example:webgl_shadowmesh WebGL / shadowmesh]</div>
+		<h2>Code Example</h2>
 
 		<code>
 		var dir = new THREE.Vector3( 1, 2, 0 );
@@ -35,11 +30,16 @@
 		scene.add( arrowHelper );
 		</code>
 
+		<h2>Examples</h2>
 
+		<p>
+			[example:webgl_geometries WebGL / geometries]<br/>
+			[example:webgl_geometry_normals WebGL / geometry / normals]<br/>
+			[example:webgl_shadowmesh WebGL / shadowmesh]
+		</p>
 
 		<h2>Constructor</h2>
 
-
 		<h3>[name]([param:Vector3 dir], [param:Vector3 origin], [param:Number length], [param:Number hex], [param:Number headLength], [param:Number headWidth] )</h3>
 		<p>
 		[page:Vector3 dir] -- direction from origin. Must be a unit vector. <br />
@@ -47,27 +47,21 @@
 		[page:Number length] -- length of the arrow. Default is *1*.<br />
 		[page:Number hex] -- hexadecimal value to define color. Default is 0xffff00.<br />
 		[page:Number headLength] -- The length of the head of the arrow. Default is 0.2 * length.<br />
-		[page:Number headWidth] -- The length of the width of the arrow. Default is 0.2 * headLength.
+		[page:Number headWidth] -- The width of the head of the arrow. Default is 0.2 * headLength.<br />
 		</p>
 
 		<h2>Properties</h2>
 		<p>See the base [page:Object3D] class for common properties.</p>
 
-
 		<h3>[property:Line line]</h3>
 		<p>Contains the line part of the arrowHelper.</p>
 
 		<h3>[property:Mesh cone]</h3>
 		<p>Contains the cone part of the arrowHelper.</p>
 
-
-
-
 		<h2>Methods</h2>
 		<p>See the base [page:Object3D] class for common methods.</p>
 
-
-
 		<h3>[method:null setColor]([param:Color color])</h3>
 		<p>
 		color -- The desired color.<br /><br />
@@ -79,7 +73,7 @@
 		<p>
 		length -- The desired length.<br />
 		headLength -- The length of the head of the arrow.<br />
-		headWidth -- The length of the width of the arrow.<br /><br />
+		headWidth -- The width of the head of the arrow.<br /><br />
 
 		Sets the length of the arrowhelper.
 		</p>

+ 12 - 10
docs/api/en/helpers/AxesHelper.html

@@ -13,21 +13,23 @@
 		<h1>[name]</h1>
 
 		<p class="desc">An axis object to visualize the 3 axes in a simple way. <br />
-			The X axis is red. The Y axis is green. The Z axis is blue.</p>
-
-
-		<h2>Example</h2>
-
-		<div>[example:webgl_geometries WebGL / geometries]</div>
-		<div>[example:webgl_geometry_convex WebGL / geometry / convex]</div>
-		<div>[example:webgl_geometry_spline_editor WebGL / geometry / spline / editor]</div>
-
+			The X axis is red. The Y axis is green. The Z axis is blue.
+		</p>
 
+		<h2>Code Example</h2>
 
 		<code>
 var axesHelper = new THREE.AxesHelper( 5 );
 scene.add( axesHelper );
-    </code>
+		</code>
+
+		<h2>Examples</h2>
+
+		<p>
+			[example:webgl_geometries WebGL / geometries]<br/>
+			[example:webgl_geometry_convex WebGL / geometry / convex]<br/>
+			[example:webgl_geometry_spline_editor WebGL / geometry / spline / editor]
+		</p>
 
 		<h2>Constructor</h2>
 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно