Sfoglia il codice sorgente

Merge branch 'dev' into toonMap

Takahiro 8 anni fa
parent
commit
82fe6bfd06
100 ha cambiato i file con 3778 aggiunte e 2973 eliminazioni
  1. 16 0
      README.md
  2. 22 3
      build/three.js
  3. 0 0
      build/three.js.map
  4. 105 336
      build/three.min.js
  5. 19 0
      build/three.modules.js
  6. 0 0
      build/three.modules.js.map
  7. 46 0
      docs/api/Polyfills.html
  8. 74 0
      docs/api/animation/AnimationObjectGroup.html
  9. 54 0
      docs/api/animation/AnimationUtils.html
  10. 154 0
      docs/api/animation/KeyframeTrack.html
  11. 131 0
      docs/api/animation/PropertyBinding.html
  12. 99 0
      docs/api/animation/PropertyMixer.html
  13. 72 0
      docs/api/animation/tracks/BooleanKeyframeTrack.html
  14. 52 0
      docs/api/animation/tracks/ColorKeyframeTrack.html
  15. 52 0
      docs/api/animation/tracks/NumberKeyframeTrack.html
  16. 69 0
      docs/api/animation/tracks/QuaternionKeyframeTrack.html
  17. 74 0
      docs/api/animation/tracks/StringKeyframeTrack.html
  18. 51 0
      docs/api/animation/tracks/VectorKeyframeTrack.html
  19. 204 0
      docs/api/audio/Audio.html
  20. 96 0
      docs/api/audio/AudioAnalyser.html
  21. 42 0
      docs/api/audio/AudioContext.html
  22. 107 0
      docs/api/audio/AudioListener.html
  23. 125 0
      docs/api/audio/PositionalAudio.html
  24. 37 0
      docs/api/constants/Core.html
  25. 15 0
      docs/api/constants/Materials.html
  26. 42 0
      docs/api/constants/Textures.html
  27. 7 1
      docs/api/core/BufferAttribute.html
  28. 165 0
      docs/api/core/DirectGeometry.html
  29. 54 0
      docs/api/core/bufferAttributeTypes/BufferAttributeTypes.html
  30. 93 0
      docs/api/deprecated/DeprecatedList.html
  31. 91 0
      docs/api/extras/core/ShapePath.html
  32. 67 0
      docs/api/loaders/AnimationLoader.html
  33. 23 28
      docs/api/loaders/AudioLoader.html
  34. 60 0
      docs/api/loaders/BinaryTextureLoader.html
  35. 26 28
      docs/api/loaders/BufferGeometryLoader.html
  36. 66 0
      docs/api/loaders/CompressedTextureLoader.html
  37. 87 0
      docs/api/loaders/CubeTextureLoader.html
  38. 18 0
      docs/api/loaders/DataTextureLoader.html
  39. 32 0
      docs/api/loaders/DefaultLoadingManager.html
  40. 0 7
      docs/api/loaders/FileLoader.html
  41. 76 0
      docs/api/loaders/FontLoader.html
  42. 31 33
      docs/api/loaders/ImageLoader.html
  43. 20 22
      docs/api/loaders/JSONLoader.html
  44. 26 28
      docs/api/loaders/MaterialLoader.html
  45. 15 16
      docs/api/loaders/ObjectLoader.html
  46. 29 33
      docs/api/loaders/TextureLoader.html
  47. 6 6
      docs/examples/Lut.html
  48. 1 1
      docs/examples/SpriteCanvasMaterial.html
  49. 2 2
      docs/examples/cameras/CombinedCamera.html
  50. 1 1
      docs/examples/collada/Animation.html
  51. 1 1
      docs/examples/collada/AnimationHandler.html
  52. 1 1
      docs/examples/collada/KeyFrameAnimation.html
  53. 27 29
      docs/examples/loaders/BabylonLoader.html
  54. 26 28
      docs/examples/loaders/ColladaLoader.html
  55. 29 32
      docs/examples/loaders/GLTFLoader.html
  56. 99 99
      docs/examples/loaders/MTLLoader.html
  57. 20 20
      docs/examples/loaders/OBJLoader.html
  58. 23 23
      docs/examples/loaders/PCDLoader.html
  59. 28 28
      docs/examples/loaders/PDBLoader.html
  60. 1 1
      docs/examples/loaders/SVGLoader.html
  61. 24 26
      docs/examples/loaders/TGALoader.html
  62. 170 170
      docs/examples/renderers/CanvasRenderer.html
  63. 143 84
      docs/list.js
  64. 13 7
      docs/page.js
  65. 1 1
      editor/js/Menubar.Add.js
  66. 1 1
      editor/js/Sidebar.Animation.js
  67. 47 0
      editor/js/Sidebar.Material.js
  68. 1 1
      editor/js/Toolbar.js
  69. 1 1
      editor/js/Viewport.Info.js
  70. 1 0
      editor/js/libs/app/index.html
  71. 3 0
      examples/files.js
  72. 7 7
      examples/js/controls/TransformControls.js
  73. 0 0
      examples/js/libs/charsetencoder.min.js
  74. 1 0
      examples/js/libs/mmdparser.min.js
  75. 21 0
      examples/js/lights/RectAreaLightUniformsLib.js
  76. 1 1
      examples/js/loaders/ColladaLoader2.js
  77. 200 1538
      examples/js/loaders/MMDLoader.js
  78. 5 5
      examples/js/loaders/PLYLoader.js
  79. 1 1
      examples/js/loaders/PlayCanvasLoader.js
  80. 30 241
      examples/js/loaders/STLLoader.js
  81. 9 9
      examples/js/loaders/sea3d/SEA3DLoader.js
  82. 3 0
      examples/models/mmd/LICENSE
  83. 26 14
      examples/models/mmd/Readme.txt
  84. 0 25
      examples/models/mmd/audio/readme_wavefile_short.txt
  85. 38 0
      examples/models/mmd/audios/readme.txt
  86. 0 0
      examples/models/mmd/audios/wavefile_short.mp3
  87. 5 0
      examples/models/mmd/miku/readme.txt
  88. 0 7
      examples/models/mmd/miku/readme_miku_v2.txt
  89. BIN
      examples/models/mmd/stage/cloud.bmp
  90. BIN
      examples/models/mmd/stage/floor.bmp
  91. BIN
      examples/models/mmd/stage/rainbow.bmp
  92. 0 4
      examples/models/mmd/stage/readme.txt
  93. BIN
      examples/models/mmd/stage/stage.pmd
  94. 16 0
      examples/models/mmd/vmds/readme.txt
  95. 0 0
      examples/models/mmd/vmds/readme_wavefile.txt
  96. 1 23
      examples/models/mmd/vmds/readme_wavefile_camera.txt
  97. 0 0
      examples/models/mmd/vmds/wavefile_camera.vmd
  98. 0 0
      examples/models/mmd/vmds/wavefile_v2.vmd
  99. 0 0
      examples/models/mmd/vpds/01.vpd
  100. 0 0
      examples/models/mmd/vpds/02.vpd

+ 16 - 0
README.md

@@ -1,6 +1,11 @@
 three.js
 three.js
 ========
 ========
 
 
+[![Latest NPM release][npm-badge]][npm-badge-url]
+[![License][license-badge]][license-badge-url]
+[![Dependencies][dependencies-badge]][dependencies-badge-url]
+[![Dev Dependencies][devDependencies-badge]][devDependencies-badge-url]
+
 #### JavaScript 3D library ####
 #### JavaScript 3D library ####
 
 
 The aim of the project is to create an easy to use, lightweight, 3D library. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.
 The aim of the project is to create an easy to use, lightweight, 3D library. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.
@@ -66,3 +71,14 @@ If everything went well you should see [this](http://jsfiddle.net/hfj7gm6t/).
 ### Change log ###
 ### Change log ###
 
 
 [releases](https://github.com/mrdoob/three.js/releases)
 [releases](https://github.com/mrdoob/three.js/releases)
+
+
+
+[npm-badge]: https://img.shields.io/npm/v/three.svg
+[npm-badge-url]: https://www.npmjs.com/package/three
+[license-badge]: https://img.shields.io/npm/l/three.svg
+[license-badge-url]: ./LICENSE
+[dependencies-badge]: https://img.shields.io/david/mrdoob/three.js.svg
+[dependencies-badge-url]: https://david-dm.org/mrdoob/three.js
+[devDependencies-badge]: https://img.shields.io/david/dev/mrdoob/three.js.svg
+[devDependencies-badge-url]: https://david-dm.org/mrdoob/three.js#info=devDependencies

File diff suppressed because it is too large
+ 22 - 3
build/three.js


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


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


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


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


+ 46 - 0
docs/api/Polyfills.html

@@ -0,0 +1,46 @@
+<!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>Polyfills</h1>
+
+		<div class="desc">Three includes polyfills for the following functions and constants.</div>
+
+		<h3>[page:Number.EPSILON Number.EPSILON]</h3>
+		<div>
+			 The difference between one and the smallest value greater than one that can be represented as a Number.
+			 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON MDN reference].
+		</div>
+
+		<h3>[page:Math.sign Math.sign]( [page:Number x] )</h3>
+		<div>
+			If the argument is a positive number, negative number, positive zero or negative zero,
+			the function will return 1, -1, 0 or -0 respectively. Otherwise, NaN is returned.
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign MDN reference].
+		</div>
+
+		<h3>[page:Function.prototype.name Function.prototype.name]( [page:Number x] )</h3>
+		<div>
+			Returns the name of a function, or (before ES6 implementations) an empty string for anonymous functions.
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name MDN reference].
+		</div>
+
+		<h3>[page:Object.assign Object.assign]( [page:Object target], [page:Object ...sources] )</h3>
+		<div>
+			The Object.assign() method is used to copy the values of all enumerable own properties from one or more source objects to a target object.
+			It will return the target object.
+			[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign MDN reference].
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 74 - 0
docs/api/animation/AnimationObjectGroup.html

@@ -0,0 +1,74 @@
+<!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>
+
+    <div class="desc">A group of objects that receives a shared animation state.</div>
+
+    <h2>Usage:</h2>
+
+    <div>
+      Add objects you would otherwise pass as 'root' to the	constructor or the [page:AnimationMixer.clipAction clipAction]
+      method of [page:AnimationMixer AnimationMixer] and instead pass this object as 'root'.<br /><br />
+
+      Note that objects of this class appear as one object to the mixer,
+      so cache control of the individual objects must be done	on the group.
+    </div>
+
+
+   <h2>Limitations</h2>
+   <div>
+    The animated properties must be compatible among all objects in the group.<br /><br />
+
+    A single property can either be controlled through a target group or directly, but not both.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:object obj1], [page:object obj2], [page:object obj3], ... )</h3>
+
+
+    <h2>Properties</h2>
+
+    <h3>[property:object stats]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Number timeScale]</h3>
+
+
+    <h2>Methods</h2>
+
+
+    <h3>[method:null add]( [page:object obj1], [page:object obj2], [page:object obj3], ... )</h3>
+    <div>
+
+    </div>
+
+    <h3>[method:null remove]( [page:object obj1], [page:object obj2], [page:object obj3], ... )</h3>
+    <div>
+
+    </div>
+
+    <h3>[method:null uncache]( [page:object obj1], [page:object obj2], [page:object obj3], ... )</h3>
+    <div>
+
+    </div>
+
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 54 - 0
docs/api/animation/AnimationUtils.html

@@ -0,0 +1,54 @@
+<!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>
+
+    <div class="desc">
+    An object with various functions to assist with animations.
+    </div>
+
+    <h2>Methods</h2>
+
+    <h3>[method:Array arraySlice]( array, from, to )</h3>
+    <div>
+    Convert an array to a specific type.
+    </div>
+
+    <h3>[method:Array convertArray]( array, type, forceClone )</h3>
+    <div>
+    This is the same as  Array.prototype.slice, but also works on typed arrays.
+    </div>
+
+    <h3>[method:Boolean isTypedArray]( object )</h3>
+    <div>
+    Return *true* if the object is a typed array.
+    </div>
+
+    <h3>[method:Array getKeyframeOrder]( times )</h3>
+    <div>
+    Returns an array by which times and values can be sorted.
+    </div>
+
+    <h3>[method:Array sortedArray]( values, stride, order )</h3>
+    <div>
+    Sort the array previously returned by [page:AnimationUtils.getKeyframeOrder getKeyframeOrder].
+    </div>
+
+    <h3>[method:Array flattenJSON]( jsonKeys, times, values, valuePropertyName  )</h3>
+    <div>
+    Used for parsing AOS keyframe formats
+    </div>
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 154 - 0
docs/api/animation/KeyframeTrack.html

@@ -0,0 +1,154 @@
+<!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>
+
+    <div class="desc">
+    A timed sequence of [link:https://en.wikipedia.org/wiki/Key_frame keyframes] for animating
+    a specific property of an object.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:String name], [page:Array times], [page:Array values], [page:Constant interpolation] )</h3>
+    <div>
+      -- [page:String name] (required) identifier for the KeyframeTrack.<br />
+      -- [page:Array times] (required) array of keyframe times<br />
+      -- [page:Array values] values for the keyframes at the times specified.<br />
+      -- [page:Constant interpolation] the type of interpolation to use. See [page:Animation Animation Constants] for possible values.
+      Default is [page:Animation InterpolateLinear].
+    </div>
+
+    <h2>Properties</h2>
+
+
+    <h3>[property:String name]</h3>
+    <div>
+    The name given to the KeyframeTrack in the constructor.
+    </div>
+
+    <h3>[property:Float32Array times]</h3>
+    <div>
+    [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]
+    of keyframe times.
+    </div>
+
+    <h3>[property:Float32Array values]</h3>
+    <div>
+    [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array]
+    of keyframe values, corresponding to the [page:KeyframeTrack.times times].
+    </div>
+
+    <h3>[property:Constant DefaultInterpolation]</h3>
+    <div>
+    The default tnterpolation type to use, [page:Animation InterpolateLinear].
+    </div>
+
+
+    <h2>Methods</h2>
+
+    <h3>[method:null createInterpolant ](  )</h3>
+    <div>
+      Create a [page:LinearInterpolant LinearInterpolant], [page:CubicInterpolant CubicInterpolant]
+      or [page:DiscreteInterpolant DiscreteInterpolant], depending on the value of the interpolation parameter
+      passed in the constructor.
+    </div>
+
+    <h3>[method:null getInterpolation ](  )</h3>
+    <div>
+      Get the interpolation type.
+    </div>
+
+    <h3>[method:Number getValueSize ](  )</h3>
+    <div>
+      The the size of each value (length of the values array divied by length of times array).
+    </div>
+
+    <h3>[method:DiscreteInterpolant InterpolantFactoryMethodDiscrete ]( result )</h3>
+    <div>
+      Create a new [page:DiscreteInterpolant DiscreteInterpolant] from the [page:KeyframeTrack.times times]
+      and [page:KeyframeTrack.times values].
+    </div>
+
+    <h3>[method:null InterpolantFactoryMethodLinear ](  )</h3>
+    <div>
+      Create a new [page:LinearInterpolant LinearInterpolant] from the [page:KeyframeTrack.times times]
+      and [page:KeyframeTrack.times values].
+    </div>
+
+    <h3>[method:null InterpolantFactoryMethodSmooth ](  )</h3>
+    <div>
+      Create a new [page:CubicInterpolant CubicInterpolant] from the [page:KeyframeTrack.times times]
+      and [page:KeyframeTrack.times values].
+    </div>
+
+    <h3>[method:null optimize ](  )</h3>
+    <div>
+      Remove equivalent sequential keys, which are common in morph target sequences. <br />
+  	  Called automatically by the constructor.
+    </div>
+
+    <h3>[method:KeyframeTrack parse]( [page:JSON json] )</h3>
+    <div>
+    Parse json and return new keyframe track of the correct type.
+    </div>
+
+    <h3>[method:null scale ](  )</h3>
+    <div>
+      Scale all keyframe times by a factor (useful for frame <-> seconds conversions).
+    </div>
+
+    <h3>[method:null setInterpolation ]( [page:Constant interpolation] )</h3>
+    <div>
+      Set the interpolation type. See [page:Animation animation constants] for choices.
+    </div>
+
+    <h3>[method:null shift ]( [page:Number timeOffset] )</h3>
+    <div>
+      Move all keyframes either forwards or backwards in time.
+    </div>
+
+    <h3>[method:null TimeBufferType ](  )</h3>
+    <div>
+      [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+      used to convert the times array passed in the constructor to a Float32Array.
+    </div>
+
+    <h3>[method:JSON toJSON]( [page:KeyframeTrack track] )</h3>
+    <div>
+    Convert the track to JSON.
+    </div>
+
+    <h3>[method:null trim ]( [page:Number startTime], [page:Number endTime] )</h3>
+    <div>
+      Removes keyframes before [page:Number startTime] and after [page:Number endTime]
+      without changing any values within the range [[page:Number startTime], [page:Number endTime]].
+    </div>
+
+    <h3>[method:null validate ](  )</h3>
+    <div>
+      Perform minimal validation on the tracks. Called automatically by the constructor.
+    </div>
+
+    <h3>[method:null ValueBufferType ](  )</h3>
+    <div>
+      [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array Float32Array],
+      used to convert the values array passed in the constructor to a Float32Array.
+    </div>
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 131 - 0
docs/api/animation/PropertyBinding.html

@@ -0,0 +1,131 @@
+<!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>
+
+    <div class="desc">
+    This holds a reference to a real property in the scene graph.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:Object3D rootNode], path, parsedPath )</h3>
+    <div>
+      -- [page:Object3D rootNode]:
+      -- path
+      -- parsedPath (optional)
+
+    </div>
+
+    <h2>Properties</h2>
+
+    <h3>[property:Number path]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Number parsedPath]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Number node]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Number rootNode]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Object BindingType]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Object Versioning]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Array GetterByBindingType]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Array SetterByBindingTypeAndVersioning]</h3>
+    <div>
+
+    </div>
+
+
+
+    <h2>Methods</h2>
+
+    <h3>[method:null getValue]( [page:Array targetArray], [page:Number offset] )</h3>
+    <div>
+    </div>
+
+    <h3>[method:null setValue]( [page:Array sourceArray], [page:Number offset] )</h3>
+    <div>
+    </div>
+
+    <h3>[method:null bind]( )</h3>
+    <div>
+      Create getter / setter pair for a property in the scene graph. Used internally by
+      [page:PropertyBinding.getValue getValue] and [page:PropertyBinding.setValue setValue].
+    </div>
+
+    <h3>[method:null unbind]( )</h3>
+    <div>
+      Unbind getter / setter pair for a property in the scene graph.
+    </div>
+
+    <h3>[method:Constructor Composite]( targetGroup, path, optionalParsedPath )</h3>
+    <div>
+      Create a new Composite PropertyBinding.
+    </div>
+
+    <h3>[method:Constructor create]( root, path, parsedPath )</h3>
+    <div>
+      Create a new Composite PropertyBinding (if root is an [page:AnimationObjectGroup]) or PropertyBinding.
+    </div>
+
+    <h3>[method:Constructor parseTrackName]( trackName )</h3>
+    <div>
+      Matches strings in the following forms:<br />
+      -- nodeName.property<br />
+      -- nodeName.property[accessor]<br />
+      -- nodeName.material.property[accessor]<br />
+      -- uuid.property[accessor]<br />
+      -- uuid.objectName[objectIndex].propertyName[propertyIndex]<br />
+      -- parentName/nodeName.property<br />
+      -- parentName/parentName/nodeName.property[index]<br />
+      -- .bone[Armature.DEF_cog].position<br />
+      -- scene:helium_balloon_model:helium_balloon_model.position
+    </div>
+
+    <h3>[method:Constructor findNode]( root, nodeName )</h3>
+    <div>
+      Find a node in a node tree or [page:Skeleton Skeleton].
+    </div>
+
+
+
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 99 - 0
docs/api/animation/PropertyMixer.html

@@ -0,0 +1,99 @@
+<!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>
+
+    <div class="desc">
+    Buffered scene graph property that allows weighted accumulation.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( binding, typeName, valueSize )</h3>
+    <div>
+      -- binding <br />
+      -- typeName <br />
+      -- valueSize <br />
+    </div>
+
+
+    <h2>Properties</h2>
+
+
+    <h3>[property:Number binding]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Number buffer]</h3>
+    <div>
+      Buffer with size [page:PropertyMixer valueSize] * 4. <br /><br />
+      This has the layout: [ incoming | accu0 | accu1 | orig ]<br /><br />
+      Interpolators can use .buffer as their .result and the data then goes to 'incoming'.<br />
+      'accu0' and 'accu1' are used frame-interleaved for the cumulative result and
+      are compared to detect changes.<br />
+      'orig' stores the original state of the property.<br />
+    </div>
+
+    <h3>[property:Number cumulativeWeight]</h3>
+    <div>
+      Default is *0*.
+    </div>
+
+    <h3>[property:Number valueSize]</h3>
+    <div>
+
+    </div>
+
+    <h3>[property:Number referenceCount]</h3>
+    <div>
+      Default is *0*.
+    </div>
+
+    <h3>[property:Number useCount]</h3>
+    <div>
+      Default is *0*.
+    </div>
+
+
+    <h2>Methods</h2>
+
+
+    <h3>[method:null accumulate]( accuIndex, weight )</h3>
+    <div>
+      Accumulate data in [page:PropertyMixer.buffer buffer][accuIndex] 'incoming' region into 'accu[i]'.<br />
+
+      If weight is *0* this does nothing.
+    </div>
+
+    <h3>[method:null apply]( accuIndex )</h3>
+    <div>
+      Apply the state of [page:PropertyMixer.buffer buffer] 'accu[i]' to the binding when accus differ.
+    </div>
+
+    <h3>[method:null saveOriginalState]( )</h3>
+    <div>
+      Remember the state of the bound property and copy it to both accus.
+    </div>
+
+    <h3>[method:null restoreOriginalState](  )</h3>
+    <div>
+      Apply the state previously taken via 'saveOriginalState' to the binding.
+    </div>
+
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 72 - 0
docs/api/animation/tracks/BooleanKeyframeTrack.html

@@ -0,0 +1,72 @@
+<!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>
+
+		[page:KeyframeTrack] &rarr;
+
+    <h1>[name]</h1>
+
+    <div class="desc">
+     A Track of Boolean keyframe values.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:String name], [page:Array times], [page:Array values] )</h3>
+    <div>
+      -- [page:String name] (required) identifier for the KeyframeTrack.<br />
+      -- [page:Array times] (required) array of keyframe times<br />
+      -- [page:Array values] values for the keyframes at the times specified.<br />
+    </div>
+
+    <h2>Properties</h2>
+
+		See [page:KeyframeTrack] for inherited properties.
+
+
+    <h3>[property:String ValueTypeName]</h3>
+    <div>
+    String 'bool'.
+    </div>
+
+    <h3>[property:Constant DefaultInterpolation]</h3>
+    <div>
+    The default interpolation type to use, [page:Animation InterpolateDiscrete].
+    </div>
+
+
+    <h2>Methods</h2>
+
+		See [page:KeyframeTrack] for inherited methods.
+
+    <h3>[method:null InterpolantFactoryMethodLinear ](  )</h3>
+    <div>
+      The value of this method here is 'undefined', as it does not make sense for discrete properties.
+    </div>
+
+    <h3>[method:null InterpolantFactoryMethodSmooth ](  )</h3>
+    <div>
+      The value of this method here is 'undefined', as it does not make sense for discrete properties.
+    </div>
+
+    <h3>[method:null ValueBufferType ](  )</h3>
+    <div>
+      Used to convert the values array passed in the constructor to an Array.
+			Note: In this case this does nothing, other Track types may convert the array to a Typed Array.
+    </div>
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 52 - 0
docs/api/animation/tracks/ColorKeyframeTrack.html

@@ -0,0 +1,52 @@
+<!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>
+
+		[page:KeyframeTrack] &rarr;
+
+    <h1>[name]</h1>
+
+    <div class="desc">
+     A Track of keyframe values that represent color.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:String name], [page:Array times], [page:Array values] )</h3>
+    <div>
+      -- [page:String name] (required) identifier for the KeyframeTrack.<br />
+      -- [page:Array times] (required) array of keyframe times<br />
+      -- [page:Array values] values for the keyframes at the times specified.<br />
+			-- [page:Constant interpolation] the type of interpolation to use. See [page:Animation Animation Constants] for possible values.
+      Default is [page:Animation InterpolateLinear].
+    </div>
+
+    <h2>Properties</h2>
+
+		See [page:KeyframeTrack] for inherited properties.
+
+    <h3>[property:String ValueTypeName]</h3>
+    <div>
+    String 'color'.
+    </div>
+
+    <h2>Methods</h2>
+
+		See [page:KeyframeTrack] for inherited methods.
+
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 52 - 0
docs/api/animation/tracks/NumberKeyframeTrack.html

@@ -0,0 +1,52 @@
+<!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>
+
+		[page:KeyframeTrack] &rarr;
+
+    <h1>[name]</h1>
+
+    <div class="desc">
+     A Track of numeric keyframe values.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:String name], [page:Array times], [page:Array values] )</h3>
+    <div>
+      -- [page:String name] (required) identifier for the KeyframeTrack.<br />
+      -- [page:Array times] (required) array of keyframe times<br />
+      -- [page:Array values] values for the keyframes at the times specified.<br />
+			-- [page:Constant interpolation] the type of interpolation to use. See [page:Animation Animation Constants] for possible values.
+      Default is [page:Animation InterpolateLinear].
+    </div>
+
+    <h2>Properties</h2>
+
+		See [page:KeyframeTrack] for inherited properties.
+
+
+    <h3>[property:String ValueTypeName]</h3>
+    <div>
+    String 'number'.
+    </div>
+
+    <h2>Methods</h2>
+
+		See [page:KeyframeTrack] for inherited methods.
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 69 - 0
docs/api/animation/tracks/QuaternionKeyframeTrack.html

@@ -0,0 +1,69 @@
+<!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>
+
+		[page:KeyframeTrack] &rarr;
+
+    <h1>[name]</h1>
+
+    <div class="desc">
+     A Track of quaternion keyframe values.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:String name], [page:Array times], [page:Array values] )</h3>
+    <div>
+      -- [page:String name] (required) identifier for the KeyframeTrack.<br />
+      -- [page:Array times] (required) array of keyframe times<br />
+      -- [page:Array values] values for the keyframes at the times specified.<br />
+			-- [page:Constant interpolation] the type of interpolation to use. See [page:Animation Animation Constants] for possible values.
+      Default is [page:Animation InterpolateLinear].
+    </div>
+
+    <h2>Properties</h2>
+
+		See [page:KeyframeTrack] for inherited properties.
+
+
+    <h3>[property:String ValueTypeName]</h3>
+    <div>
+    String 'quaternion'.
+    </div>
+
+    <h3>[property:Constant DefaultInterpolation]</h3>
+    <div>
+    The default interpolation type to use, [page:Animation InterpolateLinear].
+    </div>
+
+
+    <h2>Methods</h2>
+
+		See [page:KeyframeTrack] for inherited methods.
+
+    <h3>[method:Number getValueSize ](  )</h3>
+    <div>
+      The the size of each value (length of the values array divied by length of times array).
+    </div>
+
+    <h3>[method:null InterpolantFactoryMethodLinear ](  )</h3>
+    <div>
+      Returns a new [page:QuaternionLinearInterpolant QuaternionLinearInterpolant] based on the [page:KeyframeTrack.values values],
+			[page:KeyframeTrack.times times] and [page:KeyframeTrack.valueSize valueSize] of the keyframes.
+    </div>
+
+
+    <h2>Source</h2>
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 74 - 0
docs/api/animation/tracks/StringKeyframeTrack.html

@@ -0,0 +1,74 @@
+<!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>
+
+		[page:KeyframeTrack] &rarr;
+
+    <h1>[name]</h1>
+
+    <div class="desc">
+     A Track of String keyframe values.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:String name], [page:Array times], [page:Array values] )</h3>
+    <div>
+      -- [page:String name] (required) identifier for the KeyframeTrack.<br />
+      -- [page:Array times] (required) array of keyframe times<br />
+      -- [page:Array values] values for the keyframes at the times specified.<br />
+			-- [page:Constant interpolation] the type of interpolation to use. See [page:Animation Animation Constants] for possible values.
+      Default is [page:Animation InterpolateDiscrete].
+    </div>
+
+    <h2>Properties</h2>
+
+		See [page:KeyframeTrack] for inherited properties.
+
+
+    <h3>[property:String ValueTypeName]</h3>
+    <div>
+    String 'string'.
+    </div>
+
+    <h3>[property:Constant DefaultInterpolation]</h3>
+    <div>
+    The default interpolation type to use, [page:Animation InterpolateDiscrete].
+    </div>
+
+
+    <h2>Methods</h2>
+
+		See [page:KeyframeTrack] for inherited methods.
+
+    <h3>[method:null InterpolantFactoryMethodLinear ](  )</h3>
+    <div>
+      The value of this method here is 'undefined', as it does not make sense for discrete properties.
+    </div>
+
+    <h3>[method:null InterpolantFactoryMethodSmooth ](  )</h3>
+    <div>
+      The value of this method here is 'undefined', as it does not make sense for discrete properties.
+    </div>
+
+    <h3>[method:null ValueBufferType ](  )</h3>
+    <div>
+      Used to convert the values array passed in the constructor to an Array.
+			Note: In this case this does nothing, other Track types may convert the array to a Typed Array.
+    </div>
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 51 - 0
docs/api/animation/tracks/VectorKeyframeTrack.html

@@ -0,0 +1,51 @@
+<!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>
+
+		[page:KeyframeTrack] &rarr;
+
+    <h1>[name]</h1>
+
+    <div class="desc">
+     A Track of Vector keyframe values.
+    </div>
+
+
+    <h2>Constructor</h2>
+
+
+    <h3>[name]( [page:String name], [page:Array times], [page:Array values] )</h3>
+    <div>
+      -- [page:String name] (required) identifier for the KeyframeTrack.<br />
+      -- [page:Array times] (required) array of keyframe times<br />
+      -- [page:Array values] values for the keyframes at the times specified.<br />
+			-- [page:Constant interpolation] the type of interpolation to use. See [page:Animation Animation Constants] for possible values.
+      Default is [page:Animation InterpolateLinear].
+    </div>
+
+    <h2>Properties</h2>
+
+		See [page:KeyframeTrack] for inherited properties.
+
+    <h3>[property:String ValueTypeName]</h3>
+    <div>
+    String 'vector'.
+    </div>
+
+    <h2>Methods</h2>
+
+		See [page:KeyframeTrack] for inherited methods.
+
+    <h2>Source</h2>
+
+
+    [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+  </body>
+</html>

+ 204 - 0
docs/api/audio/Audio.html

@@ -0,0 +1,204 @@
+<!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>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+			Create a non-positional ( global ) audio object.<br /><br />
+
+			This uses the [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
+		</div>
+
+
+		<h2>Example</h2>
+
+		<div>[example:misc_sound misc / sound ]</div>
+		<code>
+		//Create an AudioListener and add it to the camera
+		var listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		// create a global audio source
+		var sound = new THREE.Audio( listener );
+
+		var audioLoader = new THREE.AudioLoader();
+
+		//Load a sound and set it as the Audio object's buffer
+		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+			sound.setBuffer( buffer );
+			sound.setLoop(true);
+			sound.setVolume(0.5);
+			sound.play();
+		});
+		</code>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:AudioListener listener] )</h3>
+		<div>
+		listener — (required) [page:AudioListener AudioListener] instance.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Boolean autoplay]</h3>
+		<div>Whether to start playback automatically. Default is *false*.</div>
+
+		<h3>[property:AudioContext context]</h3>
+		<div>The [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] of the [page:AudioListener listener] given in the constructor.</div>
+
+		<h3>[property:Array filters]</h3>
+		<div>Whether the audio is currently playing. Default is empty array.</div>
+
+		<h3>[property:GainNode gain]</h3>
+		<div>A [link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode] created
+		using [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]().</div>
+		</div>
+
+		<h3>[property:Boolean hasPlaybackControl]</h3>
+		<div>Whether playback can be controlled using the [page:Audio.play play](),
+			[page:Audio.pause pause]() etc. methods. Default is *true*.</div>
+
+		<h3>[property:Number playbackRate]</h3>
+		<div>Speed of playback. Default is *1*.</div>
+
+		<h3>[property:Boolean isPlaying]</h3>
+		<div>Whether the audio is currently playing.</div>
+
+		<h3>[property:Number startTime]</h3>
+		<div>Point at which to start playback. Default is *0*.</div>
+
+		<h3>[property:String source]</h3>
+		<div>An [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] created
+		using [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().</div>
+
+		<h3>[property:String sourceType]</h3>
+		<div>Type of the audio source. Default is string 'empty'.</div>
+
+		<h3>[property:String type]</h3>
+		<div>String denoting the type, set to 'Audio'.</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null connect]()</h3>
+		<div>
+		Connect to the [page:Audio.source]. This is used internally on initialisation and when
+		setting / removing filters.
+		</div>
+
+		<h3>[method:null disconnect]()</h3>
+		<div>
+		Disconnect from the [page:Audio.source]. This is used internally when
+		setting / removing filters.
+		</div>
+
+		<h3>[method:Array getFilter]()</h3>
+		<div>
+		Returns the first element of the [page:Audio.filters filters] array.
+		</div>
+
+		<h3>[method:null getFilters]()</h3>
+		<div>
+		Returns the [page:Audio.filters filters] array.
+		</div>
+
+		<h3>[method:Boolean getLoop]()</h3>
+		<div>
+		Return the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop]
+		 (whether playback should loop).
+		</div>
+
+		<h3>[method:GainNode getOutput]()</h3>
+		<div>
+		Return the [page:Audio.gain gainNode].
+		</div>
+
+		<h3>[method:Number getPlaybackRate]()</h3>
+		<div>
+		Return the value of [page:Audio.playbackRate playbackRate].
+		</div>
+
+		<h3>[method:Number getVolume]( value )</h3>
+		<div>
+		Return the current volume.
+		</div>
+
+		<h3>[method:null play]()</h3>
+		<div>
+		If [page:Audio.hasPlaybackControl hasPlaybackControl] is true, starts playback.
+		</div>
+
+		<h3>[method:null pause]()</h3>
+		<div>
+		If [page:Audio.hasPlaybackControl hasPlaybackControl] is true, pauses playback.
+		</div>
+
+		<h3>[method:null onEnded]()</h3>
+		<div>
+		Called automatically when playback finished. Sets If [page:Audio.isPlaying isPlaying] to false.
+		</div>
+
+		<h3>[method:Audio setBuffer]( audioBuffer )</h3>
+		<div>
+		Setup the [page:Audio.source source] to the audioBuffer, and sets [page:Audio.sourceType sourceType] to 'buffer'.<br />
+		If [page:Audio.autoplay autoplay], also starts playback.
+		</div>
+
+		<h3>[method:null setFilter]( filter )</h3>
+		<div>
+		Add the filter to the [page:Audio.filters filters] array.
+		</div>
+
+		<h3>[method:Audio setFilters]( [page:Array value] )</h3>
+		<div>
+		value - arrays of filters.<br />
+		Set the [page:Audio.filters filters] array to *value*.
+		</div>
+
+		<h3>[method:null setLoop]( [page:Boolean value] )</h3>
+		<div>
+		Set [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] to *value*
+		(whether playback should loop).
+		</div>
+
+		<h3>[method:null setNodeSource]( audioNode )</h3>
+		<div>
+		Setup the [page:Audio.source source] to the audioBuffer, and sets [page:Audio.sourceType sourceType] to 'audioNode'.<br />
+		Also sets [page:Audio.hasPlaybackControl hasPlaybackControl] to false.
+
+		</div>
+
+		<h3>[method:null setPlaybackRate]( [page:Number value] )</h3>
+		<div>
+		If [page:Audio.hasPlaybackControl hasPlaybackControl] is enabled, set the [page:Audio.playbackRate playbackRate] to *value*.
+		</div>
+
+		<h3>[method:null setVolume]( [page:Number value] )</h3>
+		<div>
+		Set the volume.
+		</div>
+
+		<h3>[method:null stop]()</h3>
+		<div>
+		If [page:Audio.hasPlaybackControl hasPlaybackControl] is enabled, stops playback,
+		resets [page:Audio.startTime startTime] to *0* and sets [page:Audio.isPlaying isPlaying] to false.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 96 - 0
docs/api/audio/AudioAnalyser.html

@@ -0,0 +1,96 @@
+<!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>
+
+		<div class="desc">
+			Create a AudioAnalyser object, which uses an [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode AnalyserNode]
+			to analyse audio data.<br /><br />
+
+			This uses the [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
+
+		</div>
+
+
+		<h2>Example</h2>
+
+		<div>[example:misc_sound misc / sound ]</div>
+		<code>
+		//Create an AudioListener and add it to the camera
+		var listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		// create an Audio source
+		var sound = new THREE.Audio( listener );
+
+		var audioLoader = new THREE.AudioLoader();
+
+		//Load a sound and set it as the Audio object's buffer
+		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+			sound.setBuffer( buffer );
+			sound.setLoop(true);
+			sound.setVolume(0.5);
+			sound.play();
+		});
+
+		//Create an AudioAnalyser, passing in the sound and desired fftSize
+		var analyser = new THREE.AudioAnalyser( sound, 32 );
+
+		//Get the average frequency of the sound
+		analyser.getAverageFrequency();
+		</code>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( audio, [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/fftSize fftSize] )</h3>
+		<div>
+		Create a new [page:AudioAnalyser AudioAnalyser].
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:AnalyserNode analyser]</h3>
+		<div>An [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode AnalyserNode] used to analyze audio.</div>
+
+		<h3>[property:Integer fftSize]</h3>
+		<div>
+		A non-zero power of two up to 2048, representing the size of the FFT (Fast Fourier Transform) to be used to determine the frequency domain.<br />
+		See [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/fftSize this page] for details.
+		</div>
+
+		<h3>[property:Uint8Array data]</h3>
+		<div>
+		A Uint8Array with size determined by [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/frequencyBinCount analyser.frequencyBinCount]
+		used to hold analysis data.
+		</div>
+
+
+		<h2>Methods</h2>
+
+
+		<h3>[method:Uint8Array getFrequencyData]()</h3>
+		<div>
+		Uses the Web Audio's [link:https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getByteFrequencyData getByteFrequencyData] method.
+		See that page.
+		</div>
+
+		<h3>[method:Number getAverageFrequency]()</h3>
+		<div>
+		Get the average of the frequencies returned by the [page:AudioAnalyser.getFrequencyData getFrequencyData] method.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 42 - 0
docs/api/audio/AudioContext.html

@@ -0,0 +1,42 @@
+<!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>
+
+		<div class="desc">
+		This contains methods for setting up an [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext].<br /><br />
+
+		Used internally by the [page:AudioListener AudioListener] and [page:AudioLoader AudioLoader] classes.<br /><br />
+
+		This uses the [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
+		</div>
+
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:AudioContext getContext]()</h3>
+		<div>
+		Return the value of the variable *context* in the outer scope, if defined,
+		otherwise set it to a new [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext].
+		</div>
+
+		<h3>[method:AudioContext setContext]( [page:AudioConetxt value] )</h3>
+		<div>
+		 Set the variable *context* in the outer scope to *value*.
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 107 - 0
docs/api/audio/AudioListener.html

@@ -0,0 +1,107 @@
+<!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>
+		[page:Object3D] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+			Create a non-positional ( global ) audio object.<br /><br />
+
+			This uses the [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
+
+		</div>
+
+
+		<h2>Example</h2>
+
+		<div>[example:misc_sound misc / sound ]</div>
+		<code>
+		//Create an AudioListener and add it to the camera
+		var listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		// create a global audio source
+		var sound = new THREE.Audio( listener );
+
+		var audioLoader = new THREE.AudioLoader();
+
+		//Load a sound and set it as the Audio object's buffer
+		audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+			sound.setBuffer( buffer );
+			sound.setLoop(true);
+			sound.setVolume(0.5);
+			sound.play();
+		});
+		</code>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name](  )</h3>
+		<div>
+		Create a new AudioListener.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:AudioContext context]</h3>
+		<div>The [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] of the [page:AudioListener listener] given in the constructor.</div>
+
+		<h3>[property:GainNode gain]</h3>
+		<div>A [link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode] created
+		using [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]().</div>
+		</div>
+
+		<h3>[property:AudioNode filter]</h3>
+		<div>Default is *null*.</div>
+
+
+		<h2>Methods</h2>
+
+
+		<h3>[method:GainNode getInput]()</h3>
+		<div>
+		Return the [page:AudioListener.gain gainNode].
+		</div>
+
+		<h3>[method:null removeFilter]()</h3>
+		<div>
+		Set the [page:AudioListener.filter filter] property to *null*.
+		</div>
+
+		<h3>[method:AudioNode getFilter]()</h3>
+		<div>
+		Returns the value of the [page:AudioListener.filter filter] property.
+		</div>
+
+		<h3>[method:null setFilter]( [page:AudioNode value] )</h3>
+		<div>
+		Set the [page:AudioListener.filter filter] property to *value*.
+		</div>
+
+		<h3>[method:Number getMasterVolume]()</h3>
+		<div>
+		Return the volume.
+		</div>
+
+		<h3>[method:null getMasterVolume]( [page:Number value] )</h3>
+		<div>
+		Set the volume.
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 125 - 0
docs/api/audio/PositionalAudio.html

@@ -0,0 +1,125 @@
+<!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>
+		[page:Object3D] &rarr; [page:Audio] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+			Create a positional audio object.<br /><br />
+
+			This uses the [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].
+		</div>
+
+
+		<h2>Example</h2>
+
+		<div>[example:misc_sound misc / sound ]</div>
+		<code>
+		//Create an AudioListener and add it to the camera
+		var listener = new THREE.AudioListener();
+		camera.add( listener );
+
+		//Create the PositionalAudio object (passing in the listener)
+		var sound = new THREE.PositionalAudio( listener );
+
+		//Load a sound and set it as the PositionalAudio object's buffer
+		var audioLoader = new THREE.AudioLoader();
+		audioLoader.load( 'sounds/song.ogg', function( buffer ) {
+			sound1.setBuffer( buffer );
+			sound1.setRefDistance( 20 );
+			sound1.play();
+		});
+
+		//Create an object for the sound to play from
+		var sphere = new THREE.SphereGeometry( 20, 32, 16 );
+		var material = new THREE.MeshPhongMaterial( { color: 0xff2200 } );
+		var mesh = new THREE.Mesh( sphere, material );
+		scene.add( mesh );
+
+		//Finally add the sound to the mesh
+		mesh.add( sound );
+		</code>
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:AudioListener listener] )</h3>
+		<div>
+		listener — (required) [page:AudioListener AudioListener] instance.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<div>
+			See the [page:Audio Audio] class for inherited properties.
+		</div>
+
+		<h3>[property:PannerNode panner]</h3>
+		<div>The PositionalAudio's [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode PannerNode].</div>
+
+
+		<h2>Methods</h2>
+
+		<div>
+			See the [page:Audio Audio] class for inherited methods.
+		</div>
+
+		<h3>[method:PannerNode getOutput]()</h3>
+		<div>
+		Returns the [page:PositionalAudio.panner panner].
+		</div>
+
+		<h3>[method:Number getRefDistance]()</h3>
+		<div>
+		Returns the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance].
+		</div>
+
+		<h3>[method:PannerNode setRefDistance]( [page:Number value] )</h3>
+		<div>
+		Sets the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance panner.refDistance].
+		</div>
+
+		<h3>[method:PannerNode getRolloffFactor]()</h3>
+		<div>
+		Returns the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor].
+		</div>
+
+		<h3>[method:PannerNode setRolloffFactor]( [page:Number value] )</h3>
+		<div>
+		Sets the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor panner.rolloffFactor].
+		</div>
+
+		<h3>[method:String getDistanceModel]()</h3>
+		<div>
+		Returns the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel panner.distanceModel].
+		</div>
+
+		<h3>[method:String setDistanceModel]( [page:String value] )</h3>
+		<div>
+		Sets the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel panner.distanceModel].
+		</div>
+
+		<h3>[method:PannerNode getMaxDistance]()</h3>
+		<div>
+		Returns the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.distanceModel].
+		</div>
+
+		<h3>[method:PannerNode setMaxDistance]( [page:Number value] )</h3>
+		<div>
+		Sets the value of [link:https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance panner.distanceModel].
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 37 - 0
docs/api/constants/Core.html

@@ -0,0 +1,37 @@
+<!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>Core Constants</h1>
+
+		<h2>Revision Number</h2>
+
+		<code>
+		THREE.REV
+		</code>
+
+		<div id="rev">
+			The current Three.js [link:https://github.com/mrdoob/three.js/releases revision number].
+		</div>
+
+    <h2>Mouse Buttons</h2>
+    <code>
+		THREE.MOUSE.LEFT
+		THREE.MOUSE.MIDDLE
+		THREE.MOUSE.RIGHT
+    </code>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]
+
+	</body>
+
+
+</html>

+ 15 - 0
docs/api/constants/Materials.html

@@ -60,6 +60,21 @@
 		THREE.MultiplyBlending
 		THREE.MultiplyBlending
 		THREE.CustomBlending
 		THREE.CustomBlending
 		</code>
 		</code>
+
+		<div>
+			These can also be accessed using:
+		</div>
+		
+		<code>
+		THREE.BlendingMode.NoBlending
+		THREE.BlendingMode.NormalBlending
+		THREE.BlendingMode.AdditiveBlending
+		THREE.BlendingMode.SubtractiveBlending
+		THREE.BlendingMode.MultiplyBlending
+		THREE.BlendingMode.CustomBlending
+		</code>
+
+
 		<div>
 		<div>
 		These control the source and destination blending equations for the material's RGB and Alpha sent to the WebGLRenderer for use by WebGL.<br />
 		These control the source and destination blending equations for the material's RGB and Alpha sent to the WebGLRenderer for use by WebGL.<br />
 		[page:Constant NormalBlending] is the default.<br />
 		[page:Constant NormalBlending] is the default.<br />

+ 42 - 0
docs/api/constants/Textures.html

@@ -21,6 +21,20 @@
 		THREE.CubeUVReflectionMapping
 		THREE.CubeUVReflectionMapping
 		THREE.CubeUVRefractionMapping
 		THREE.CubeUVRefractionMapping
 		</code>
 		</code>
+		<div>
+			These can also be accessed using:
+		</div>
+		<code>
+		THREE.TextureMappingUVMapping
+		THREE.TextureMapping.CubeReflectionMapping
+		THREE.TextureMapping.CubeRefractionMapping
+		THREE.TextureMapping.EquirectangularReflectionMapping
+		THREE.TextureMapping.EquirectangularRefractionMapping
+		THREE.TextureMapping.SphericalReflectionMapping
+		THREE.TextureMapping.CubeUVReflectionMapping
+		THREE.TextureMapping.CubeUVRefractionMapping
+		</code>
+
 		<div>
 		<div>
 		These define the texture's mapping mode.<br />
 		These define the texture's mapping mode.<br />
 		[page:Constant UVMapping] is the default, and maps the texture using the mesh's UV coordinates.<br /><br />
 		[page:Constant UVMapping] is the default, and maps the texture using the mesh's UV coordinates.<br /><br />
@@ -46,6 +60,14 @@
 		THREE.ClampToEdgeWrapping
 		THREE.ClampToEdgeWrapping
 		THREE.MirroredRepeatWrapping
 		THREE.MirroredRepeatWrapping
 		</code>
 		</code>
+		<div>
+			These can also be accessed using:
+		</div>
+		<code>
+		THREE.TextureWrapping.RepeatWrapping
+		THREE.TextureWrapping.ClampToEdgeWrapping
+		THREE.TextureWrapping.MirroredRepeatWrapping
+		</code>
 		<div>
 		<div>
 		These define the texture's [page:Texture.wrapS wrapS] and [page:Texture.wrapT wrapT] properties,
 		These define the texture's [page:Texture.wrapS wrapS] and [page:Texture.wrapT wrapT] properties,
 		which define horizontal and vertical texture wrapping.<br /><br />
 		which define horizontal and vertical texture wrapping.<br /><br />
@@ -63,6 +85,14 @@
 		THREE.NearestFilter
 		THREE.NearestFilter
 		THREE.LinearFilter
 		THREE.LinearFilter
 		</code>
 		</code>
+		<div>
+			These can also be accessed using:
+		</div>
+		<code>
+		THREE.TextureFilter.NearestFilter
+		THREE.TextureFilter.LinearFilter
+		</code>
+
 		<div>
 		<div>
 		For use with a texture's [page:Texture.magFilter magFilter]	property,
 		For use with a texture's [page:Texture.magFilter magFilter]	property,
 		these define the texture magnification function to be used when the pixel being textured maps to an
 		these define the texture magnification function to be used when the pixel being textured maps to an
@@ -86,6 +116,18 @@
 		THREE.LinearMipMapNearestFilter
 		THREE.LinearMipMapNearestFilter
 		THREE.LinearMipMapLinearFilter
 		THREE.LinearMipMapLinearFilter
 		</code>
 		</code>
+		<div>
+			These can also be accessed using:
+		</div>
+		<code>
+		THREE.TextureFilter.NearestFilter
+		THREE.TextureFilter.NearestMipMapNearestFilter
+		THREE.TextureFilter.NearestMipMapLinearFilter
+		THREE.TextureFilter.LinearFilter
+		THREE.TextureFilter.LinearMipMapNearestFilter
+		THREE.TextureFilter.LinearMipMapLinearFilter
+		</code>
+
 		<div>
 		<div>
 		For use with a texture's [page:Texture.minFilter minFilter]	property, these define
 		For use with a texture's [page:Texture.minFilter minFilter]	property, these define
 		the texture minifying function that is used whenever the pixel being textured maps
 		the texture minifying function that is used whenever the pixel being textured maps

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

@@ -54,7 +54,7 @@
 		A version number, incremented every time the needsUpdate property is set to true.
 		A version number, incremented every time the needsUpdate property is set to true.
 		</div>
 		</div>
 
 
-		<h3>[property:Function onUpload]</h3>
+		<h3>[property:Function onUploadCallback]</h3>
 		<div>
 		<div>
 		A callback function that is executed after the Renderer has transfered the attribute array data to the GPU.
 		A callback function that is executed after the Renderer has transfered the attribute array data to the GPU.
 		</div>
 		</div>
@@ -107,6 +107,12 @@
 		the value of the array at <code>index * itemSize + 3</code> to w.
 		the value of the array at <code>index * itemSize + 3</code> to w.
 		</div>
 		</div>
 
 
+		<h3>[method:null onUpload]( [page:Function callback] ) </h3>
+		<div>
+		Sets the value of the onUploadCallback property.
+		</div>
+		<div>Example: [example:webgl_buffergeometry used to free memory after the buffer has been transfered to GPU].</div>
+
 		<h3>[method:BufferAttribute clone]() </h3>
 		<h3>[method:BufferAttribute clone]() </h3>
 		<div>
 		<div>
 		Copies this attribute.
 		Copies this attribute.

+ 165 - 0
docs/api/core/DirectGeometry.html

@@ -0,0 +1,165 @@
+<!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>
+
+		<div class="desc">This class is mainly used internally to convert from [page:Geometry] to [page:BufferGeometry].</div>
+
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]()</h3>
+		<div>
+		This creates a new [name].
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Integer id]</h3>
+		<div>
+		Unique number for this [name] instance.
+		</div>
+
+		<h3>[property:String name]</h3>
+		<div>
+		Optional name. Default is the empty string.
+		</div>
+
+		<h3>[property:Array type]</h3>
+		<div>
+		String 'DirectGeometry'.
+		</div>
+
+		<h3>[property:Array indices]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array vertices]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array normals]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array colors]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array uvs]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array uvs2]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array groups]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array morphTargets]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array skinWeights]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Array skinIndices]</h3>
+		<div>
+			Default is empty array.
+		</div>
+
+		<h3>[property:Box boundingBox]</h3>
+		<div>
+			Default is null.
+		</div>
+
+		<h3>[property:Box boundingSphere]</h3>
+		<div>
+			Default is null.
+		</div>
+
+		<h3>[property:Boolean verticesNeedUpdate]</h3>
+		<div>
+			Default is false.
+		</div>
+
+		<h3>[property:Boolean normalsNeedUpdate]</h3>
+		<div>
+			Default is false.
+		</div>
+
+		<h3>[property:Boolean verticesNeedUpdate]</h3>
+		<div>
+			Default is false.
+		</div>
+
+		<h3>[property:Boolean colorsNeedUpdate]</h3>
+		<div>
+			Default is false.
+		</div>
+
+		<h3>[property:Boolean uvsNeedUpdate]</h3>
+		<div>
+			Default is false.
+		</div>
+
+		<h3>[property:Boolean groupsNeedUpdate]</h3>
+		<div>
+			Default is false.
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
+
+		<h3>[property:null computeBoundingBox](  )</h3>
+		<div>
+		 See [page:Geometry.computeBoundingBox].
+		</div>
+
+		<h3>[property:null computeBoundingSphere](  )</h3>
+		<div>
+		 See [page:Geometry.computeBoundingSphere].
+		</div>
+
+		<h3>[property:null computeGroups]( page:Geometry geometry] )</h3>
+		<div>
+		</div>
+
+		<h3>[property:null fromGeometry]( page:Geometry geometry] )</h3>
+		<div>
+		</div>
+
+		<h3>[property:null dispose]( )</h3>
+		<div>
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 54 - 0
docs/api/core/bufferAttributeTypes/BufferAttributeTypes.html

@@ -0,0 +1,54 @@
+<!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>
+		[page:BufferAttribute] &rarr;
+
+		<h1>BufferAttribute Types</h1>
+
+		<div class="desc">
+		There are nine types of [page:BufferAttribute] available in Three. These correspond to the JavaScript
+		[link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#Syntax Typed Arrays].
+		</div>
+
+		<code>
+		THREE.Float64BufferAttribute
+		THREE.Float32BufferAttribute
+		THREE.Uint32BufferAttribute
+		THREE.Int32BufferAttribute
+		THREE.Uint16BufferAttribute
+		THREE.Int16BufferAttribute
+		THREE.Uint8ClampedBufferAttribute
+		THREE.Uint8BufferAttribute
+		THREE.Int8BufferAttribute
+		</code>
+
+		<h2>Constructor</h2>
+
+		All of the above are called in the same way.
+		<h3>TypedBufferAttribute( [page:Array array], [page:Integer itemSize] )</h3>
+		<div>
+			array -- this can be a typed or untyped (normal) array. It will be converted to the Type specified.<br /><br />
+
+			itemSize -- the number of values of the array that should be associated with a particular vertex.
+		</div>
+
+		<h2>Properties</h2>
+
+		See the [page:BufferAttribute] page for inherited properties.
+
+		<h2>Methods</h2>
+
+		See the [page:BufferAttribute] page for inherited methods.
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js src/core/BufferAttribute.js]
+	</body>
+</html>

+ 93 - 0
docs/api/deprecated/DeprecatedList.html

@@ -0,0 +1,93 @@
+<!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>Deprecated API List</h1>
+
+		<div>
+			As Three.js has a rapidly evolving interface, you may come across examples that
+			suggest the use of API elements that are no longer part of the core.<br /><br />
+
+			Below is a list of such elements, along with info regarding their replacements.
+		</div>
+
+		<h2>Deprecated Constants</h2>
+
+		<h3>[page:LineStrip LineStrip]</h3>
+
+		<h3>[page:LinePieces LinePieces]</h3>
+		<div>
+		[page:Line Line] LinePieces mode is no longer supported. Create a [page:LineSegments LineSegments] instead.
+		</div>
+
+		<h2>Deprecated Objects</h2>
+
+		<h3>[page:GeometryUtils GeometryUtils]</h3>
+		<div>
+			GeometryUtils.merge has been moved to [page:Geometry.merge Geometry.merge].<br /><br />
+
+			GeometryUtils.center has been moved to [page:Geometry.center Geometry.center].
+		</div>
+
+		<h3>[page:ImageUtils ImageUtils]</h3>
+		<div>
+			ImageUtils.loadTexture has been deprecated. Use [page:TextureLoader TextureLoader] instead.<br /><br />
+
+			ImageUtils.loadTextureCube has been deprecated. Use [page:CubeTextureLoader CubeTextureLoader] instead.<br /><br />
+
+			ImageUtils.loadCompressedTexture has been removed. Use [page:DDSLoader DDSLoader] instead.<br /><br />
+
+			ImageUtils.loadCompressedTextureCube has been removed. Use [page:DDSLoader DDSLoader] instead.
+		</div>
+
+		<h2>Deprecated Classes</h2>
+
+		<h3>[page:EdgesHelper EdgesHelper]</h3>
+		<div>EdgesHelper has been removed. Use [page:EdgesGeometry EdgesGeometry] instead.</div>
+
+		<h3>[page:DynamicBufferAttribute DynamicBufferAttribute]</h3>
+		<div>DynamicBufferAttribute has been removed. Use [page:BufferAttribute.setDynamic BufferAttribute.setDynamic]( true ) instead.</div>
+
+		<h3>[page:Face4 Face4]</h3>
+		<div>Face4 has been removed. Use [page:Face3 Face3] instead.</div>
+
+		<h3>[page:ParticleBasicMaterial ParticleBasicMaterial]</h3>
+		<div>ParticleBasicMaterial has been renamed to [page:PointsMaterial PointsMaterial].</div>
+
+		<h3>[page:ParticleSystem ParticleSystem]</h3>
+		<div>ParticleSystem has been renamed to [page:Points Points].</div>
+
+		<h3>[page:ParticleSystemMaterial ParticleSystemMaterial]</h3>
+		<div>ParticleBasicMaterial has been renamed to [page:PointsMaterial PointsMaterial].</div>
+
+		<h3>[page:PointCloud PointCloud]</h3>
+		<div>PointCloud has been renamed to [page:Points Points].</div>
+
+		<h3>[page:PointCloudMaterial PointCloudMaterial]</h3>
+		<div>PointCloudMaterial has been renamed to [page:PointsMaterial PointsMaterial].</div>
+
+		<h3>[page:Projector Projector]</h3>
+		<div>
+			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 />
+
+			Projector.projectVector() is now [page:Vector.project Vector.project].<br /><br />
+
+			Projector.unprojectVector() is now [page:Vector.unproject Vector.unproject].<br /><br />
+
+			Projector:.pickingRay() is now [page:Raycaster.setFromCamera Raycaster.setFromCamera].
+		</div>
+
+		<h3>[page:Vertex Vertex]</h3>
+		<div>Vertex has been removed. Use [page:Vector3 Vector3] instead.</div>
+
+		<h3>[page:WireframeHelper WireframeHelper]</h3>
+		<div>WireframeHelper has been removed. Use [page:WireframeGeometry WireframeGeometry] instead.</div>
+	</body>
+</html>

+ 91 - 0
docs/api/extras/core/ShapePath.html

@@ -0,0 +1,91 @@
+<!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>
+		[page:CurvePath] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+		This is class is used to convert a series of shapes to an array of [page:Path]s, for example an SVG shape to a
+		path (see the example below). It is used internally by [page:Font] to convert a font in JSON format to a
+		series of paths.
+		</div>
+
+		<h2>Example</h2>
+
+		[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2]
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name](  )</h3>
+		<div>
+		Creates a new ShapePath. Unlike a [page:Path], no points are passed in as the ShapePath is designed to
+		be generated after creation.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:array subPaths]</h3>
+		<div>
+		Array of [page:Path]s.
+		</div>
+
+		<h3>[property:array currentPath]</h3>
+		<div>
+		The current [page:Path] that is being generated.
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null moveTo]( [page:Float x], [page:Float y] )</h3>
+		<div>
+		Starts a new [page:Path] and calls [page:Path.moveTo]( x, y ) on that [page:Path].
+		Also points [page:ShapePath.currentPath currentPath] to that [page:Path].
+		</div>
+
+		<h3>[method:null lineTo]( [page:Float x], [page:Float y] )</h3>
+		<div>This creates a line from the [page:ShapePath.currentPath currentPath]'s
+			offset to X and Y and updates the offset to X and Y.</div>
+
+		<h3>[method:null quadraticCurveTo]( [page:Float cpX], [page:Float cpY], [page:Float x], [page:Float y] )</h3>
+		<div>This creates a quadratic curve from the [page:ShapePath.currentPath currentPath]'s
+			offset to x and y with cpX and cpY as control point and updates the [page:ShapePath.currentPath currentPath]'s
+			offset to x and y.</div>
+
+		<h3>[method:null bezierCurveTo]( [page:Float cp1X], [page:Float cp1Y], [page:Float cp2X], [page:Float cp2Y], [page:Float x], [page:Float y] )</h3>
+		<div>This creates a bezier curve from the [page:ShapePath.currentPath currentPath]'s
+			 offset to x and y with cp1X, cp1Y and cp1X, cp1Y as control points and updates the
+			 [page:ShapePath.currentPath currentPath]'s offset to x and y.</div>
+
+		<h3>[method:null splineThru] ( [page:Array points] ) </h3>
+		<div>points - An array of [page:Vector2]s</div>
+		<div>Connects a new [page:SplineCurve] onto the [page:ShapePath.currentPath currentPath].</div>
+
+
+		<h3>[method:Array toShapes]( [page:Boolean isCCW], [page:Boolean noHoles] )</h3>
+		<div>
+		isCCW -- Changes how solids and holes are generated<br/>
+		noHoles -- Whether or not to generate holes
+		</div>
+		<div>
+		Converts the [page:ShapePath.subPaths subPaths] array into an array of Shapes. By default solid shapes are defined clockwise (CW) and holes are defined counterclockwise (CCW). If isCCW is set to true,
+		then those are flipped. If the paramater noHoles is set to true then all paths are set as solid shapes and isCCW is ignored.
+		<br/>
+
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 67 - 0
docs/api/loaders/AnimationLoader.html

@@ -0,0 +1,67 @@
+<!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>
+
+		<div class="desc">Class for loading an animation in JSON format.</div>
+
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.AnimationLoader();
+
+		// load a resource
+		loader.load(
+			// resource URL
+			'animations/animation.js',
+			// Function when resource is loaded
+			function ( animation ) {
+				// do something with the animation
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:LoadingManager manager] )</h3>
+		<div>
+		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
+		</div>
+		<div>
+		Creates a new [name].
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+		[page:String url] — required<br />
+		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded [page:Texture texture].<br />
+		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+		[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+		Begin loading from url and pass the loaded animation to onLoad.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 23 - 28
docs/api/loaders/AudioLoader.html

@@ -12,34 +12,6 @@
 
 
 		<div class="desc">Class for loading an [page:String AudioBuffer].</div>
 		<div class="desc">Class for loading an [page:String AudioBuffer].</div>
 
 
-
-		<h2>Constructor</h2>
-
-		<h3>[name]( [page:String context], [page:LoadingManager manager] )</h3>
-		<div>
-		[page:String context] — The [page:String AudioContext] for the loader to use. Default is [page:String window.AudioContext].<br />
-		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
-		</div>
-		<div>
-		Creates a new [name].
-		</div>
-
-
-		<h2>Methods</h2>
-
-		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
-		<div>
-		[page:String url] — required<br />
-		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded text response.<br />
-		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
-		[page:Function onError] — Will be called when load errors.<br />
-		</div>
-		<div>
-		Begin loading from url and pass the loaded [page:String AudioBuffer] to onLoad.
-		</div>
-
-
-
 		<h2>Example</h2>
 		<h2>Example</h2>
 
 
 		<code>
 		<code>
@@ -81,7 +53,30 @@
 		);
 		);
 		</code>
 		</code>
 
 
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:String context], [page:LoadingManager manager] )</h3>
+		<div>
+		[page:String context] — The [page:String AudioContext] for the loader to use. Default is [page:String window.AudioContext].<br />
+		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
+		</div>
+		<div>
+		Creates a new [name].
+		</div>
+
 
 
+		<h2>Methods</h2>
+
+		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+		[page:String url] — required<br />
+		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded text response.<br />
+		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+		[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+		Begin loading from url and pass the loaded [page:String AudioBuffer] to onLoad.
+		</div>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 

+ 60 - 0
docs/api/loaders/BinaryTextureLoader.html

@@ -0,0 +1,60 @@
+<!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>
+
+		<div class="desc">
+		Abstract base class to load generic binary textures formats (rgbe, hdr, ...).<br /><br />
+		</div>
+
+		<h2>Examples</h2>
+
+		<div>
+			See the [link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/RGBELoader.js RGBELoader]
+			for an example of a derived class.
+		</div>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:LoadingManager manager] )</h3>
+		<div>
+		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use.
+		Default is [page:LoadingManager THREE.DefaultLoadingManager].<br /><br />
+
+		Creates a new [name].
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:LoadingManager loadingManager]</h3>
+		<div>
+		loadingManager — the LoadingManager supplied in the constructor, or the [page:LoadingManager THREE.DefaultLoadingManager].<br />
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+		[page:String url] — required<br />
+		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded texture.<br />
+		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+		[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+		Begin loading from url and pass the loaded texture to onLoad.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 26 - 28
docs/api/loaders/BufferGeometryLoader.html

@@ -12,7 +12,33 @@
 
 
 		<div class="desc">A loader for loading a [page:BufferGeometry].</div>
 		<div class="desc">A loader for loading a [page:BufferGeometry].</div>
 
 
+		<h2>Example</h2>
 
 
+		<code>
+		// instantiate a loader
+		var loader = new THREE.BufferGeometryLoader();
+
+		// load a resource
+		loader.load(
+			// resource URL
+			'models/json/pressure.json',
+			// Function when resource is loaded
+			function ( geometry ) {
+				var material = new THREE.MeshLambertMaterial( { color: 0xF5F5F5 } );
+				var object = new THREE.Mesh( geometry, material );
+				scene.add( object );
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
+		
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
 		<h3>[name]( [page:LoadingManager manager] )</h3>
 		<h3>[name]( [page:LoadingManager manager] )</h3>
@@ -48,34 +74,6 @@
 		Parse a <em>JSON</em> structure and return a [page:BufferGeometry].
 		Parse a <em>JSON</em> structure and return a [page:BufferGeometry].
 		</div>
 		</div>
 
 
-
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.BufferGeometryLoader();
-
-		// load a resource
-		loader.load(
-			// resource URL
-			'models/json/pressure.json',
-			// Function when resource is loaded
-			function ( geometry ) {
-				var material = new THREE.MeshLambertMaterial( { color: 0xF5F5F5 } );
-				var object = new THREE.Mesh( geometry, material );
-				scene.add( object );
-			},
-			// Function called when download progresses
-			function ( xhr ) {
-				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
-			},
-			// Function called when download errors
-			function ( xhr ) {
-				console.log( 'An error happened' );
-			}
-		);
-		</code>
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 66 - 0
docs/api/loaders/CompressedTextureLoader.html

@@ -0,0 +1,66 @@
+<!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>
+
+		<div class="desc">
+		Abstract base class for block based textures loader (dds, pvr, ...).<br /><br />
+		</div>
+
+		<h2>Examples</h2>
+
+		<div>
+			See the [link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/DDSLoader.js DDSLoader]
+			and [link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/PVRLoader.js PVRLoader]
+			for examples of a derived classes.
+		</div>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:LoadingManager manager] )</h3>
+		<div>
+		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use.
+		Default is [page:LoadingManager THREE.DefaultLoadingManager].<br /><br />
+
+		Creates a new [name].
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:LoadingManager manager]</h3>
+		<div>
+		manager — the LoadingManager supplied in the constructor, or the [page:LoadingManager THREE.DefaultLoadingManager].<br />
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+		[page:String url] — required<br />
+		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded texture.<br />
+		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+		[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+		Begin loading from url and pass the loaded texture to onLoad.
+		</div>
+
+		<h3>[method:null setPath]( [page:String value] )</h3>
+		<div>
+		Set the path from which to load textures.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 87 - 0
docs/api/loaders/CubeTextureLoader.html

@@ -0,0 +1,87 @@
+<!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>
+
+		<div class="desc">Class for loading a [page:CubeTexture CubeTexture].</div>
+
+		<h2>Example</h2>
+
+		<code>
+var scene = new THREE.Scene();
+scene.background = new THREE.CubeTextureLoader()
+	.setPath( 'textures/cubeMaps/' )
+	.load( [
+				'1.png',
+				'2.png',
+				'3.png',
+				'4.png',
+				'5.png',
+				'6.png'
+			] );
+		</code>
+
+		<div>
+			[example:webgl_materials_cubemap materials / cubemap]<br />
+			[example:webgl_materials_cubemap_balls_reflection materials / cubemap / balls / reflection]<br />
+			[example:webgl_materials_cubemap_balls_refraction materials / cubemap / balls / refraction]<br />
+			[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic]<br />
+			[example:webgl_materials_cubemap_dynamic2 materials / cubemap / dynamic2]<br />
+			[example:webgl_materials_cubemap_refraction materials / cubemap / refraction]
+		</div>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:LoadingManager manager] )</h3>
+		<div>
+		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
+		</div>
+		<div>
+		Creates a new [name].
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:String crossOrigin]</h3>
+		<div>
+		default — *null*.<br />
+		If set, assigns the *crossOrigin* attribute of the image to the value of *crossOrigin*, prior to starting the load.
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+		[page:String url] — required<br />
+		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded [page:Texture texture].<br />
+		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+		[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+		Begin loading from url and pass the loaded [page:Texture texture] to onLoad.
+		</div>
+
+		<h3>[method:null setCrossOrigin]( [page:String value] )</h3>
+		<div>
+		Set the crossOrigin attribute.
+		</div>
+
+		<h3>[method:null setPath]( [page:String value] )</h3>
+		<div>
+		Set the path from which to load textures.	
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 18 - 0
docs/api/loaders/DataTextureLoader.html

@@ -0,0 +1,18 @@
+<!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>
+
+		<div class="desc">This is a synonym for the [page:BinaryTextureLoader BinaryTextureLoader].
+			See that page for details.
+		</div>
+
+	</body>
+</html>

+ 32 - 0
docs/api/loaders/DefaultLoadingManager.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>
+
+		<div class="desc">An instance of the [page:LoadingManager LoadingManager], used by most loaders
+			when no custom manager has been specified.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		See the [page:LoadingManager LoadingManager] for properties.
+
+		<h2>Methods</h2>
+
+		See the [page:LoadingManager LoadingManager] for methods.
+
+		<h2>Example</h2>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/loaders/loadingManager.js loadingManager.js]
+	</body>
+</html>

+ 0 - 7
docs/api/loaders/FileLoader.html

@@ -13,7 +13,6 @@
 
 
 		<div class="desc">A low level class for loading resources with XmlHttpRequest, used internaly by most loaders.</div>
 		<div class="desc">A low level class for loading resources with XmlHttpRequest, used internaly by most loaders.</div>
 
 
-
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
 		<h3>[name]( [page:LoadingManager manager] )</h3>
 		<h3>[name]( [page:LoadingManager manager] )</h3>
@@ -61,12 +60,6 @@
 		[page:String value] — the empty string (default), "arraybuffer", "blob", "document", "json", or "text".
 		[page:String value] — the empty string (default), "arraybuffer", "blob", "document", "json", or "text".
 		</div>
 		</div>
 
 
-
-		<h2>Example</h2>
-
-		[example:webgl_morphtargets_human]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 76 - 0
docs/api/loaders/FontLoader.html

@@ -0,0 +1,76 @@
+<!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>
+
+		<div class="desc">
+		Class for loading a font in JSON format. Returns a [page:Font Font], which is an
+		array of [page:Shape Shape]s representing the font.<br /><br />
+
+		You can convert fonts online using [link:https://gero3.github.io/facetype.js/ facetype.js]
+		</div>
+
+		<h2>Examples</h2>
+
+		<div>
+		[example:webgl_geometry_text geometry / text ]<br />
+		[example:webgl_geometry_text_earcut geometry / text / earcut]<br />
+		[example:webgl_geometry_text_pnltri geometry / text / pnltri]<br />
+		</div>
+
+		<code>
+		var loader = new THREE.FontLoader();
+		var font = loader.load(
+			// resource URL
+			'fonts/helvetiker_bold.typeface.json'
+			// Function when resource is loaded
+			function ( font ) {
+				// do something with the font
+				scene.add( font );
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:LoadingManager manager] )</h3>
+		<div>
+		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
+		</div>
+		<div>
+		Creates a new [name].
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+		[page:String url] — required<br />
+		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded [page:Texture texture].<br />
+		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+		[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+		Begin loading from url and pass the loaded [page:Texture texture] to onLoad.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 31 - 33
docs/api/loaders/ImageLoader.html

@@ -12,7 +12,38 @@
 
 
 		<div class="desc">A loader for loading an [page:Image].</div>
 		<div class="desc">A loader for loading an [page:Image].</div>
 
 
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.ImageLoader();
+
+		// load a image resource
+		loader.load(
+			// resource URL
+			'textures/skyboxsun25degtest.png',
+			// Function when resource is loaded
+			function ( image ) {
+				// do something with it
+
+				// like drawing a part of it on a canvas
+				var canvas = document.createElement( 'canvas' );
+				var context = canvas.getContext( '2d' );
+				context.drawImage( image, 100, 100 );
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
 
 
+		[example:webgl_shaders_ocean]
+		
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
 		<h3>[name]( [page:LoadingManager manager] )</h3>
 		<h3>[name]( [page:LoadingManager manager] )</h3>
@@ -51,39 +82,6 @@
 		The crossOrigin string to implement CORS for loading the url from a different domain that allows CORS.
 		The crossOrigin string to implement CORS for loading the url from a different domain that allows CORS.
 		</div>
 		</div>
 
 
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.ImageLoader();
-
-		// load a image resource
-		loader.load(
-			// resource URL
-			'textures/skyboxsun25degtest.png',
-			// Function when resource is loaded
-			function ( image ) {
-				// do something with it
-
-				// like drawing a part of it on a canvas
-				var canvas = document.createElement( 'canvas' );
-				var context = canvas.getContext( '2d' );
-				context.drawImage( image, 100, 100 );
-			},
-			// Function called when download progresses
-			function ( xhr ) {
-				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
-			},
-			// Function called when download errors
-			function ( xhr ) {
-				console.log( 'An error happened' );
-			}
-		);
-		</code>
-
-		[example:webgl_shaders_ocean]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 20 - 22
docs/api/loaders/JSONLoader.html

@@ -13,6 +13,26 @@
 
 
 		<div class="desc">A loader for loading objects in JSON format.</div>
 		<div class="desc">A loader for loading objects in JSON format.</div>
 
 
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.JSONLoader();
+
+		// load a resource
+		loader.load(
+			// resource URL
+			'models/animated/monster/monster.js',
+			// Function when resource is loaded
+			function ( geometry, materials ) {
+				var material = new THREE.MultiMaterial( materials );
+				var object = new THREE.Mesh( geometry, material );
+				scene.add( object );
+			}
+		);
+		</code>
+
+		[example:webgl_loader_json_blender]
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
@@ -54,28 +74,6 @@
 		Parse a <em>JSON</em> structure and return an [page:object] containing the parsed [page:Geometry geometry] and [page:Array materials].
 		Parse a <em>JSON</em> structure and return an [page:object] containing the parsed [page:Geometry geometry] and [page:Array materials].
 		</div>
 		</div>
 
 
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.JSONLoader();
-
-		// load a resource
-		loader.load(
-			// resource URL
-			'models/animated/monster/monster.js',
-			// Function when resource is loaded
-			function ( geometry, materials ) {
-				var material = new THREE.MultiMaterial( materials );
-				var object = new THREE.Mesh( geometry, material );
-				scene.add( object );
-			}
-		);
-		</code>
-
-		[example:webgl_loader_json_blender]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 26 - 28
docs/api/loaders/MaterialLoader.html

@@ -12,6 +12,32 @@
 
 
 		<div class="desc">A loader for loading a [page:Material] in JSON format.</div>
 		<div class="desc">A loader for loading a [page:Material] in JSON format.</div>
 
 
+		<h2>Example</h2>
+
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.MaterialLoader();
+
+		// load a resource
+		loader.load(
+			// resource URL
+			'path/to/material.json',
+			// Function when resource is loaded
+			function ( material ) {
+				object.material = material;
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
+
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
@@ -45,34 +71,6 @@
 		Parse a <em>JSON</em> structure and create a new [page:Material] of the type [page:String json.type] with parameters defined in the json object.
 		Parse a <em>JSON</em> structure and create a new [page:Material] of the type [page:String json.type] with parameters defined in the json object.
 		</div>
 		</div>
 
 
-
-		<h2>Example</h2>
-
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.MaterialLoader();
-
-		// load a resource
-		loader.load(
-			// resource URL
-			'path/to/material.json',
-			// Function when resource is loaded
-			function ( material ) {
-				object.material = material;
-			},
-			// Function called when download progresses
-			function ( xhr ) {
-				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
-			},
-			// Function called when download errors
-			function ( xhr ) {
-				console.log( 'An error happened' );
-			}
-		);
-		</code>
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 15 - 16
docs/api/loaders/ObjectLoader.html

@@ -12,6 +12,21 @@
 
 
 		<div class="desc">A loader for loading a JSON resource. Unlike the [page:JSONLoader], this one make use of the <em>.type</em> attributes of objects to map them to their original classes.</div>
 		<div class="desc">A loader for loading a JSON resource. Unlike the [page:JSONLoader], this one make use of the <em>.type</em> attributes of objects to map them to their original classes.</div>
 
 
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.ObjectLoader();
+
+		// assuming we loaded a JSON structure from elsewhere
+		var object = loader.parse( a_json_object );
+
+		scene.add( object );
+		</code>
+
+		[example:webgl_loader_msgpack]
+
+
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
@@ -54,22 +69,6 @@
 		[page:String value] — The crossOrigin string to implement CORS for loading the url from a different domain that allows CORS.
 		[page:String value] — The crossOrigin string to implement CORS for loading the url from a different domain that allows CORS.
 		</div>
 		</div>
 
 
-
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.ObjectLoader();
-
-		// assuming we loaded a JSON structure from elsewhere
-		var object = loader.parse( a_json_object );
-
-		scene.add( object );
-		</code>
-
-		[example:webgl_loader_msgpack]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 29 - 33
docs/api/loaders/TextureLoader.html

@@ -12,6 +12,35 @@
 
 
 		<div class="desc">Class for loading a [page:Texture texture].</div>
 		<div class="desc">Class for loading a [page:Texture texture].</div>
 
 
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.TextureLoader();
+
+		// load a resource
+		loader.load(
+			// resource URL
+			'textures/land_ocean_ice_cloud_2048.jpg',
+			// Function when resource is loaded
+			function ( texture ) {
+				// do something with the texture
+				var material = new THREE.MeshBasicMaterial( {
+					map: texture
+				 } );
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
+
+		[example:canvas_geometry_earth]
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
@@ -46,39 +75,6 @@
 		Begin loading from url and pass the loaded [page:Texture texture] to onLoad.
 		Begin loading from url and pass the loaded [page:Texture texture] to onLoad.
 		</div>
 		</div>
 
 
-
-
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.TextureLoader();
-
-		// load a resource
-		loader.load(
-			// resource URL
-			'textures/land_ocean_ice_cloud_2048.jpg',
-			// Function when resource is loaded
-			function ( texture ) {
-				// do something with the texture
-				var material = new THREE.MeshBasicMaterial( {
-					map: texture
-				 } );
-			},
-			// Function called when download progresses
-			function ( xhr ) {
-				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
-			},
-			// Function called when download errors
-			function ( xhr ) {
-				console.log( 'An error happened' );
-			}
-		);
-		</code>
-
-		[example:canvas_geometry_earth]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 6 - 6
docs/api/examples/Lut.html → docs/examples/Lut.html

@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<meta charset="utf-8" />
-		<base href="../../" />
+		<meta charset="utf-8" />
+		<base href="../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />
@@ -41,7 +41,7 @@
 		<div>
 		<div>
 		The maximum value to be represented with the lookup table. Default is 1.
 		The maximum value to be represented with the lookup table. Default is 1.
 		</div>
 		</div>
-		
+
 		<h3>.[legend]</h3>
 		<h3>.[legend]</h3>
 		<div>
 		<div>
 		The legend of the lookup table.
 		The legend of the lookup table.
@@ -56,7 +56,7 @@
 		<div>
 		<div>
 		Copies given lut.
 		Copies given lut.
 		</div>
 		</div>
-		
+
 		<h3>.setLegendOn [parameters]</h3>
 		<h3>.setLegendOn [parameters]</h3>
 		<div>
 		<div>
 		parameters - { layout: value, position: { x: value, y: value, z: value }, dimensions: { width: value, height: value } }
 		parameters - { layout: value, position: { x: value, y: value, z: value }, dimensions: { width: value, height: value } }
@@ -67,14 +67,14 @@
 		<div>
 		<div>
 		Sets this Lut with the legend on.
 		Sets this Lut with the legend on.
 		</div>
 		</div>
-		
+
 		<h3>.setLegendOff</h3>
 		<h3>.setLegendOff</h3>
 		<div>
 		<div>
 		</div>
 		</div>
 		<div>
 		<div>
 		Sets this Lut with the legend off.
 		Sets this Lut with the legend off.
 		</div>
 		</div>
-    
+
     <h3>.setLegendLabels [parameters, callback]</h3>
     <h3>.setLegendLabels [parameters, callback]</h3>
 		<div>
 		<div>
 		parameters - { fontsize: value, fontface: value, title: value, um: value, ticks: value, decimal: value, notation: value }
 		parameters - { fontsize: value, fontface: value, title: value, um: value, ticks: value, decimal: value, notation: value }

+ 1 - 1
docs/api/examples/SpriteCanvasMaterial.html → docs/examples/SpriteCanvasMaterial.html

@@ -2,7 +2,7 @@
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
 		<meta charset="utf-8" />
 		<meta charset="utf-8" />
-		<base href="../../" />
+		<base href="../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />

+ 2 - 2
docs/api/examples/cameras/CombinedCamera.html → docs/examples/cameras/CombinedCamera.html

@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<meta charset="utf-8" />
-		<base href="../../../" />
+		<meta charset="utf-8">
+		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />

+ 1 - 1
docs/api/extras/collada-animation/Animation.html → docs/examples/collada/Animation.html

@@ -2,7 +2,7 @@
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
 		<meta charset="utf-8" />
 		<meta charset="utf-8" />
-		<base href="../../../" />
+		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />

+ 1 - 1
docs/api/extras/collada-animation/AnimationHandler.html → docs/examples/collada/AnimationHandler.html

@@ -2,7 +2,7 @@
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
 		<meta charset="utf-8" />
 		<meta charset="utf-8" />
-		<base href="../../../" />
+		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />

+ 1 - 1
docs/api/extras/collada-animation/KeyFrameAnimation.html → docs/examples/collada/KeyFrameAnimation.html

@@ -2,7 +2,7 @@
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
 		<meta charset="utf-8" />
 		<meta charset="utf-8" />
-		<base href="../../../" />
+		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
 		<link type="text/css" rel="stylesheet" href="page.css" />
 		<link type="text/css" rel="stylesheet" href="page.css" />

+ 27 - 29
docs/api/loaders/BabylonLoader.html → docs/examples/loaders/BabylonLoader.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<meta charset="utf-8" />
+		<meta charset="utf-8" />
 		<base href="../../" />
 		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
@@ -13,6 +13,32 @@
 
 
 		<div class="desc">A loader for loading a <em>.babylon</em> resource.</div>
 		<div class="desc">A loader for loading a <em>.babylon</em> resource.</div>
 
 
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.BabylonLoader();
+
+		// load a Babylon resource
+		loader.load(
+			// resource URL
+			'models/babylon/skull.babylon',
+			// Function when resource is loaded
+			function ( object ) {
+				scene.add( object );
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
+
+		[example:webgl_loader_babylon]
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
@@ -50,34 +76,6 @@
 		Lights are parsed accordingly.
 		Lights are parsed accordingly.
 		</div>
 		</div>
 
 
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.BabylonLoader();
-
-		// load a Babylon resource
-		loader.load(
-			// resource URL
-			'models/babylon/skull.babylon',
-			// Function when resource is loaded
-			function ( object ) {
-				scene.add( object );
-			},
-			// Function called when download progresses
-			function ( xhr ) {
-				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
-			},
-			// Function called when download errors
-			function ( xhr ) {
-				console.log( 'An error happened' );
-			}
-		);
-		</code>
-
-		[example:webgl_loader_babylon]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/BabylonLoader.js examples/js/loaders/BabylonLoader.js]
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/BabylonLoader.js examples/js/loaders/BabylonLoader.js]

+ 26 - 28
docs/api/loaders/ColladaLoader.html → docs/examples/loaders/ColladaLoader.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<meta charset="utf-8" />
+		<meta charset="utf-8" />
 		<base href="../../" />
 		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
@@ -13,6 +13,31 @@
 
 
 		<div class="desc">A loader for <em>Collada</em> files.</div>
 		<div class="desc">A loader for <em>Collada</em> files.</div>
 
 
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.ColladaLoader();
+
+		loader.load(
+			// resource URL
+			'models/collada/monster/monster.dae',
+			// Function when resource is loaded
+			function ( collada ) {
+				scene.add( collada.scene );
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			}
+		);
+		</code>
+
+		[example:webgl_loader_collada]<br />
+		[example:webgl_loader_collada_keyframe]<br />
+		[example:webgl_loader_collada_skinning]<br />
+		[example:webgl_loader_collada_kinematics]
+
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
@@ -80,33 +105,6 @@
 		Apply a skin (vertices, animation, bones) from a <em>collada skin controller</em>, on the given [page:Geometry].
 		Apply a skin (vertices, animation, bones) from a <em>collada skin controller</em>, on the given [page:Geometry].
 		</div>
 		</div>
 
 
-
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.ColladaLoader();
-
-		loader.load(
-			// resource URL
-			'models/collada/monster/monster.dae',
-			// Function when resource is loaded
-			function ( collada ) {
-				scene.add( collada.scene );
-			},
-			// Function called when download progresses
-			function ( xhr ) {
-				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
-			}
-		);
-		</code>
-
-		[example:webgl_loader_collada]<br />
-		[example:webgl_loader_collada_keyframe]<br />
-		[example:webgl_loader_collada_skinning]<br />
-		[example:webgl_loader_collada_kinematics]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/ColladaLoader.js examples/js/loaders/ColladaLoader.js]
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/ColladaLoader.js examples/js/loaders/ColladaLoader.js]

+ 29 - 32
docs/api/loaders/GLTFLoader.html → docs/examples/loaders/GLTFLoader.html

@@ -12,12 +12,40 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<div class="desc">
 		<div class="desc">
-		A loader for loading a <em>.gltf</em> resource in <em>JSON</em> format.
+		A loader for loading a *gltf* resource in JSON format.
 		<br /><br />
 		<br /><br />
 		The <a href="https://www.khronos.org/gltf">glTF file format</a> is a JSON file format to enable rapid delivery and loading of 3D content.
 		The <a href="https://www.khronos.org/gltf">glTF file format</a> is a JSON file format to enable rapid delivery and loading of 3D content.
 		</div>
 		</div>
 
 
+		<h2>Notes</h2>
+
+		<div>
+		When using custom shaders provided within a glTF file [page:THREE.GLTFLoader.Shaders] should be updated on each render loop. See [example:webgl_loader_gltf] demo source code for example usage.
+		</div>
+
+		<div>
+		This class is often used with [page:THREE.GLTFLoader.Animations THREE.GLTFLoader.Animations] to animate parsed animations. See [example:webgl_loader_gltf] demo source code for example usage.
+		</div>
+
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.GLTFLoader();
 
 
+		// load a glTF resource
+		loader.load(
+			// resource URL
+			'models/gltf/duck/duck.json',
+			// Function when resource is loaded
+			function ( object ) {
+				scene.add( object.scene );
+			}
+		);
+		</code>
+
+		[example:webgl_loader_gltf]
+		
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
 		<h3>[name]( [page:LoadingManager manager] )</h3>
 		<h3>[name]( [page:LoadingManager manager] )</h3>
@@ -67,37 +95,6 @@
 		Parse a glTF-based <em>JSON</em> structure and fire [page:Function callback] when complete. The argument to [page:Function callback] will be an [page:object] that contains loaded parts: .[page:Scene scene], .[page:Array cameras], .[page:Array animations] and .[page:Array shaders]
 		Parse a glTF-based <em>JSON</em> structure and fire [page:Function callback] when complete. The argument to [page:Function callback] will be an [page:object] that contains loaded parts: .[page:Scene scene], .[page:Array cameras], .[page:Array animations] and .[page:Array shaders]
 		</div>
 		</div>
 
 
-
-		<h2>Notes</h2>
-
-		<div>
-		When using custom shaders provided within a glTF file [page:THREE.GLTFLoader.Shaders] should be updated on each render loop. See [example:webgl_loader_gltf] demo source code for example usage.
-		</div>
-
-		<div>
-		This class is often used with [page:THREE.GLTFLoader.Animations THREE.GLTFLoader.Animations] to animate parsed animations. See [example:webgl_loader_gltf] demo source code for example usage.
-		</div>
-
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.GLTFLoader();
-
-		// load a glTF resource
-		loader.load(
-			// resource URL
-			'models/gltf/duck/duck.json',
-			// Function when resource is loaded
-			function ( object ) {
-				scene.add( object.scene );
-			}
-		);
-		</code>
-
-		[example:webgl_loader_gltf]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/GLTFLoader.js examples/js/loaders/GLTFLoader.js]
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/GLTFLoader.js examples/js/loaders/GLTFLoader.js]

+ 99 - 99
docs/api/loaders/MTLLoader.html → docs/examples/loaders/MTLLoader.html

@@ -1,99 +1,99 @@
-<!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>
-
-		<div class="desc">A loader for loading an <em>.mtl</em> resource, used internaly by [page:OBJMTLLoader] and [page:UTF8Loader].</div>
-
-		<h2>Constructor</h2>
-
-		<h3>[name]( [page:LoadingManager loadingManager] )</h3>
-		<div>
-			[page:LoadingManager loadingManager] — LoadingManager to use. Defaults to [page:DefaultLoadingManager DefaultLoadingManager]<br />
-		</div>
-		<div>
-			Creates a new [name].
-		</div>
-
-		<!-- <h2>Properties</h2> -->
-
-
-		<h2>Methods</h2>
-
-
-		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
-		<div>
-			[page:String url] — required<br />
-			[page:Function onLoad] — Will be called when load completes. The argument will be the loaded [page:MTLLoaderMaterialCreator MTLLoader.MaterialCreator] instance.<br />
-			[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
-			[page:Function onError] — Will be called when load errors.<br />
-		</div>
-		<div>
-			Begin loading from url and return the loaded material.
-		</div>
-
-
-		<h3>[method:null setPath]( [page:String path] )</h3>
-		<div>
-			[page:String path] — required<br />
-		</div>
-		<div>
-			 Set base path for resolving references. If set this path will be prepended to each loaded and found reference.
-		</div>
-
-
-		<h3>[method:null setTexturePath]( [page:String path] )</h3>
-		<div>
-			[page:String path] — required<br />
-		</div>
-		<div>
-			Set base path for resolving texture references. If set this path will be prepended found texture reference. If not set and setPath is, it will be used as texture base path.
-		</div>
-
-
-		<h3>[method:null setCrossOrigin]( [page:boolean useCrossOrigin] )</h3>
-		<div>
-			[page:boolean useCrossOrigin] — required<br />
-		</div>
-		<div>
-			Set to true if you need to load textures from a different origin.
-		</div>
-	
-
-		<h3>[method:null setMaterialOptions]( [page:Object options] )</h3>
-		<div>
-			[page:Object options] — required
-			<ul>
-				<li>side: Which side to apply the material. THREE.FrontSide (default), THREE.BackSide, THREE.DoubleSide</li>
-				<li>wrap: What type of wrapping to apply for textures. THREE.RepeatWrapping (default), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping</li>
-				<li>normalizeRGB: RGBs need to be normalized to 0-1 from 0-255. Default: false, assumed to be already normalized</li>
-				<li>ignoreZeroRGBs: Ignore values of RGBs (Ka,Kd,Ks) that are all 0's. Default: false</li>
-			</ul>
-		</div>
-		<div>
-			Set of options on how to construct the materials
-		</div>
-	
-
-		<h3>[method:MTLLoaderMaterialCreator parse]( [page:String text] )</h3>
-		<div>
-			[page:String text] — The textual <em>mtl</em> structure to parse.
-		</div>
-		<div>
-			Parse a <em>mtl</em> text structure and return a [page:MTLLoaderMaterialCreator] instance.<br />
-		</div>
-		
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/[name].js examples/js/loaders/[name].js]
-	</body>
-</html>
+<!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>
+
+		<div class="desc">A loader for loading an <em>.mtl</em> resource, used internaly by [page:OBJMTLLoader] and [page:UTF8Loader].</div>
+
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:LoadingManager loadingManager] )</h3>
+		<div>
+			[page:LoadingManager loadingManager] — LoadingManager to use. Defaults to [page:DefaultLoadingManager DefaultLoadingManager]<br />
+		</div>
+		<div>
+			Creates a new [name].
+		</div>
+
+		<!-- <h2>Properties</h2> -->
+
+
+		<h2>Methods</h2>
+
+
+		<h3>[method:null load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+			[page:String url] — required<br />
+			[page:Function onLoad] — Will be called when load completes. The argument will be the loaded [page:MTLLoaderMaterialCreator MTLLoader.MaterialCreator] instance.<br />
+			[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+			[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+			Begin loading from url and return the loaded material.
+		</div>
+
+
+		<h3>[method:null setPath]( [page:String path] )</h3>
+		<div>
+			[page:String path] — required<br />
+		</div>
+		<div>
+			 Set base path for resolving references. If set this path will be prepended to each loaded and found reference.
+		</div>
+
+
+		<h3>[method:null setTexturePath]( [page:String path] )</h3>
+		<div>
+			[page:String path] — required<br />
+		</div>
+		<div>
+			Set base path for resolving texture references. If set this path will be prepended found texture reference. If not set and setPath is, it will be used as texture base path.
+		</div>
+
+
+		<h3>[method:null setCrossOrigin]( [page:boolean useCrossOrigin] )</h3>
+		<div>
+			[page:boolean useCrossOrigin] — required<br />
+		</div>
+		<div>
+			Set to true if you need to load textures from a different origin.
+		</div>
+	
+
+		<h3>[method:null setMaterialOptions]( [page:Object options] )</h3>
+		<div>
+			[page:Object options] — required
+			<ul>
+				<li>side: Which side to apply the material. THREE.FrontSide (default), THREE.BackSide, THREE.DoubleSide</li>
+				<li>wrap: What type of wrapping to apply for textures. THREE.RepeatWrapping (default), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping</li>
+				<li>normalizeRGB: RGBs need to be normalized to 0-1 from 0-255. Default: false, assumed to be already normalized</li>
+				<li>ignoreZeroRGBs: Ignore values of RGBs (Ka,Kd,Ks) that are all 0's. Default: false</li>
+			</ul>
+		</div>
+		<div>
+			Set of options on how to construct the materials
+		</div>
+	
+
+		<h3>[method:MTLLoaderMaterialCreator parse]( [page:String text] )</h3>
+		<div>
+			[page:String text] — The textual <em>mtl</em> structure to parse.
+		</div>
+		<div>
+			Parse a <em>mtl</em> text structure and return a [page:MTLLoaderMaterialCreator] instance.<br />
+		</div>
+		
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/[name].js examples/js/loaders/[name].js]
+	</body>
+</html>

+ 20 - 20
docs/api/loaders/OBJLoader.html → docs/examples/loaders/OBJLoader.html

@@ -14,6 +14,26 @@
 		<div class="desc">A loader for loading an <em>.obj</em> resource.</div>
 		<div class="desc">A loader for loading an <em>.obj</em> resource.</div>
 
 
 
 
+				<h2>Example</h2>
+
+				<code>
+				// instantiate a loader
+				var loader = new THREE.OBJLoader();
+
+				// load a resource
+				loader.load(
+					// resource URL
+					'models/monster.obj',
+					// Function when resource is loaded
+					function ( object ) {
+						scene.add( object );
+					}
+				);
+				</code>
+
+				[example:webgl_loader_obj]
+
+
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
 		<h3>[name]( [page:LoadingManager manager] )</h3>
 		<h3>[name]( [page:LoadingManager manager] )</h3>
@@ -50,26 +70,6 @@
 		If an <em>obj</em> object or group uses multiple materials while declaring faces geometry groups and a [page:MultiMaterial] is used.
 		If an <em>obj</em> object or group uses multiple materials while declaring faces geometry groups and a [page:MultiMaterial] is used.
 		</div>
 		</div>
 
 
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.OBJLoader();
-
-		// load a resource
-		loader.load(
-			// resource URL
-			'models/monster.obj',
-			// Function when resource is loaded
-			function ( object ) {
-				scene.add( object );
-			}
-		);
-		</code>
-
-		[example:webgl_loader_obj]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/OBJLoader.js examples/js/loaders/OBJLoader.js]
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/OBJLoader.js examples/js/loaders/OBJLoader.js]

+ 23 - 23
docs/api/loaders/PCDLoader.html → docs/examples/loaders/PCDLoader.html

@@ -11,7 +11,28 @@
 
 
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
-		<div class="desc">A loader for <em>PCD</em> files. Loads ascii and binary. Compressed binary files are not suported.</div>
+		<div class="desc">A loader for <em>PCD</em> files. Loads ascii and binary.
+			Compressed binary files are not supported.</div>
+
+		<h2>Example</h2>
+
+		<code>
+
+		// instantiate a loader
+		var loader = new THREE.PCDLoader();
+
+		// load a resource
+		loader.load(
+			// resource URL
+			'pointcloud.pcd' ,
+			// Function when resource is loaded
+			function ( mesh ) {
+				scene.add( mesh );
+			}
+		);
+		</code>
+
+		[example:webgl_loader_pcd]
 
 
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
@@ -52,31 +73,10 @@
 		[page:String url] — The file name or file url.
 		[page:String url] — The file name or file url.
 		</div>
 		</div>
 		<div>
 		<div>
-		Parse an <em>pcd</em> binary structure and return an [page:Object3D].<br /> 
+		Parse an <em>pcd</em> binary structure and return an [page:Object3D].<br />
 		The object is converted to [page:Points] with a [page:BufferGeometry] and a [page:PointsMaterial].
 		The object is converted to [page:Points] with a [page:BufferGeometry] and a [page:PointsMaterial].
 		</div>
 		</div>
 
 
-		<h2>Example</h2>
-
-		<code>
-
-		// instantiate a loader
-		var loader = new THREE.PCDLoader();
-		
-		// load a resource
-		loader.load( 
-			// resource URL
-			'pointcloud.pcd' , 
-			// Function when resource is loaded
-			function ( mesh ) {
-				scene.add( mesh );
-			}
-		);
-		</code>
-
-		[example:webgl_loader_pcd]
-
-
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/PCDLoader.js examples/js/loaders/PCDLoader.js]
 		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/loaders/PCDLoader.js examples/js/loaders/PCDLoader.js]

+ 28 - 28
docs/api/loaders/PDBLoader.html → docs/examples/loaders/PDBLoader.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<meta charset="utf-8" />
+		<meta charset="utf-8" />
 		<base href="../../" />
 		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
@@ -17,6 +17,33 @@
 		The <a href="http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format)">Protein Data Bank file format</a> is a textual file format describing the three-dimensional structures of molecules.
 		The <a href="http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format)">Protein Data Bank file format</a> is a textual file format describing the three-dimensional structures of molecules.
 		</div>
 		</div>
 
 
+		<h2>Example</h2>
+
+		<code>
+		// instantiate a loader
+		var loader = new THREE.PDBLoader();
+
+		// load a PDB resource
+		loader.load(
+			// resource URL
+			'models/molecules/caffeine.pdb',
+			// Function when resource is loaded
+			function ( geometryAtoms, geometryBonds, json ) {
+				console.log( 'This molecule has ' + json.atoms.length + ' atoms' );
+			},
+			// Function called when download progresses
+			function ( xhr ) {
+				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
+			},
+			// Function called when download errors
+			function ( xhr ) {
+				console.log( 'An error happened' );
+			}
+		);
+		</code>
+
+		[example:webgl_loader_pdb]
+
 
 
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 
 
@@ -61,33 +88,6 @@
 		Parse a <em>(JSON) pdb</em> structure and return two [page:Geometry]: one for atoms, one for bonds.<br />
 		Parse a <em>(JSON) pdb</em> structure and return two [page:Geometry]: one for atoms, one for bonds.<br />
 		</div>
 		</div>
 
 
-		<h2>Example</h2>
-
-		<code>
-		// instantiate a loader
-		var loader = new THREE.PDBLoader();
-
-		// load a PDB resource
-		loader.load(
-			// resource URL
-			'models/molecules/caffeine.pdb',
-			// Function when resource is loaded
-			function ( geometryAtoms, geometryBonds, json ) {
-				console.log( 'This molecule has ' + json.atoms.length + ' atoms' );
-			},
-			// Function called when download progresses
-			function ( xhr ) {
-				console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
-			},
-			// Function called when download errors
-			function ( xhr ) {
-				console.log( 'An error happened' );
-			}
-		);
-		</code>
-
-		[example:webgl_loader_pdb]
-
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 

+ 1 - 1
docs/api/loaders/SVGLoader.html → docs/examples/loaders/SVGLoader.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<meta charset="utf-8" />
+		<meta charset="utf-8" />
 		<base href="../../" />
 		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>

+ 24 - 26
docs/api/loaders/TGALoader.html → docs/examples/loaders/TGALoader.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
 	<head>
 	<head>
-		<meta charset="utf-8" />
+		<meta charset="utf-8" />
 		<base href="../../" />
 		<base href="../../" />
 		<script src="list.js"></script>
 		<script src="list.js"></script>
 		<script src="page.js"></script>
 		<script src="page.js"></script>
@@ -13,31 +13,6 @@
 		<div class="desc">Class for loading a <em>.tga</em> [page:DataTexture texture].</div>
 		<div class="desc">Class for loading a <em>.tga</em> [page:DataTexture texture].</div>
 
 
 
 
-		<h2>Constructor</h2>
-
-		<h3>[name]( [page:LoadingManager manager] )</h3>
-		<div>
-		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
-		</div>
-		<div>
-		Creates a new [name].
-		</div>
-
-
-		<h2>Methods</h2>
-
-		<h3>[method:DataTexture load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
-		<div>
-		[page:String url] — required<br />
-		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded [page:DataTexture].<br />
-		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
-		[page:Function onError] — Will be called when load errors.<br />
-		</div>
-		<div>
-		Begin loading from url and pass the loaded [page:DataTexture texture] to onLoad. The [page:DataTexture texture] is also directly returned for immediate use (but may not be fully loaded).
-		</div>
-
-
 		<h2>Example</h2>
 		<h2>Example</h2>
 
 
 		<code>
 		<code>
@@ -70,6 +45,29 @@
 
 
 		[example:webgl_materials_texture_tga]
 		[example:webgl_materials_texture_tga]
 
 
+		<h2>Constructor</h2>
+
+		<h3>[name]( [page:LoadingManager manager] )</h3>
+		<div>
+		[page:LoadingManager manager] — The [page:LoadingManager loadingManager] for the loader to use. Default is [page:LoadingManager THREE.DefaultLoadingManager].
+		</div>
+		<div>
+		Creates a new [name].
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:DataTexture load]( [page:String url], [page:Function onLoad], [page:Function onProgress], [page:Function onError] )</h3>
+		<div>
+		[page:String url] — required<br />
+		[page:Function onLoad] — Will be called when load completes. The argument will be the loaded [page:DataTexture].<br />
+		[page:Function onProgress] — Will be called while load progresses. The argument will be the XmlHttpRequest instance, that contain .[page:Integer total] and .[page:Integer loaded] bytes.<br />
+		[page:Function onError] — Will be called when load errors.<br />
+		</div>
+		<div>
+		Begin loading from url and pass the loaded [page:DataTexture texture] to onLoad. The [page:DataTexture texture] is also directly returned for immediate use (but may not be fully loaded).
+		</div>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 

+ 170 - 170
docs/api/renderers/CanvasRenderer.html → docs/examples/renderers/CanvasRenderer.html

@@ -1,170 +1,170 @@
-<!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>
-
-		<div class="desc">
-			The Canvas renderer displays your beautifully crafted scenes <em>not</em> using WebGL,
-			but draws it using the (slower) <a href="http://drafts.htmlwg.org/2dcontext/html5_canvas_CR/Overview.html">Canvas 2D Context</a>
-			API.<br /><br />
-
-			<b>
-			NOTE: The Canvas renderer has been deprecated and is no longer part of the Three.js core.
-			</b>
-			If you still need to use it you can find it here: [link:https://github.com/mrdoob/three.js/blob/master/examples/js/[path].js examples/js/[path].js].<br /><br />
-
-			This renderer can be a nice fallback from [page:WebGLRenderer] for simple scenes:
-
-			<code>
-			function webglAvailable() {
-				try {
-					var canvas = document.createElement( 'canvas' );
-					return !!( window.WebGLRenderingContext && (
-						canvas.getContext( 'webgl' ) ||
-						canvas.getContext( 'experimental-webgl' ) )
-					);
-				} catch ( e ) {
-					return false;
-				}
-			}
-
-			if ( webglAvailable() ) {
-				renderer = new THREE.WebGLRenderer();
-			} else {
-				renderer = new THREE.CanvasRenderer();
-			}
-			</code>
-
-			Note: both WebGLRenderer and CanvasRenderer are embedded in the web page using an HTML5 &lt;canvas&gt; tag.
-			The "Canvas" in CanvasRenderer means it uses Canvas 2D instead of WebGL.<br /><br />
-
-			Don't confuse either CanvasRenderer with the SoftwareRenderer example, which simulates a screen buffer in a Javascript array.
-		</div>
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([page:object parameters])</h3>
-        <div>parameters is an optional object with properties defining the renderer's behaviour. The constructor also accepts no parameters at all. In all cases, it will assume sane defaults when parameters are missing.</div>
-
-		<div>
-		canvas — A [page:Canvas] where the renderer draws its output.
-		</div>
-
-
-		<h2>Properties</h2>
-
-    <h3>[property:Object info]</h3>
-
-		<div>
-			An object with a series of statistical information about the graphics board memory and the rendering process. Useful for debugging or just for the sake of curiosity. The object contains the following fields:</div>
-			<ul>
-				<li>render:
-					<ul>
-						<li>vertices</li>
-						<li>faces</li>
-					</ul>
-				</li>
-			</ul>
-		</div>
-
-    <h3>[property:DOMElement domElement]</h3>
-
-		<div>
-			A [page:Canvas] where the renderer draws its output.<br />
-			This is automatically created by the renderer in the constructor (if not provided already); you just need to add it to your page.
-		</div>
-
-		<h3>[property:Boolean autoClear]</h3>
-		<div>
-      Defines whether the renderer should automatically clear its output before rendering.
-    </div>
-
-		<h3>[property:Boolean sortObjects]</h3>
-		<div>
-      Defines whether the renderer should sort objects. Default is true.<br />
-      Note: Sorting is used to attempt to properly render objects that have some degree of transparency.  By definition, sorting objects may not work in all cases.  Depending on the needs of application, it may be neccessary to turn off sorting and use other methods to deal with transparency rendering e.g. manually determining the object rendering order.
-    </div>
-
-		<h3>[property:boolean sortElements]</h3>
-		<div>
-			Defines whether the renderer should sort the face of each object. Default is true.
-		</div>
-
-
-		<h2>Methods</h2>
-
-		<h3>[method:null render]([page:Scene scene], [page:Camera camera])</h3>
-		<div>
-			scene -- The scene to render. <br />
-			camera -- the camera to view the scene.
-		</div>
-		<div>
-        Render a scene using a camera.
-		</div>
-
-		<h3>[method:null clear]()</h3>
-		<div>
-			Tells the renderer to clear its color drawing buffer with the clearcolor.
-		</div>
-
-		<h3>[method:null setClearColor]([page:Color color], [page:number alpha])</h3>
-		<div>
-			color -- The color to clear the canvas with. <br />
-			alpha -- The alpha channel to clear the canvas with.
-		</div>
-		<div>
-			This set the clearColor and the clearAlpha.
-		</div>
-
-
-		<h3>[method:null setSize]([page:Number width], [page:Number height])</h3>
-		<div>
-			width -- The width of the drawing canvas. <br />
-			height -- The height of the drawing canvas.
-		</div>
-		<div>
-			This set the size of the drawing canvas and if updateStyle is set, then the css of the canvas is updated too.
-		</div>
-
-		<h3>[method:null setClearColorHex]([page:number hex], [page:number alpha])</h3>
-		<div>
-			hex -- The the hexadecimal value of the color to clear the canvas with. <br />
-	    alpha -- The alpha channel to clear the canvas with.
-		</div>
-		<div>
-			This set the clearColor and the clearAlpha.
-		</div>
-
-		<h3>[method:number getClearColorHex]()</h3>
-		<div>
-			Returns the [page:number hex] color.
-		</div>
-
-		<h3>[method:number getClearAlpha]()</h3>
-		<div>
-			Returns the alpha value.
-		</div>
-
-		<h2>Empty Methods to Maintain Compatibility with [page:WebglRenderer]</h2>
-		<div>
-			[method:null clearColor]()<br/>
-			[method:null clearDepth]()<br/>
-			[method:null clearStencil]()<br/>
-			[method:null setFaceCulling]()<br/>
-			[method:null supportsVertexTextures]()<br/>
-			[method:number getMaxAnisotropy]() - returns 1 <br/>
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/[path].js examples/js/[path].js]
-	</body>
-</html>
+<!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>
+
+		<div class="desc">
+			The Canvas renderer displays your beautifully crafted scenes <em>not</em> using WebGL,
+			but draws it using the (slower) <a href="http://drafts.htmlwg.org/2dcontext/html5_canvas_CR/Overview.html">Canvas 2D Context</a>
+			API.<br /><br />
+
+			<b>
+			NOTE: The Canvas renderer has been deprecated and is no longer part of the Three.js core.
+			</b>
+			If you still need to use it you can find it here: [link:https://github.com/mrdoob/three.js/blob/master/examples/js/[path].js examples/js/[path].js].<br /><br />
+
+			This renderer can be a nice fallback from [page:WebGLRenderer] for simple scenes:
+
+			<code>
+			function webglAvailable() {
+				try {
+					var canvas = document.createElement( 'canvas' );
+					return !!( window.WebGLRenderingContext && (
+						canvas.getContext( 'webgl' ) ||
+						canvas.getContext( 'experimental-webgl' ) )
+					);
+				} catch ( e ) {
+					return false;
+				}
+			}
+
+			if ( webglAvailable() ) {
+				renderer = new THREE.WebGLRenderer();
+			} else {
+				renderer = new THREE.CanvasRenderer();
+			}
+			</code>
+
+			Note: both WebGLRenderer and CanvasRenderer are embedded in the web page using an HTML5 &lt;canvas&gt; tag.
+			The "Canvas" in CanvasRenderer means it uses Canvas 2D instead of WebGL.<br /><br />
+
+			Don't confuse either CanvasRenderer with the SoftwareRenderer example, which simulates a screen buffer in a Javascript array.
+		</div>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([page:object parameters])</h3>
+        <div>parameters is an optional object with properties defining the renderer's behaviour. The constructor also accepts no parameters at all. In all cases, it will assume sane defaults when parameters are missing.</div>
+
+		<div>
+		canvas — A [page:Canvas] where the renderer draws its output.
+		</div>
+
+
+		<h2>Properties</h2>
+
+    <h3>[property:Object info]</h3>
+
+		<div>
+			An object with a series of statistical information about the graphics board memory and the rendering process. Useful for debugging or just for the sake of curiosity. The object contains the following fields:</div>
+			<ul>
+				<li>render:
+					<ul>
+						<li>vertices</li>
+						<li>faces</li>
+					</ul>
+				</li>
+			</ul>
+		</div>
+
+    <h3>[property:DOMElement domElement]</h3>
+
+		<div>
+			A [page:Canvas] where the renderer draws its output.<br />
+			This is automatically created by the renderer in the constructor (if not provided already); you just need to add it to your page.
+		</div>
+
+		<h3>[property:Boolean autoClear]</h3>
+		<div>
+      Defines whether the renderer should automatically clear its output before rendering.
+    </div>
+
+		<h3>[property:Boolean sortObjects]</h3>
+		<div>
+      Defines whether the renderer should sort objects. Default is true.<br />
+      Note: Sorting is used to attempt to properly render objects that have some degree of transparency.  By definition, sorting objects may not work in all cases.  Depending on the needs of application, it may be neccessary to turn off sorting and use other methods to deal with transparency rendering e.g. manually determining the object rendering order.
+    </div>
+
+		<h3>[property:boolean sortElements]</h3>
+		<div>
+			Defines whether the renderer should sort the face of each object. Default is true.
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null render]([page:Scene scene], [page:Camera camera])</h3>
+		<div>
+			scene -- The scene to render. <br />
+			camera -- the camera to view the scene.
+		</div>
+		<div>
+        Render a scene using a camera.
+		</div>
+
+		<h3>[method:null clear]()</h3>
+		<div>
+			Tells the renderer to clear its color drawing buffer with the clearcolor.
+		</div>
+
+		<h3>[method:null setClearColor]([page:Color color], [page:number alpha])</h3>
+		<div>
+			color -- The color to clear the canvas with. <br />
+			alpha -- The alpha channel to clear the canvas with.
+		</div>
+		<div>
+			This set the clearColor and the clearAlpha.
+		</div>
+
+
+		<h3>[method:null setSize]([page:Number width], [page:Number height])</h3>
+		<div>
+			width -- The width of the drawing canvas. <br />
+			height -- The height of the drawing canvas.
+		</div>
+		<div>
+			This set the size of the drawing canvas and if updateStyle is set, then the css of the canvas is updated too.
+		</div>
+
+		<h3>[method:null setClearColorHex]([page:number hex], [page:number alpha])</h3>
+		<div>
+			hex -- The the hexadecimal value of the color to clear the canvas with. <br />
+	    alpha -- The alpha channel to clear the canvas with.
+		</div>
+		<div>
+			This set the clearColor and the clearAlpha.
+		</div>
+
+		<h3>[method:number getClearColorHex]()</h3>
+		<div>
+			Returns the [page:number hex] color.
+		</div>
+
+		<h3>[method:number getClearAlpha]()</h3>
+		<div>
+			Returns the alpha value.
+		</div>
+
+		<h2>Empty Methods to Maintain Compatibility with [page:WebglRenderer]</h2>
+		<div>
+			[method:null clearColor]()<br/>
+			[method:null clearDepth]()<br/>
+			[method:null clearStencil]()<br/>
+			[method:null setFaceCulling]()<br/>
+			[method:null supportsVertexTextures]()<br/>
+			[method:number getMaxAnisotropy]() - returns 1 <br/>
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/[path].js examples/js/[path].js]
+	</body>
+</html>

+ 143 - 84
docs/list.js

@@ -8,13 +8,33 @@ var list = {
 	},
 	},
 
 
 	"Reference": {
 	"Reference": {
-		"Constants": [
-			[ "Animation", "api/constants/Animation" ],
-			[ "CustomBlendingEquation", "api/constants/CustomBlendingEquations" ],
-			[ "DrawModes", "api/constants/DrawModes" ],
-			[ "Materials", "api/constants/Materials" ],
-			[ "Textures", "api/constants/Textures" ],
-			[ "Renderer", "api/constants/Renderer" ]
+
+		"Animation": [
+			[ "AnimationAction", "api/animation/AnimationAction" ],
+			[ "AnimationClip", "api/animation/AnimationClip" ],
+			[ "AnimationMixer", "api/animation/AnimationMixer" ],
+			[ "AnimationObjectGroup", "api/animation/AnimationObjectGroup" ],
+			[ "AnimationUtils", "api/animation/AnimationUtils" ],
+			[ "KeyframeTrack", "api/animation/KeyframeTrack" ],
+			[ "PropertyBinding", "api/animation/PropertyBinding" ],
+			[ "PropertyMixer", "api/animation/PropertyMixer" ]
+		],
+
+		"Animation / Tracks": [
+		  [ "BooleanKeyframeTrack", "api/animation/tracks/BooleanKeyframeTrack" ],
+		  [ "ColorKeyframeTrack", "api/animation/tracks/ColorKeyframeTrack" ],
+		  [ "NumberKeyframeTrack", "api/animation/tracks/NumberKeyframeTrack" ],
+		  [ "QuaternionKeyframeTrack", "api/animation/tracks/QuaternionKeyframeTrack" ],
+		  [ "StringKeyframeTrack", "api/animation/tracks/StringKeyframeTrack" ],
+		  [ "VectorKeyframeTrack", "api/animation/tracks/VectorKeyframeTrack" ]
+		],
+
+		"Audio": [
+			[ "Audio", "api/audio/Audio" ],
+			[ "AudioAnalyser", "api/audio/AudioAnalyser" ],
+			[ "AudioContext", "api/audio/AudioContext" ],
+			[ "AudioListener", "api/audio/AudioListener" ],
+			[ "PositionalAudio", "api/audio/PositionalAudio" ]
 		],
 		],
 
 
 		"Cameras": [
 		"Cameras": [
@@ -25,10 +45,21 @@ var list = {
 			[ "StereoCamera", "api/cameras/StereoCamera" ]
 			[ "StereoCamera", "api/cameras/StereoCamera" ]
 		],
 		],
 
 
+		"Constants": [
+			[ "Animation", "api/constants/Animation" ],
+			[ "Core", "api/constants/Core" ],
+			[ "CustomBlendingEquation", "api/constants/CustomBlendingEquations" ],
+			[ "DrawModes", "api/constants/DrawModes" ],
+			[ "Materials", "api/constants/Materials" ],
+			[ "Renderer", "api/constants/Renderer" ],
+			[ "Textures", "api/constants/Textures" ]
+		],
+
 		"Core": [
 		"Core": [
 			[ "BufferAttribute", "api/core/BufferAttribute" ],
 			[ "BufferAttribute", "api/core/BufferAttribute" ],
 			[ "BufferGeometry", "api/core/BufferGeometry" ],
 			[ "BufferGeometry", "api/core/BufferGeometry" ],
 			[ "Clock", "api/core/Clock" ],
 			[ "Clock", "api/core/Clock" ],
+			[ "DirectGeometry", "api/core/DirectGeometry" ],
 			[ "EventDispatcher", "api/core/EventDispatcher" ],
 			[ "EventDispatcher", "api/core/EventDispatcher" ],
 			[ "Face3", "api/core/Face3" ],
 			[ "Face3", "api/core/Face3" ],
 			[ "Geometry", "api/core/Geometry" ],
 			[ "Geometry", "api/core/Geometry" ],
@@ -38,6 +69,65 @@ var list = {
 			[ "Uniform", "api/core/Uniform"]
 			[ "Uniform", "api/core/Uniform"]
 		],
 		],
 
 
+		"Core / BufferAttributes": [
+			[ "BufferAttribute Types", "api/core/bufferAttributeTypes/BufferAttributeTypes" ]
+		],
+
+		"Deprecated": [
+			[ "DeprecatedList", "api/deprecated/DeprecatedList" ]
+		],
+
+		"Extras": [
+			[ "CurveUtils", "api/extras/CurveUtils" ],
+			[ "SceneUtils", "api/extras/SceneUtils" ],
+			[ "ShapeUtils", "api/extras/ShapeUtils" ]
+		],
+
+		"Extras / Core": [
+			[ "Curve", "api/extras/core/Curve" ],
+			[ "CurvePath", "api/extras/core/CurvePath" ],
+			[ "Font", "api/extras/core/Font" ],
+			[ "Path", "api/extras/core/Path" ],
+			[ "Shape", "api/extras/core/Shape" ],
+			[ "ShapePath", "api/extras/core/ShapePath" ]
+		],
+
+		"Extras / Curves": [
+			[ "ArcCurve", "api/extras/curves/ArcCurve" ],
+			[ "CatmullRomCurve3", "api/extras/curves/CatmullRomCurve3" ],
+			[ "ClosedSplineCurve3", "api/extras/curves/ClosedSplineCurve3" ],
+			[ "CubicBezierCurve", "api/extras/curves/CubicBezierCurve" ],
+			[ "CubicBezierCurve3", "api/extras/curves/CubicBezierCurve3" ],
+			[ "EllipseCurve", "api/extras/curves/EllipseCurve" ],
+			[ "LineCurve", "api/extras/curves/LineCurve" ],
+			[ "LineCurve3", "api/extras/curves/LineCurve3" ],
+			[ "QuadraticBezierCurve", "api/extras/curves/QuadraticBezierCurve" ],
+			[ "QuadraticBezierCurve3", "api/extras/curves/QuadraticBezierCurve3" ],
+			[ "SplineCurve", "api/extras/curves/SplineCurve" ],
+			[ "SplineCurve3", "api/extras/curves/SplineCurve3" ]
+		],
+
+		"Extras / Helpers": [
+			[ "ArrowHelper", "api/extras/helpers/ArrowHelper" ],
+			[ "AxisHelper", "api/extras/helpers/AxisHelper" ],
+			[ "BoundingBoxHelper", "api/extras/helpers/BoundingBoxHelper" ],
+			[ "BoxHelper", "api/extras/helpers/BoxHelper" ],
+			[ "CameraHelper", "api/extras/helpers/CameraHelper" ],
+			[ "DirectionalLightHelper", "api/extras/helpers/DirectionalLightHelper" ],
+			[ "FaceNormalsHelper", "api/extras/helpers/FaceNormalsHelper" ],
+			[ "GridHelper", "api/extras/helpers/GridHelper" ],
+			[ "HemisphereLightHelper", "api/extras/helpers/HemisphereLightHelper" ],
+			[ "PointLightHelper", "api/extras/helpers/PointLightHelper" ],
+			[ "SkeletonHelper", "api/extras/helpers/SkeletonHelper" ],
+			[ "SpotLightHelper", "api/extras/helpers/SpotLightHelper" ],
+			[ "VertexNormalsHelper", "api/extras/helpers/VertexNormalsHelper" ]
+		],
+
+		"Extras / Objects": [
+			[ "ImmediateRenderObject", "api/extras/objects/ImmediateRenderObject" ],
+			[ "MorphBlendMesh", "api/extras/objects/MorphBlendMesh" ]
+		],
+
 		"Geometries": [
 		"Geometries": [
 			[ "BoxBufferGeometry", "api/geometries/BoxBufferGeometry" ],
 			[ "BoxBufferGeometry", "api/geometries/BoxBufferGeometry" ],
 			[ "BoxGeometry", "api/geometries/BoxGeometry" ],
 			[ "BoxGeometry", "api/geometries/BoxGeometry" ],
@@ -84,36 +174,40 @@ var list = {
 		"Lights": [
 		"Lights": [
 			[ "AmbientLight", "api/lights/AmbientLight" ],
 			[ "AmbientLight", "api/lights/AmbientLight" ],
 			[ "DirectionalLight", "api/lights/DirectionalLight" ],
 			[ "DirectionalLight", "api/lights/DirectionalLight" ],
-			[ "DirectionalLightShadow", "api/lights/DirectionalLightShadow" ],
 			[ "HemisphereLight", "api/lights/HemisphereLight" ],
 			[ "HemisphereLight", "api/lights/HemisphereLight" ],
 			[ "Light", "api/lights/Light" ],
 			[ "Light", "api/lights/Light" ],
-			[ "LightShadow", "api/lights/LightShadow" ],
 			[ "PointLight", "api/lights/PointLight" ],
 			[ "PointLight", "api/lights/PointLight" ],
-			[ "SpotLight", "api/lights/SpotLight" ],
-			[ "SpotLightShadow", "api/lights/SpotLightShadow" ]
+			[ "SpotLight", "api/lights/SpotLight" ]
 		],
 		],
 
 
+		"Lights / Shadows": [
+			[ "DirectionalLightShadow", "api/lights/DirectionalLightShadow" ],
+			[ "LightShadow", "api/lights/LightShadow" ],
+			[ "SpotLightShadow", "api/lights/SpotLightShadow" ]
+		],
 
 
 		"Loaders": [
 		"Loaders": [
+			[ "AnimationLoader", "api/loaders/AnimationLoader" ],
 			[ "AudioLoader", "api/loaders/AudioLoader" ],
 			[ "AudioLoader", "api/loaders/AudioLoader" ],
-			[ "BabylonLoader", "api/loaders/BabylonLoader" ],
+			[ "BinaryTextureLoader", "api/loaders/BinaryTextureLoader" ],
 			[ "BufferGeometryLoader", "api/loaders/BufferGeometryLoader" ],
 			[ "BufferGeometryLoader", "api/loaders/BufferGeometryLoader" ],
 			[ "Cache", "api/loaders/Cache" ],
 			[ "Cache", "api/loaders/Cache" ],
-			[ "ColladaLoader", "api/loaders/ColladaLoader" ],
+			[ "CompressedTextureLoader", "api/loaders/CompressedTextureLoader" ],
+			[ "CubeTextureLoader", "api/loaders/CubeTextureLoader" ],
+			[ "DataTextureLoader", "api/loaders/DataTextureLoader" ],
 			[ "FileLoader", "api/loaders/FileLoader" ],
 			[ "FileLoader", "api/loaders/FileLoader" ],
-			[ "GLTFLoader", "api/loaders/GLTFLoader" ],
+			[ "FontLoader", "api/loaders/FontLoader" ],
 			[ "ImageLoader", "api/loaders/ImageLoader" ],
 			[ "ImageLoader", "api/loaders/ImageLoader" ],
 			[ "JSONLoader", "api/loaders/JSONLoader" ],
 			[ "JSONLoader", "api/loaders/JSONLoader" ],
 			[ "Loader", "api/loaders/Loader" ],
 			[ "Loader", "api/loaders/Loader" ],
-			[ "LoadingManager", "api/loaders/LoadingManager" ],
 			[ "MaterialLoader", "api/loaders/MaterialLoader" ],
 			[ "MaterialLoader", "api/loaders/MaterialLoader" ],
-			[ "MTLLoader", "api/loaders/MTLLoader" ],
-			[ "OBJLoader", "api/loaders/OBJLoader" ],
 			[ "ObjectLoader", "api/loaders/ObjectLoader" ],
 			[ "ObjectLoader", "api/loaders/ObjectLoader" ],
-			[ "PDBLoader", "api/loaders/PDBLoader" ],
-			[ "SVGLoader", "api/loaders/SVGLoader" ],
 			[ "TextureLoader", "api/loaders/TextureLoader" ],
 			[ "TextureLoader", "api/loaders/TextureLoader" ],
-			[ "TGALoader", "api/loaders/TGALoader" ]
+		],
+
+		"Loaders / Managers": [
+			[ "DefaultLoadingManager", "api/loaders/DefaultLoadingManager" ],
+			[ "LoadingManager", "api/loaders/LoadingManager" ]
 		],
 		],
 
 
 		"Materials": [
 		"Materials": [
@@ -122,12 +216,12 @@ var list = {
 			[ "Material", "api/materials/Material" ],
 			[ "Material", "api/materials/Material" ],
 			[ "MeshBasicMaterial", "api/materials/MeshBasicMaterial" ],
 			[ "MeshBasicMaterial", "api/materials/MeshBasicMaterial" ],
 			[ "MeshDepthMaterial", "api/materials/MeshDepthMaterial" ],
 			[ "MeshDepthMaterial", "api/materials/MeshDepthMaterial" ],
-			[ "MultiMaterial", "api/materials/MultiMaterial" ],
 			[ "MeshLambertMaterial", "api/materials/MeshLambertMaterial" ],
 			[ "MeshLambertMaterial", "api/materials/MeshLambertMaterial" ],
 			[ "MeshNormalMaterial", "api/materials/MeshNormalMaterial" ],
 			[ "MeshNormalMaterial", "api/materials/MeshNormalMaterial" ],
 			[ "MeshPhongMaterial", "api/materials/MeshPhongMaterial" ],
 			[ "MeshPhongMaterial", "api/materials/MeshPhongMaterial" ],
 			[ "MeshPhysicalMaterial", "api/materials/MeshPhysicalMaterial" ],
 			[ "MeshPhysicalMaterial", "api/materials/MeshPhysicalMaterial" ],
 			[ "MeshStandardMaterial", "api/materials/MeshStandardMaterial" ],
 			[ "MeshStandardMaterial", "api/materials/MeshStandardMaterial" ],
+			[ "MultiMaterial", "api/materials/MultiMaterial" ],
 			[ "PointsMaterial", "api/materials/PointsMaterial" ],
 			[ "PointsMaterial", "api/materials/PointsMaterial" ],
 			[ "RawShaderMaterial", "api/materials/RawShaderMaterial" ],
 			[ "RawShaderMaterial", "api/materials/RawShaderMaterial" ],
 			[ "ShaderMaterial", "api/materials/ShaderMaterial" ],
 			[ "ShaderMaterial", "api/materials/ShaderMaterial" ],
@@ -165,7 +259,6 @@ var list = {
 			[ "QuaternionLinearInterpolant", "api/math/interpolants/QuaternionLinearInterpolant" ]
 			[ "QuaternionLinearInterpolant", "api/math/interpolants/QuaternionLinearInterpolant" ]
 		],
 		],
 
 
-
 		"Objects": [
 		"Objects": [
 			[ "Bone", "api/objects/Bone" ],
 			[ "Bone", "api/objects/Bone" ],
 			[ "Group", "api/objects/Group" ],
 			[ "Group", "api/objects/Group" ],
@@ -180,8 +273,11 @@ var list = {
 			[ "Sprite", "api/objects/Sprite" ]
 			[ "Sprite", "api/objects/Sprite" ]
 		],
 		],
 
 
+		"Polyfills": [
+			[ "Polyfills", "api/polyfills" ]
+		],
+
 		"Renderers": [
 		"Renderers": [
-			[ "CanvasRenderer", "api/renderers/CanvasRenderer" ],
 			[ "WebGLRenderer", "api/renderers/WebGLRenderer" ],
 			[ "WebGLRenderer", "api/renderers/WebGLRenderer" ],
 			[ "WebGLRenderTarget", "api/renderers/WebGLRenderTarget" ],
 			[ "WebGLRenderTarget", "api/renderers/WebGLRenderTarget" ],
 			[ "WebGLRenderTargetCube", "api/renderers/WebGLRenderTargetCube" ]
 			[ "WebGLRenderTargetCube", "api/renderers/WebGLRenderTargetCube" ]
@@ -219,78 +315,41 @@ var list = {
 			[ "DepthTexture", "api/textures/DepthTexture" ],
 			[ "DepthTexture", "api/textures/DepthTexture" ],
 			[ "Texture", "api/textures/Texture" ],
 			[ "Texture", "api/textures/Texture" ],
 			[ "VideoTexture", "api/textures/VideoTexture" ]
 			[ "VideoTexture", "api/textures/VideoTexture" ]
-		],
-
-		"Animation": [
-			[ "AnimationAction", "api/animation/AnimationAction" ],
-			[ "AnimationClip", "api/animation/AnimationClip" ],
-			[ "AnimationMixer", "api/animation/AnimationMixer" ]
-		],
+		]
 
 
-		"Extras": [
-			[ "CurveUtils", "api/extras/CurveUtils" ],
-			[ "SceneUtils", "api/extras/SceneUtils" ],
-			[ "ShapeUtils", "api/extras/ShapeUtils" ]
-		],
+	},
 
 
-		"Extras / Collada Animation": [
-			[ "Animation", "api/extras/collada-animation/Animation" ],
-			[ "AnimationHandler", "api/extras/collada-animation/AnimationHandler" ],
-			[ "KeyFrameAnimation", "api/extras/collada-animation/KeyFrameAnimation" ]
-		],
+	"Examples": {
 
 
-		"Extras / Core": [
-			[ "Curve", "api/extras/core/Curve" ],
-			[ "CurvePath", "api/extras/core/CurvePath" ],
-			[ "Font", "api/extras/core/Font" ],
-			[ "Path", "api/extras/core/Path" ],
-			[ "Shape", "api/extras/core/Shape" ]
+		"Collada Animation": [
+			[ "ColladaAnimation", "examples/collada/Animation" ],
+			[ "AnimationHandler", "examples/collada/AnimationHandler" ],
+			[ "KeyFrameAnimation", "examples/collada/KeyFrameAnimation" ]
 		],
 		],
 
 
-		"Extras / Curves": [
-			[ "ArcCurve", "api/extras/curves/ArcCurve" ],
-			[ "CatmullRomCurve3", "api/extras/curves/CatmullRomCurve3" ],
-			[ "ClosedSplineCurve3", "api/extras/curves/ClosedSplineCurve3" ],
-			[ "CubicBezierCurve", "api/extras/curves/CubicBezierCurve" ],
-			[ "CubicBezierCurve3", "api/extras/curves/CubicBezierCurve3" ],
-			[ "EllipseCurve", "api/extras/curves/EllipseCurve" ],
-			[ "LineCurve", "api/extras/curves/LineCurve" ],
-			[ "LineCurve3", "api/extras/curves/LineCurve3" ],
-			[ "QuadraticBezierCurve", "api/extras/curves/QuadraticBezierCurve" ],
-			[ "QuadraticBezierCurve3", "api/extras/curves/QuadraticBezierCurve3" ],
-			[ "SplineCurve", "api/extras/curves/SplineCurve" ],
-			[ "SplineCurve3", "api/extras/curves/SplineCurve3" ]
-		],
-
-		"Extras / Helpers": [
-			[ "ArrowHelper", "api/extras/helpers/ArrowHelper" ],
-			[ "AxisHelper", "api/extras/helpers/AxisHelper" ],
-			[ "BoundingBoxHelper", "api/extras/helpers/BoundingBoxHelper" ],
-			[ "BoxHelper", "api/extras/helpers/BoxHelper" ],
-			[ "CameraHelper", "api/extras/helpers/CameraHelper" ],
-			[ "DirectionalLightHelper", "api/extras/helpers/DirectionalLightHelper" ],
-			[ "FaceNormalsHelper", "api/extras/helpers/FaceNormalsHelper" ],
-			[ "GridHelper", "api/extras/helpers/GridHelper" ],
-			[ "HemisphereLightHelper", "api/extras/helpers/HemisphereLightHelper" ],
-			[ "PointLightHelper", "api/extras/helpers/PointLightHelper" ],
-			[ "SkeletonHelper", "api/extras/helpers/SkeletonHelper" ],
-			[ "SpotLightHelper", "api/extras/helpers/SpotLightHelper" ],
-			[ "VertexNormalsHelper", "api/extras/helpers/VertexNormalsHelper" ]
+		"Loaders": [
+			[ "BabylonLoader", "examples/loaders/BabylonLoader" ],
+			[ "ColladaLoader", "examples/loaders/ColladaLoader" ],
+			[ "GLTFLoader", "examples/loaders/GLTFLoader" ],
+			[ "MTLLoader", "examples/loaders/MTLLoader" ],
+			[ "OBJLoader", "examples/loaders/OBJLoader" ],
+			[ "PCDLoader", "examples/loaders/PCDLoader" ],
+			[ "PDBLoader", "examples/loaders/PDBLoader" ],
+			[ "SVGLoader", "examples/loaders/SVGLoader" ],
+			[ "TGALoader", "examples/loaders/TGALoader" ]
 		],
 		],
 
 
-		"Extras / Objects": [
-			[ "ImmediateRenderObject", "api/extras/objects/ImmediateRenderObject" ],
-			[ "MorphBlendMesh", "api/extras/objects/MorphBlendMesh" ]
+		"Plugins": [
+			[ "CombinedCamera", "examples/cameras/CombinedCamera" ],
+			[ "LookupTable", "examples/Lut" ],
+			[ "SpriteCanvasMaterial", "examples/SpriteCanvasMaterial" ]
 		],
 		],
 
 
-		"Examples" : [
-			[ "CombinedCamera", "api/examples/cameras/CombinedCamera" ],
-			[ "LookupTable", "api/examples/Lut" ],
-			[ "SpriteCanvasMaterial", "api/examples/SpriteCanvasMaterial" ]
-
+		"Renderers": [
+			[ "CanvasRenderer", "examples/renderers/CanvasRenderer" ]
 		]
 		]
 
 
-	}
+	},
 
 
 };
 };
 
 

+ 13 - 7
docs/page.js

@@ -2,19 +2,25 @@ var onDocumentLoad = function ( event ) {
 
 
 	var path;
 	var path;
 	var pathname = window.location.pathname;
 	var pathname = window.location.pathname;
-	var section = /\/(manual|api)\//.exec( pathname )[ 1 ].toString().split( '.html' )[ 0 ];
+	var section = /\/(manual|api|examples)\//.exec( pathname )[ 1 ].toString().split( '.html' )[ 0 ];
 	var name = /[\-A-z0-9]+\.html/.exec( pathname ).toString().split( '.html' )[ 0 ];
 	var name = /[\-A-z0-9]+\.html/.exec( pathname ).toString().split( '.html' )[ 0 ];
 
 
-	if ( section == 'manual' ) {
+	switch ( section ) {
 
 
-		name = name.replace( /\-/g, ' ' );
+		case 'api':
+			path = /\/api\/[A-z0-9\/]+/.exec( pathname ).toString().substr( 5 );
+			break;
 
 
-		path = pathname.replace( /\ /g, '-' );
-		path = /\/manual\/[-A-z0-9\/]+/.exec( path ).toString().substr( 8 );
+		case 'examples':
+			path = /\/examples\/[A-z0-9\/]+/.exec( pathname ).toString().substr( 10 );
+			break;
 
 
-	} else {
+		case 'manual':
+			name = name.replace( /\-/g, ' ' );
 
 
-		path = /\/api\/[A-z0-9\/]+/.exec( pathname ).toString().substr( 5 );
+			path = pathname.replace( /\ /g, '-' );
+			path = /\/manual\/[-A-z0-9\/]+/.exec( path ).toString().substr( 8 );
+			break;
 
 
 	}
 	}
 
 

+ 1 - 1
editor/js/Menubar.Add.js

@@ -416,4 +416,4 @@ Menubar.Add = function ( editor ) {
 
 
 	return container;
 	return container;
 
 
-}
+};

+ 1 - 1
editor/js/Sidebar.Animation.js

@@ -111,4 +111,4 @@ Sidebar.Animation = function ( editor ) {
 
 
 	return container;
 	return container;
 
 
-}
+};

+ 47 - 0
editor/js/Sidebar.Material.js

@@ -57,6 +57,7 @@ Sidebar.Material = function ( editor ) {
 		'MeshLambertMaterial': 'MeshLambertMaterial',
 		'MeshLambertMaterial': 'MeshLambertMaterial',
 		'MeshPhongMaterial': 'MeshPhongMaterial',
 		'MeshPhongMaterial': 'MeshPhongMaterial',
 		'MeshStandardMaterial': 'MeshStandardMaterial',
 		'MeshStandardMaterial': 'MeshStandardMaterial',
+		'MeshPhysicalMaterial': 'MeshPhysicalMaterial',
 		'ShaderMaterial': 'ShaderMaterial',
 		'ShaderMaterial': 'ShaderMaterial',
 		'SpriteMaterial': 'SpriteMaterial'
 		'SpriteMaterial': 'SpriteMaterial'
 
 
@@ -192,6 +193,26 @@ Sidebar.Material = function ( editor ) {
 
 
 	container.add( materialShininessRow );
 	container.add( materialShininessRow );
 
 
+	// clearCoat
+
+	var materialClearCoatRow = new UI.Row();
+	var materialClearCoat = new UI.Number( 1 ).setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
+
+	materialClearCoatRow.add( new UI.Text( 'ClearCoat' ).setWidth( '90px' ) );
+	materialClearCoatRow.add( materialClearCoat );
+
+	container.add( materialClearCoatRow );
+
+	// clearCoatRoughness
+
+	var materialClearCoatRoughnessRow = new UI.Row();
+	var materialClearCoatRoughness = new UI.Number( 1 ).setWidth( '60px' ).setRange( 0, 1 ).onChange( update );
+
+	materialClearCoatRoughnessRow.add( new UI.Text( 'ClearCoat Roughness' ).setWidth( '90px' ) );
+	materialClearCoatRoughnessRow.add( materialClearCoatRoughness );
+
+	container.add( materialClearCoatRoughnessRow );
+
 	// vertex colors
 	// vertex colors
 
 
 	var materialVertexColorsRow = new UI.Row();
 	var materialVertexColorsRow = new UI.Row();
@@ -536,6 +557,18 @@ Sidebar.Material = function ( editor ) {
 
 
 			}
 			}
 
 
+			if ( material.clearCoat !== undefined && Math.abs( material.clearCoat - materialClearCoat.getValue() ) >= 0.01 ) {
+
+				editor.execute( new SetMaterialValueCommand( currentObject, 'clearCoat', materialClearCoat.getValue() ) );
+
+			}
+
+			if ( material.clearCoatRoughness !== undefined && Math.abs( material.clearCoatRoughness - materialClearCoatRoughness.getValue() ) >= 0.01 ) {
+
+				editor.execute( new SetMaterialValueCommand( currentObject, 'clearCoatRoughness', materialClearCoatRoughness.getValue() ) );
+
+			}
+
 			if ( material.vertexColors !== undefined ) {
 			if ( material.vertexColors !== undefined ) {
 
 
 				var vertexColors = parseInt( materialVertexColors.getValue() );
 				var vertexColors = parseInt( materialVertexColors.getValue() );
@@ -917,6 +950,8 @@ Sidebar.Material = function ( editor ) {
 			'emissive': materialEmissiveRow,
 			'emissive': materialEmissiveRow,
 			'specular': materialSpecularRow,
 			'specular': materialSpecularRow,
 			'shininess': materialShininessRow,
 			'shininess': materialShininessRow,
+			'clearCoat': materialClearCoatRow,
+			'clearCoatRoughness': materialClearCoatRoughnessRow,
 			'vertexShader': materialProgramRow,
 			'vertexShader': materialProgramRow,
 			'vertexColors': materialVertexColorsRow,
 			'vertexColors': materialVertexColorsRow,
 			'skinning': materialSkinningRow,
 			'skinning': materialSkinningRow,
@@ -1008,6 +1043,18 @@ Sidebar.Material = function ( editor ) {
 
 
 		}
 		}
 
 
+		if ( material.clearCoat !== undefined ) {
+
+			materialClearCoat.setValue( material.clearCoat );
+
+		}
+
+		if ( material.clearCoatRoughness !== undefined ) {
+
+			materialClearCoatRoughness.setValue( material.clearCoatRoughness );
+
+		}
+
 		if ( material.vertexColors !== undefined ) {
 		if ( material.vertexColors !== undefined ) {
 
 
 			materialVertexColors.setValue( material.vertexColors );
 			materialVertexColors.setValue( material.vertexColors );

+ 1 - 1
editor/js/Toolbar.js

@@ -60,4 +60,4 @@ var Toolbar = function ( editor ) {
 
 
 	return container;
 	return container;
 
 
-}
+};

+ 1 - 1
editor/js/Viewport.Info.js

@@ -81,4 +81,4 @@ Viewport.Info = function ( editor ) {
 
 
 	return container;
 	return container;
 
 
-}
+};

+ 1 - 0
editor/js/libs/app/index.html

@@ -3,6 +3,7 @@
 	<head>
 	<head>
 		<title>three.js</title>
 		<title>three.js</title>
 		<meta charset="utf-8">
 		<meta charset="utf-8">
+		<meta name="generator" content="Three.js Editor">
 		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
 		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
 		<style>
 		<style>
 		body {
 		body {

+ 3 - 0
examples/files.js

@@ -67,6 +67,8 @@ var files = {
 		"webgl_lights_pointlights2",
 		"webgl_lights_pointlights2",
 		"webgl_lights_spotlight",
 		"webgl_lights_spotlight",
 		"webgl_lights_spotlights",
 		"webgl_lights_spotlights",
+		"webgl_lights_arealight",
+		"webgl_lights_rectarealight",
 		"webgl_lines_colors",
 		"webgl_lines_colors",
 		"webgl_lines_cubes",
 		"webgl_lines_cubes",
 		"webgl_lines_dashed",
 		"webgl_lines_dashed",
@@ -155,6 +157,7 @@ var files = {
 		"webgl_materials_variations_physical",
 		"webgl_materials_variations_physical",
 		"webgl_materials_video",
 		"webgl_materials_video",
 		"webgl_materials_wireframe",
 		"webgl_materials_wireframe",
+		"webgl_math_spherical_distribution",
 		"webgl_mirror",
 		"webgl_mirror",
 		"webgl_mirror_nodes",
 		"webgl_mirror_nodes",
 		"webgl_modifier_simplifier",
 		"webgl_modifier_simplifier",

+ 7 - 7
examples/js/controls/TransformControls.js

@@ -233,13 +233,13 @@
 		arrowGeometry.merge( mesh.geometry, mesh.matrix );
 		arrowGeometry.merge( mesh.geometry, mesh.matrix );
 
 
 		var lineXGeometry = new THREE.BufferGeometry();
 		var lineXGeometry = new THREE.BufferGeometry();
-		lineXGeometry.addAttribute( 'position', new THREE.Float32Attribute( [ 0, 0, 0,  1, 0, 0 ], 3 ) );
+		lineXGeometry.addAttribute( 'position', new THREE.Float32BufferAttribute( [ 0, 0, 0,  1, 0, 0 ], 3 ) );
 
 
 		var lineYGeometry = new THREE.BufferGeometry();
 		var lineYGeometry = new THREE.BufferGeometry();
-		lineYGeometry.addAttribute( 'position', new THREE.Float32Attribute( [ 0, 0, 0,  0, 1, 0 ], 3 ) );
+		lineYGeometry.addAttribute( 'position', new THREE.Float32BufferAttribute( [ 0, 0, 0,  0, 1, 0 ], 3 ) );
 
 
 		var lineZGeometry = new THREE.BufferGeometry();
 		var lineZGeometry = new THREE.BufferGeometry();
-		lineZGeometry.addAttribute( 'position', new THREE.Float32Attribute( [ 0, 0, 0,  0, 0, 1 ], 3 ) );
+		lineZGeometry.addAttribute( 'position', new THREE.Float32BufferAttribute( [ 0, 0, 0,  0, 0, 1 ], 3 ) );
 
 
 		this.handleGizmos = {
 		this.handleGizmos = {
 
 
@@ -372,7 +372,7 @@
 
 
 			}
 			}
 
 
-			geometry.addAttribute( 'position', new THREE.Float32Attribute( vertices, 3 ) );
+			geometry.addAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
 			return geometry;
 			return geometry;
 
 
 		};
 		};
@@ -516,13 +516,13 @@
 		arrowGeometry.merge( mesh.geometry, mesh.matrix );
 		arrowGeometry.merge( mesh.geometry, mesh.matrix );
 
 
 		var lineXGeometry = new THREE.BufferGeometry();
 		var lineXGeometry = new THREE.BufferGeometry();
-		lineXGeometry.addAttribute( 'position', new THREE.Float32Attribute( [ 0, 0, 0,  1, 0, 0 ], 3 ) );
+		lineXGeometry.addAttribute( 'position', new THREE.Float32BufferAttribute( [ 0, 0, 0,  1, 0, 0 ], 3 ) );
 
 
 		var lineYGeometry = new THREE.BufferGeometry();
 		var lineYGeometry = new THREE.BufferGeometry();
-		lineYGeometry.addAttribute( 'position', new THREE.Float32Attribute( [ 0, 0, 0,  0, 1, 0 ], 3 ) );
+		lineYGeometry.addAttribute( 'position', new THREE.Float32BufferAttribute( [ 0, 0, 0,  0, 1, 0 ], 3 ) );
 
 
 		var lineZGeometry = new THREE.BufferGeometry();
 		var lineZGeometry = new THREE.BufferGeometry();
-		lineZGeometry.addAttribute( 'position', new THREE.Float32Attribute( [ 0, 0, 0,  0, 0, 1 ], 3 ) );
+		lineZGeometry.addAttribute( 'position', new THREE.Float32BufferAttribute( [ 0, 0, 0,  0, 0, 1 ], 3 ) );
 
 
 		this.handleGizmos = {
 		this.handleGizmos = {
 
 

File diff suppressed because it is too large
+ 0 - 0
examples/js/libs/charsetencoder.min.js


File diff suppressed because it is too large
+ 1 - 0
examples/js/libs/mmdparser.min.js


File diff suppressed because it is too large
+ 21 - 0
examples/js/lights/RectAreaLightUniformsLib.js


+ 1 - 1
examples/js/loaders/ColladaLoader2.js

@@ -1235,7 +1235,7 @@ THREE.ColladaLoader.prototype = {
 
 
 			}
 			}
 
 
-			return new THREE.Float32Attribute( array, sourceStride );
+			return new THREE.Float32BufferAttribute( array, sourceStride );
 
 
 		}
 		}
 
 

File diff suppressed because it is too large
+ 200 - 1538
examples/js/loaders/MMDLoader.js


+ 5 - 5
examples/js/loaders/PLYLoader.js

@@ -312,26 +312,26 @@ THREE.PLYLoader.prototype = {
 
 
 			// mandatory buffer data
 			// mandatory buffer data
 
 
-			geometry.setIndex( ( buffer.indices.length > 65535 ? THREE.Uint32Attribute : THREE.Uint16Attribute )( buffer.indices, 1 ) );
-			geometry.addAttribute( 'position', THREE.Float32Attribute( buffer.vertices, 3 ) );
+			geometry.setIndex( new ( buffer.indices.length > 65535 ? THREE.Uint32BufferAttribute : THREE.Uint16BufferAttribute )( buffer.indices, 1 ) );
+			geometry.addAttribute( 'position', new THREE.Float32BufferAttribute( buffer.vertices, 3 ) );
 
 
 			// optional buffer data
 			// optional buffer data
 
 
 			if ( buffer.normals.length > 0 ) {
 			if ( buffer.normals.length > 0 ) {
 
 
-				geometry.addAttribute( 'normal', THREE.Float32Attribute( buffer.normals, 3 ) );
+				geometry.addAttribute( 'normal', new THREE.Float32BufferAttribute( buffer.normals, 3 ) );
 
 
 			}
 			}
 
 
 			if ( buffer.uvs.length > 0 ) {
 			if ( buffer.uvs.length > 0 ) {
 
 
-				geometry.addAttribute( 'uv', THREE.Float32Attribute( buffer.uvs, 2 ) );
+				geometry.addAttribute( 'uv', new THREE.Float32BufferAttribute( buffer.uvs, 2 ) );
 
 
 			}
 			}
 
 
 			if ( buffer.colors.length > 0 ) {
 			if ( buffer.colors.length > 0 ) {
 
 
-				geometry.addAttribute( 'color', THREE.Float32Attribute( buffer.colors, 3 ) );
+				geometry.addAttribute( 'color', new THREE.Float32BufferAttribute( buffer.colors, 3 ) );
 
 
 			}
 			}
 
 

+ 1 - 1
examples/js/loaders/PlayCanvasLoader.js

@@ -55,7 +55,7 @@ THREE.PlayCanvasLoader.prototype = {
 
 
 			var geometry = new THREE.BufferGeometry();
 			var geometry = new THREE.BufferGeometry();
 
 
-			geometry.setIndex( new THREE.Uint16Attribute( data.indices, 1 ) );
+			geometry.setIndex( new THREE.Uint16BufferAttribute( data.indices, 1 ) );
 
 
 			var attributes = model.vertices[ data.vertices ]._attributes;
 			var attributes = model.vertices[ data.vertices ]._attributes;
 
 

+ 30 - 241
examples/js/loaders/STLLoader.js

@@ -2,15 +2,18 @@
  * @author aleeper / http://adamleeper.com/
  * @author aleeper / http://adamleeper.com/
  * @author mrdoob / http://mrdoob.com/
  * @author mrdoob / http://mrdoob.com/
  * @author gero3 / https://github.com/gero3
  * @author gero3 / https://github.com/gero3
+ * @author Mugen87 / https://github.com/Mugen87
  *
  *
  * Description: A THREE loader for STL ASCII files, as created by Solidworks and other CAD programs.
  * Description: A THREE loader for STL ASCII files, as created by Solidworks and other CAD programs.
  *
  *
  * Supports both binary and ASCII encoded files, with automatic detection of type.
  * Supports both binary and ASCII encoded files, with automatic detection of type.
  *
  *
+ * The loader returns a non-indexed buffer geometry.
+ *
  * Limitations:
  * Limitations:
  *  Binary decoding supports "Magics" color format (http://en.wikipedia.org/wiki/STL_(file_format)#Color_in_binary_STL).
  *  Binary decoding supports "Magics" color format (http://en.wikipedia.org/wiki/STL_(file_format)#Color_in_binary_STL).
  *  There is perhaps some question as to how valid it is to always assume little-endian-ness.
  *  There is perhaps some question as to how valid it is to always assume little-endian-ness.
- *  ASCII decoding assumes file is UTF-8. Seems to work for the examples...
+ *  ASCII decoding assumes file is UTF-8.
  *
  *
  * Usage:
  * Usage:
  *  var loader = new THREE.STLLoader();
  *  var loader = new THREE.STLLoader();
@@ -86,9 +89,7 @@ THREE.STLLoader.prototype = {
 
 
 		var binData = this.ensureBinary( data );
 		var binData = this.ensureBinary( data );
 
 
-		return isBinary()
-			? this.parseBinary( binData )
-			: this.parseASCII( this.ensureString( data ) );
+		return isBinary() ? this.parseBinary( binData ) : this.parseASCII( this.ensureString( data ) );
 
 
 	},
 	},
 
 
@@ -110,7 +111,7 @@ THREE.STLLoader.prototype = {
 				( reader.getUint8( index + 5 ) == 0x3D /*'='*/ ) ) {
 				( reader.getUint8( index + 5 ) == 0x3D /*'='*/ ) ) {
 
 
 				hasColors = true;
 				hasColors = true;
-				colors = new Float32Array( faces * 3 * 3 );
+				colors = [];
 
 
 				defaultR = reader.getUint8( index + 6 ) / 255;
 				defaultR = reader.getUint8( index + 6 ) / 255;
 				defaultG = reader.getUint8( index + 7 ) / 255;
 				defaultG = reader.getUint8( index + 7 ) / 255;
@@ -124,12 +125,10 @@ THREE.STLLoader.prototype = {
 		var dataOffset = 84;
 		var dataOffset = 84;
 		var faceLength = 12 * 4 + 2;
 		var faceLength = 12 * 4 + 2;
 
 
-		var offset = 0;
-
 		var geometry = new THREE.BufferGeometry();
 		var geometry = new THREE.BufferGeometry();
 
 
-		var vertices = new Float32Array( faces * 3 * 3 );
-		var normals = new Float32Array( faces * 3 * 3 );
+		var vertices = [];
+		var normals = [];
 
 
 		for ( var face = 0; face < faces; face ++ ) {
 		for ( var face = 0; face < faces; face ++ ) {
 
 
@@ -164,34 +163,28 @@ THREE.STLLoader.prototype = {
 
 
 				var vertexstart = start + i * 12;
 				var vertexstart = start + i * 12;
 
 
-				vertices[ offset ] = reader.getFloat32( vertexstart, true );
-				vertices[ offset + 1 ] = reader.getFloat32( vertexstart + 4, true );
-				vertices[ offset + 2 ] = reader.getFloat32( vertexstart + 8, true );
+				vertices.push( reader.getFloat32( vertexstart, true ) );
+				vertices.push( reader.getFloat32( vertexstart + 4, true ) );
+				vertices.push( reader.getFloat32( vertexstart + 8, true ) );
 
 
-				normals[ offset ] = normalX;
-				normals[ offset + 1 ] = normalY;
-				normals[ offset + 2 ] = normalZ;
+				normals.push( normalX, normalY, normalZ );
 
 
 				if ( hasColors ) {
 				if ( hasColors ) {
 
 
-					colors[ offset ] = r;
-					colors[ offset + 1 ] = g;
-					colors[ offset + 2 ] = b;
+					colors.push( r, g, b );
 
 
 				}
 				}
 
 
-				offset += 3;
-
 			}
 			}
 
 
 		}
 		}
 
 
-		geometry.addAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
-		geometry.addAttribute( 'normal', new THREE.BufferAttribute( normals, 3 ) );
+		geometry.addAttribute( 'position', new THREE.BufferAttribute( new Float32Array( vertices ), 3 ) );
+		geometry.addAttribute( 'normal', new THREE.BufferAttribute( new Float32Array( normals ), 3 ) );
 
 
 		if ( hasColors ) {
 		if ( hasColors ) {
 
 
-			geometry.addAttribute( 'color', new THREE.BufferAttribute( colors, 3 ) );
+			geometry.addAttribute( 'color', new THREE.BufferAttribute( new Float32Array( colors ), 3 ) );
 			geometry.hasColors = true;
 			geometry.hasColors = true;
 			geometry.alpha = alpha;
 			geometry.alpha = alpha;
 
 
@@ -203,10 +196,15 @@ THREE.STLLoader.prototype = {
 
 
 	parseASCII: function ( data ) {
 	parseASCII: function ( data ) {
 
 
-		var geometry, length, normal, patternFace, patternNormal, patternVertex, result, text;
-		geometry = new THREE.Geometry();
+		var geometry, length, patternFace, patternNormal, patternVertex, result, text;
+		geometry = new THREE.BufferGeometry();
 		patternFace = /facet([\s\S]*?)endfacet/g;
 		patternFace = /facet([\s\S]*?)endfacet/g;
 
 
+		var vertices = [];
+		var normals = [];
+
+		var normal = new THREE.Vector3();
+
 		while ( ( result = patternFace.exec( data ) ) !== null ) {
 		while ( ( result = patternFace.exec( data ) ) !== null ) {
 
 
 			text = result[ 0 ];
 			text = result[ 0 ];
@@ -214,7 +212,9 @@ THREE.STLLoader.prototype = {
 
 
 			while ( ( result = patternNormal.exec( text ) ) !== null ) {
 			while ( ( result = patternNormal.exec( text ) ) !== null ) {
 
 
-				normal = new THREE.Vector3( parseFloat( result[ 1 ] ), parseFloat( result[ 3 ] ), parseFloat( result[ 5 ] ) );
+				normal.x = parseFloat( result[ 1 ] );
+				normal.y = parseFloat( result[ 3 ] );
+				normal.z = parseFloat( result[ 5 ] );
 
 
 			}
 			}
 
 
@@ -222,18 +222,15 @@ THREE.STLLoader.prototype = {
 
 
 			while ( ( result = patternVertex.exec( text ) ) !== null ) {
 			while ( ( result = patternVertex.exec( text ) ) !== null ) {
 
 
-				geometry.vertices.push( new THREE.Vector3( parseFloat( result[ 1 ] ), parseFloat( result[ 3 ] ), parseFloat( result[ 5 ] ) ) );
+				vertices.push( parseFloat( result[ 1 ] ), parseFloat( result[ 3 ] ), parseFloat( result[ 5 ] ) );
+				normals.push( normal.x, normal.y, normal.z );
 
 
 			}
 			}
 
 
-			length = geometry.vertices.length;
-
-			geometry.faces.push( new THREE.Face3( length - 3, length - 2, length - 1, normal ) );
-
 		}
 		}
 
 
-		geometry.computeBoundingBox();
-		geometry.computeBoundingSphere();
+		geometry.addAttribute( 'position', new THREE.BufferAttribute( new Float32Array( vertices ), 3 ) );
+		geometry.addAttribute( 'normal', new THREE.BufferAttribute( new Float32Array( normals ), 3 ) );
 
 
 		return geometry;
 		return geometry;
 
 
@@ -281,211 +278,3 @@ THREE.STLLoader.prototype = {
 	}
 	}
 
 
 };
 };
-
-if ( typeof DataView === 'undefined' ) {
-
-	DataView = function( buffer, byteOffset, byteLength ) {
-
-		this.buffer = buffer;
-		this.byteOffset = byteOffset || 0;
-		this.byteLength = byteLength || buffer.byteLength || buffer.length;
-		this._isString = typeof buffer === "string";
-
-	};
-
-	DataView.prototype = {
-
-		_getCharCodes: function( buffer, start, length ) {
-
-			start = start || 0;
-			length = length || buffer.length;
-			var end = start + length;
-			var codes = [];
-			for ( var i = start; i < end; i ++ ) {
-
-				codes.push( buffer.charCodeAt( i ) & 0xff );
-
-			}
-			return codes;
-
-		},
-
-		_getBytes: function ( length, byteOffset, littleEndian ) {
-
-			var result;
-
-			// Handle the lack of endianness
-			if ( littleEndian === undefined ) {
-
-				littleEndian = this._littleEndian;
-
-			}
-
-			// Handle the lack of byteOffset
-			if ( byteOffset === undefined ) {
-
-				byteOffset = this.byteOffset;
-
-			} else {
-
-				byteOffset = this.byteOffset + byteOffset;
-
-			}
-
-			if ( length === undefined ) {
-
-				length = this.byteLength - byteOffset;
-
-			}
-
-			// Error Checking
-			if ( typeof byteOffset !== 'number' ) {
-
-				throw new TypeError( 'DataView byteOffset is not a number' );
-
-			}
-
-			if ( length < 0 || byteOffset + length > this.byteLength ) {
-
-				throw new Error( 'DataView length or (byteOffset+length) value is out of bounds' );
-
-			}
-
-			if ( this.isString ) {
-
-				result = this._getCharCodes( this.buffer, byteOffset, byteOffset + length );
-
-			} else {
-
-				result = this.buffer.slice( byteOffset, byteOffset + length );
-
-			}
-
-			if ( ! littleEndian && length > 1 ) {
-
-				if ( Array.isArray( result ) === false ) {
-
-					result = Array.prototype.slice.call( result );
-
-				}
-
-				result.reverse();
-
-			}
-
-			return result;
-
-		},
-
-		// Compatibility functions on a String Buffer
-
-		getFloat64: function ( byteOffset, littleEndian ) {
-
-			var b = this._getBytes( 8, byteOffset, littleEndian ),
-
-				sign = 1 - ( 2 * ( b[ 7 ] >> 7 ) ),
-				exponent = ( ( ( ( b[ 7 ] << 1 ) & 0xff ) << 3 ) | ( b[ 6 ] >> 4 ) ) - ( ( 1 << 10 ) - 1 ),
-
-			// Binary operators such as | and << operate on 32 bit values, using + and Math.pow(2) instead
-				mantissa = ( ( b[ 6 ] & 0x0f ) * Math.pow( 2, 48 ) ) + ( b[ 5 ] * Math.pow( 2, 40 ) ) + ( b[ 4 ] * Math.pow( 2, 32 ) ) +
-							( b[ 3 ] * Math.pow( 2, 24 ) ) + ( b[ 2 ] * Math.pow( 2, 16 ) ) + ( b[ 1 ] * Math.pow( 2, 8 ) ) + b[ 0 ];
-
-			if ( exponent === 1024 ) {
-
-				if ( mantissa !== 0 ) {
-
-					return NaN;
-
-				} else {
-
-					return sign * Infinity;
-
-				}
-
-			}
-
-			if ( exponent === - 1023 ) {
-
-				// Denormalized
-				return sign * mantissa * Math.pow( 2, - 1022 - 52 );
-
-			}
-
-			return sign * ( 1 + mantissa * Math.pow( 2, - 52 ) ) * Math.pow( 2, exponent );
-
-		},
-
-		getFloat32: function ( byteOffset, littleEndian ) {
-
-			var b = this._getBytes( 4, byteOffset, littleEndian ),
-
-				sign = 1 - ( 2 * ( b[ 3 ] >> 7 ) ),
-				exponent = ( ( ( b[ 3 ] << 1 ) & 0xff ) | ( b[ 2 ] >> 7 ) ) - 127,
-				mantissa = ( ( b[ 2 ] & 0x7f ) << 16 ) | ( b[ 1 ] << 8 ) | b[ 0 ];
-
-			if ( exponent === 128 ) {
-
-				if ( mantissa !== 0 ) {
-
-					return NaN;
-
-				} else {
-
-					return sign * Infinity;
-
-				}
-
-			}
-
-			if ( exponent === - 127 ) {
-
-				// Denormalized
-				return sign * mantissa * Math.pow( 2, - 126 - 23 );
-
-			}
-
-			return sign * ( 1 + mantissa * Math.pow( 2, - 23 ) ) * Math.pow( 2, exponent );
-
-		},
-
-		getInt32: function ( byteOffset, littleEndian ) {
-
-			var b = this._getBytes( 4, byteOffset, littleEndian );
-			return ( b[ 3 ] << 24 ) | ( b[ 2 ] << 16 ) | ( b[ 1 ] << 8 ) | b[ 0 ];
-
-		},
-
-		getUint32: function ( byteOffset, littleEndian ) {
-
-			return this.getInt32( byteOffset, littleEndian ) >>> 0;
-
-		},
-
-		getInt16: function ( byteOffset, littleEndian ) {
-
-			return ( this.getUint16( byteOffset, littleEndian ) << 16 ) >> 16;
-
-		},
-
-		getUint16: function ( byteOffset, littleEndian ) {
-
-			var b = this._getBytes( 2, byteOffset, littleEndian );
-			return ( b[ 1 ] << 8 ) | b[ 0 ];
-
-		},
-
-		getInt8: function ( byteOffset ) {
-
-			return ( this.getUint8( byteOffset ) << 24 ) >> 24;
-
-		},
-
-		getUint8: function ( byteOffset ) {
-
-			return this._getBytes( 1, byteOffset )[ 0 ];
-
-		}
-
-	 };
-
-}

+ 9 - 9
examples/js/loaders/sea3d/SEA3DLoader.js

@@ -579,7 +579,7 @@ THREE.SEA3D.Animator.prototype.play = function( name, crossfade, offset, weight
 
 
 	if ( animation == this.currentAnimation ) {
 	if ( animation == this.currentAnimation ) {
 
 
-		if ( offset !== undefined || ! animation.loop ) this.currentAnimationAction.time = offset !== undefined ? offset : 
+		if ( offset !== undefined || ! animation.loop ) this.currentAnimationAction.time = offset !== undefined ? offset :
 			( this.mixer.timeScale >= 0 ? 0 : this.currentAnimation.duration );
 			( this.mixer.timeScale >= 0 ? 0 : this.currentAnimation.duration );
 
 
 		this.currentAnimationAction.setEffectiveWeight( weight !== undefined ? weight : 1 );
 		this.currentAnimationAction.setEffectiveWeight( weight !== undefined ? weight : 1 );
@@ -604,7 +604,7 @@ THREE.SEA3D.Animator.prototype.play = function( name, crossfade, offset, weight
 
 
 		this.updateTimeScale();
 		this.updateTimeScale();
 
 
-		if ( offset !== undefined || ! animation.loop ) this.currentAnimationAction.time = offset !== undefined ? offset : 
+		if ( offset !== undefined || ! animation.loop ) this.currentAnimationAction.time = offset !== undefined ? offset :
 			( this.mixer.timeScale >= 0 ? 0 : this.currentAnimation.duration );
 			( this.mixer.timeScale >= 0 ? 0 : this.currentAnimation.duration );
 
 
 		this.currentAnimationAction.setEffectiveWeight( weight !== undefined ? weight : 1 );
 		this.currentAnimationAction.setEffectiveWeight( weight !== undefined ? weight : 1 );
@@ -1535,8 +1535,8 @@ THREE.SEA3D.prototype.readGeometryBuffer = function( sea ) {
 
 
 	if ( sea.joint ) {
 	if ( sea.joint ) {
 
 
-		geo.addAttribute( 'skinIndex', new THREE.Float32Attribute( sea.joint, sea.jointPerVertex ) );
-		geo.addAttribute( 'skinWeight', new THREE.Float32Attribute( sea.weight, sea.jointPerVertex ) );
+		geo.addAttribute( 'skinIndex', new THREE.Float32BufferAttribute( sea.joint, sea.jointPerVertex ) );
+		geo.addAttribute( 'skinWeight', new THREE.Float32BufferAttribute( sea.weight, sea.jointPerVertex ) );
 
 
 	}
 	}
 
 
@@ -1584,7 +1584,7 @@ THREE.SEA3D.prototype.readLine = function( sea ) {
 	if ( sea.closed )
 	if ( sea.closed )
 		sea.vertex.push( sea.vertex[ 0 ], sea.vertex[ 1 ], sea.vertex[ 2 ] );
 		sea.vertex.push( sea.vertex[ 0 ], sea.vertex[ 1 ], sea.vertex[ 2 ] );
 
 
-	geo.addAttribute( 'position', new THREE.BufferAttribute( new Float32Array( sea.vertex ), 3 ) );
+	geo.addAttribute( 'position', new THREE.Float32BufferAttribute( sea.vertex, 3 ) );
 
 
 	var line = new THREE.Line( geo, new THREE.LineBasicMaterial( { color: THREE.SEA3D.HELPER_COLOR, linewidth: 3 } ) );
 	var line = new THREE.Line( geo, new THREE.LineBasicMaterial( { color: THREE.SEA3D.HELPER_COLOR, linewidth: 3 } ) );
 	line.name = sea.name;
 	line.name = sea.name;
@@ -2487,12 +2487,12 @@ THREE.SEA3D.prototype.readMorpher = function( sea ) {
 
 
 		var node = sea.node[ i ];
 		var node = sea.node[ i ];
 
 
-		attribs.position[ i ] = new THREE.Float32Attribute( new Float32Array( node.vertex ), 3 );
+		attribs.position[ i ] = new THREE.Float32BufferAttribute( node.vertex, 3 );
 
 
 		if ( node.normal ) {
 		if ( node.normal ) {
 
 
 			attribs.normal = attribs.normal || [];
 			attribs.normal = attribs.normal || [];
-			attribs.normal[ i ] = new THREE.Float32Attribute( new Float32Array( node.normal ), 3 );
+			attribs.normal[ i ] = new THREE.Float32BufferAttribute( node.normal, 3 );
 
 
 		}
 		}
 
 
@@ -2590,12 +2590,12 @@ THREE.SEA3D.prototype.readVertexAnimation = function( sea ) {
 
 
 		var frame = sea.frame[ i ];
 		var frame = sea.frame[ i ];
 
 
-		attribs.position[ i ] = new THREE.Float32Attribute( new Float32Array( frame.vertex ), 3 );
+		attribs.position[ i ] = new THREE.Float32BufferAttribute( frame.vertex, 3 );
 
 
 		if ( frame.normal ) {
 		if ( frame.normal ) {
 
 
 			attribs.normal = attribs.normal || [];
 			attribs.normal = attribs.normal || [];
-			attribs.normal[ i ] = new THREE.Float32Attribute( new Float32Array( frame.normal ), 3 );
+			attribs.normal[ i ] = new THREE.Float32BufferAttribute( frame.normal, 3 );
 
 
 		}
 		}
 
 

+ 3 - 0
examples/models/mmd/LICENSE

@@ -0,0 +1,3 @@
+The files under this directory are NOT under MIT license, but other licenses.
+
+See Readme.txt for the summary, see each file's readme for the detail.

+ 26 - 14
examples/models/mmd/Readme.txt

@@ -1,24 +1,36 @@
-You must read piapro character guidline/license
-when you use Vocaloid(Miku, Meiko, etc.) related stuffs (including MMD models)
-and must know what you're allowed/unallowed to do with them.
+The files under this directory are NOT under MIT license, but other licenses.
+If you want to use them in your work, get original data, read readme, and follow
+their licenses.
 
 
-http://piapro.jp/license/character_guideline
 
 
+1. Vocaloid stuffs
 
 
-And also you must know that MMD model/motion/audio use is very restricted.
-You're required to read each MMD model/motion/audio data readme/guideline/license
-when you use it.
+You are allowed to use Crypton's Vocaloid(Hatsune Miku, Kagamine Rin, and so on)
+stuffs (MMD models, songs, and so on) only if you follow the guideline set by
+Crypton Future Media, INC. for the usage of its characters.
 
 
-Generally the followings are NOT allowed
-- file redistribution
+For detail, see http://piapro.net/en_for_creators.html
+
+
+2. MMD stuffs
+
+In MMD, there is no unified license. If you want to use MMD works (models,
+songs, dances, and so on), read readme included in archive file and follow the
+license the author set.
+
+If the works are fan works, you must follow the original work's license. (For
+example, you also need to follow the license set by Crypton, not only the
+license the author set, to use a Miku MMD model)
+
+For your information, generally MMD works are very restricted to use.
+
+Most MMD works are NOT allowed for
+- redistribution
 - porn use
 - porn use
 - commercial use
 - commercial use
 - etc.
 - etc.
 
 
-If you want to use the model/motion/audio data for them,
-you must look for the data which the author EXPLICITLY allows for them.
-
-DON'T judge as it's allowed if it isn't mentioned.
+Think that what is not written in readme is not allowed.
 
 
 
 
-Takahiro
+Takahiro  https://github.com/takahirox

+ 0 - 25
examples/models/mmd/audio/readme_wavefile_short.txt

@@ -1,25 +0,0 @@
-There is no readme for WAVEFILE short ver.
-So I noted the author and original musics info here.
-
-Remember that he doesn't allow commercial use
-of his works with no contact.
-
-                                   by takahiro
-
--------------------------------------------------------
-
-Author: ラマーズP(LamazeP)
-
-His Piapro page
-http://piapro.jp/shine_longer
-His Nico profile
-http://www.nicovideo.jp/user/2523470
-
-
-Original musics:
-
-WAVEFILE/初音ミク(Hatsune Miku) short ver.
-http://www.nicovideo.jp/watch/sm11938255
-
-WAVEFILE/初音ミク(Hatsune Miku) full ver.
-http://www.nicovideo.jp/watch/sm14257396

+ 38 - 0
examples/models/mmd/audios/readme.txt

@@ -0,0 +1,38 @@
+WAVEFILE/初音ミク(Hatsune Miku) short ver.
+
+Author: ラマーズP(LamazeP)
+
+Quotation from his Piapro profile
+
+http://piapro.jp/shine_longer
+
+> 楽曲やイラストの使用については
+> 非営利であれば自由に使っていただければ問題ないです。
+> 商業関係につきましたらメールを頂ければです。
+> [email protected]
+
+You can use his works(songs and illustrations) for non-commercial.
+Mail him if you want to use for commercial.
+
+--------------------------------------------------------------------
+
+Author: ラマーズP(LamazeP)
+
+His Piapro page
+http://piapro.jp/shine_longer
+His Nico profile
+http://www.nicovideo.jp/user/2523470
+
+
+Original musics:
+
+WAVEFILE/初音ミク(Hatsune Miku) short ver.
+http://www.nicovideo.jp/watch/sm11938255
+http://piapro.jp/t/T2Ol
+
+WAVEFILE/初音ミク(Hatsune Miku) full ver.
+http://www.nicovideo.jp/watch/sm14257396
+
+--------------------------------------------------------------------
+
+   this readme is written by takahiro  https://github.com/takahirox

+ 0 - 0
examples/models/mmd/audio/wavefile_short.mp3 → examples/models/mmd/audios/wavefile_short.mp3


+ 5 - 0
examples/models/mmd/miku/readme.txt

@@ -0,0 +1,5 @@
+readme_miku_v2.txt: readme of MMD software for Hatsune Miku model
+
+The Miku model in this directory is a bandle model of MMD software.
+
+                                                       by takahiro

+ 0 - 7
examples/models/mmd/miku/readme_miku_v2.txt

@@ -1,10 +1,3 @@
-The models in this directory are bandle models of MMD software.
-So I copied MMD readme.txt here.
-
-by takahiro
-
-----------------------------------------------------------------------
-
 MikuMikuDance.exe Ver.5.24
 MikuMikuDance.exe Ver.5.24
 
 
 3Dポリゴンモデルの振り付け用ツール
 3Dポリゴンモデルの振り付け用ツール

BIN
examples/models/mmd/stage/cloud.bmp


BIN
examples/models/mmd/stage/floor.bmp


BIN
examples/models/mmd/stage/rainbow.bmp


+ 0 - 4
examples/models/mmd/stage/readme.txt

@@ -1,4 +0,0 @@
-MMD: Rainbow Stage
-by MMDFakewings18
-
-http://www.deviantart.com/art/MMD-Rainbow-Stage-212433590

BIN
examples/models/mmd/stage/stage.pmd


+ 16 - 0
examples/models/mmd/vmds/readme.txt

@@ -0,0 +1,16 @@
+readme_wavefile.txt: readme of wavefile dance motion data
+readme_wavefile_camera: readme of the original wavefile camera motion data
+
+wavefile_camera.vmd is camera motion data I've customized from this data
+
+http://www.nicovideo.jp/watch/sm19168559
+
+Note that the original author allows customized data file redistribution
+but doesn't allow the original file redistribution.
+
+And wavefile_camera.vmd inherits the policy of the original file.
+- You must not use the file for porn.
+- You must not cause any troubles to anyone especially other copyright holders,
+  (WAVEFILE music composer, WAVEFILE dance motion author, and so on)
+
+                                       by Takahiro

+ 0 - 0
examples/models/mmd/vmd/readme_wavefile.txt → examples/models/mmd/vmds/readme_wavefile.txt


+ 1 - 23
examples/models/mmd/vmd/readme_wavefile_camera.txt → examples/models/mmd/vmds/readme_wavefile_camera.txt

@@ -1,26 +1,4 @@
-wavefile_camera.vmd is a camera motion data
-customized from an existing camera motion data.
-
-The original data is
-
-http://www.nicovideo.jp/watch/sm19168559
-
-Note that the original author allows customized data file 
-(including wavefile_camera.vmd) redistribution
-but doesn't allow the original file redistribution.
-
-And wavefile_camera.vmd inherits the policy of the original file.
-- You must not use the file for porn.
-- You must not cause any troubles to anyone especially other copyright holders,
-  (WAVEFILE music composer, WAVEFILE dance motion author, and so on)
-
-Just in case I've put the readme of the original file below.
-
-                                       by Takahiro
-
--------------------------------------------------------
-
-MikuMikuDance用カメラモーションデータ+おまけピンナップ
+MikuMikuDance用カメラモーションデータ+おまけピンナップ
 
 
 この度はDLしていただきありがとうございます(´∀`)
 この度はDLしていただきありがとうございます(´∀`)
 
 

+ 0 - 0
examples/models/mmd/vmd/wavefile_camera.vmd → examples/models/mmd/vmds/wavefile_camera.vmd


+ 0 - 0
examples/models/mmd/vmd/wavefile_v2.vmd → examples/models/mmd/vmds/wavefile_v2.vmd


+ 0 - 0
examples/models/mmd/vpd/01.vpd → examples/models/mmd/vpds/01.vpd


+ 0 - 0
examples/models/mmd/vpd/02.vpd → examples/models/mmd/vpds/02.vpd


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