Răsfoiți Sursa

Merge pull request #1 from mrdoob/master

Getting up to date with upstream
Ioannis Charalampidis 9 ani în urmă
părinte
comite
34cc2116b4
100 a modificat fișierele cu 4531 adăugiri și 2830 ștergeri
  1. 1 1
      .gitignore
  2. 6 0
      .npmignore
  3. 1 1
      CONTRIBUTING.md
  4. 1 1
      LICENSE
  5. 8 9
      README.md
  6. 26 0
      bower.json
  7. 431 228
      build/three.js
  8. 148 324
      build/three.min.js
  9. 7 0
      docs/api/CONTRIBUTING.md
  10. 48 0
      docs/api/Template.html
  11. 25 12
      docs/api/cameras/Camera.html
  12. 84 0
      docs/api/cameras/CubeCamera.html
  13. 39 10
      docs/api/cameras/OrthographicCamera.html
  14. 32 11
      docs/api/cameras/PerspectiveCamera.html
  15. 45 0
      docs/api/constants/CustomBlendingEquations.html
  16. 31 0
      docs/api/constants/GLState.html
  17. 47 0
      docs/api/constants/Materials.html
  18. 24 0
      docs/api/constants/ShadowingTypes.html
  19. 96 0
      docs/api/constants/Textures.html
  20. 110 0
      docs/api/core/BufferAttribute.html
  21. 212 59
      docs/api/core/BufferGeometry.html
  22. 14 13
      docs/api/core/Clock.html
  23. 10 9
      docs/api/core/EventDispatcher.html
  24. 16 25
      docs/api/core/Face3.html
  25. 0 108
      docs/api/core/Face4.html
  26. 126 136
      docs/api/core/Geometry.html
  27. 112 84
      docs/api/core/Object3D.html
  28. 0 70
      docs/api/core/Projector.html
  29. 101 19
      docs/api/core/Raycaster.html
  30. 143 0
      docs/api/examples/Lut.html
  31. 200 0
      docs/api/examples/cameras/CombinedCamera.html
  32. 47 40
      docs/api/extras/FontUtils.html
  33. 9 51
      docs/api/extras/GeometryUtils.html
  34. 38 54
      docs/api/extras/ImageUtils.html
  35. 21 19
      docs/api/extras/SceneUtils.html
  36. 55 71
      docs/api/extras/animation/Animation.html
  37. 38 33
      docs/api/extras/animation/AnimationHandler.html
  38. 0 105
      docs/api/extras/animation/AnimationMorphTarget.html
  39. 52 69
      docs/api/extras/animation/KeyFrameAnimation.html
  40. 0 184
      docs/api/extras/cameras/CombinedCamera.html
  41. 0 55
      docs/api/extras/cameras/CubeCamera.html
  42. 24 17
      docs/api/extras/core/Curve.html
  43. 61 55
      docs/api/extras/core/CurvePath.html
  44. 20 46
      docs/api/extras/core/Gyroscope.html
  45. 83 33
      docs/api/extras/core/Path.html
  46. 63 32
      docs/api/extras/core/Shape.html
  47. 21 0
      docs/api/extras/curves/ArcCurve.html
  48. 55 0
      docs/api/extras/curves/ClosedSplineCurve3.html
  49. 68 0
      docs/api/extras/curves/CubicBezierCurve.html
  50. 68 0
      docs/api/extras/curves/CubicBezierCurve3.html
  51. 73 0
      docs/api/extras/curves/EllipseCurve.html
  52. 42 0
      docs/api/extras/curves/LineCurve.html
  53. 41 0
      docs/api/extras/curves/LineCurve3.html
  54. 67 0
      docs/api/extras/curves/QuadraticBezierCurve.html
  55. 67 0
      docs/api/extras/curves/QuadraticBezierCurve3.html
  56. 57 0
      docs/api/extras/curves/SplineCurve.html
  57. 58 0
      docs/api/extras/curves/SplineCurve3.html
  58. 58 0
      docs/api/extras/geometries/BoxGeometry.html
  59. 25 5
      docs/api/extras/geometries/CircleGeometry.html
  60. 0 33
      docs/api/extras/geometries/ConvexGeometry.html
  61. 7 27
      docs/api/extras/geometries/CubeGeometry.html
  62. 23 9
      docs/api/extras/geometries/CylinderGeometry.html
  63. 42 0
      docs/api/extras/geometries/DodecahedronGeometry.html
  64. 64 19
      docs/api/extras/geometries/ExtrudeGeometry.html
  65. 8 6
      docs/api/extras/geometries/IcosahedronGeometry.html
  66. 26 11
      docs/api/extras/geometries/LatheGeometry.html
  67. 13 7
      docs/api/extras/geometries/OctahedronGeometry.html
  68. 11 14
      docs/api/extras/geometries/ParametricGeometry.html
  69. 18 6
      docs/api/extras/geometries/PlaneGeometry.html
  70. 39 11
      docs/api/extras/geometries/PolyhedronGeometry.html
  71. 16 6
      docs/api/extras/geometries/RingGeometry.html
  72. 39 27
      docs/api/extras/geometries/ShapeGeometry.html
  73. 18 8
      docs/api/extras/geometries/SphereGeometry.html
  74. 16 5
      docs/api/extras/geometries/TetrahedronGeometry.html
  75. 93 10
      docs/api/extras/geometries/TextGeometry.html
  76. 17 6
      docs/api/extras/geometries/TorusGeometry.html
  77. 18 6
      docs/api/extras/geometries/TorusKnotGeometry.html
  78. 59 51
      docs/api/extras/geometries/TubeGeometry.html
  79. 46 26
      docs/api/extras/helpers/ArrowHelper.html
  80. 18 8
      docs/api/extras/helpers/AxisHelper.html
  81. 72 0
      docs/api/extras/helpers/BoundingBoxHelper.html
  82. 22 25
      docs/api/extras/helpers/BoxHelper.html
  83. 22 16
      docs/api/extras/helpers/CameraHelper.html
  84. 24 21
      docs/api/extras/helpers/DirectionalLightHelper.html
  85. 57 0
      docs/api/extras/helpers/EdgesHelper.html
  86. 61 0
      docs/api/extras/helpers/FaceNormalsHelper.html
  87. 33 9
      docs/api/extras/helpers/GridHelper.html
  88. 21 22
      docs/api/extras/helpers/HemisphereLightHelper.html
  89. 29 23
      docs/api/extras/helpers/PointLightHelper.html
  90. 29 27
      docs/api/extras/helpers/SpotLightHelper.html
  91. 61 0
      docs/api/extras/helpers/VertexNormalsHelper.html
  92. 58 0
      docs/api/extras/helpers/WireframeHelper.html
  93. 12 9
      docs/api/extras/objects/ImmediateRenderObject.html
  94. 0 63
      docs/api/extras/objects/LensFlare.html
  95. 84 64
      docs/api/extras/objects/MorphBlendMesh.html
  96. 0 72
      docs/api/extras/renderers/plugins/DepthPassPlugin.html
  97. 0 52
      docs/api/extras/renderers/plugins/LensFlarePlugin.html
  98. 0 58
      docs/api/extras/renderers/plugins/ShadowMapPlugin.html
  99. 0 51
      docs/api/extras/renderers/plugins/SpritePlugin.html
  100. 0 33
      docs/api/extras/shaders/ShaderFlares.html

+ 1 - 1
.gitignore

@@ -1,4 +1,4 @@
 .DS_Store
 *.swp
 .project
-utils/npm/node_modules/*
+node_modules

+ 6 - 0
.npmignore

@@ -0,0 +1,6 @@
+examples/
+src/
+test/
+utils/
+docs/
+editor/

+ 1 - 1
CONTRIBUTING.md

@@ -1,4 +1,4 @@
-# The issues section is for bug reports and feature requests only. If you need help, please use [stackoverflow](http://stackoverflow.com/questions/tagged/three.js).
+### The issues section is for bug reports and feature requests only. If you need help, please use [stackoverflow](http://stackoverflow.com/questions/tagged/three.js).
 
 
 Before reporting a bug

+ 1 - 1
LICENSE

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

+ 8 - 9
README.md

@@ -5,7 +5,7 @@ three.js
 
 The aim of the project is to create a lightweight 3D library with a very low level of complexity — in other words, for dummies. The library provides <canvas>, <svg>, CSS3D and WebGL renderers.
 
-[Examples](http://threejs.org/) — [Documentation](http://threejs.org/docs/) — [Migrating](https://github.com/mrdoob/three.js/wiki/Migration) — [Help](http://stackoverflow.com/questions/tagged/three.js)
+[Examples](http://threejs.org/examples/) — [Documentation](http://threejs.org/docs/) — [Migrating](https://github.com/mrdoob/three.js/wiki/Migration) — [Help](http://stackoverflow.com/questions/tagged/three.js)
 
 
 ### Usage ###
@@ -17,12 +17,12 @@ Alternatively see [how to build the library yourself](https://github.com/mrdoob/
 <script src="js/three.min.js"></script>
 ```
 
-This code creates a scene, then creates a camera, adds the camera and cube to the scene, creates a &lt;canvas&gt; renderer and adds its viewport in the document.body element.
+This code creates a scene, a camera, and a geometric cube, and it adds the cube to the scene. It then creates a `WebGL` renderer for the scene and camera, and it adds that viewport to the document.body element. Finally it animates the cube within the scene for the camera.
 
 ```html
 <script>
 
-	var camera, scene, renderer;
+	var scene, camera, renderer;
 	var geometry, material, mesh;
 
 	init();
@@ -30,18 +30,18 @@ This code creates a scene, then creates a camera, adds the camera and cube to th
 
 	function init() {
 
+		scene = new THREE.Scene();
+		
 		camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
 		camera.position.z = 1000;
 
-		scene = new THREE.Scene();
-
-		geometry = new THREE.CubeGeometry( 200, 200, 200 );
+		geometry = new THREE.BoxGeometry( 200, 200, 200 );
 		material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
 
 		mesh = new THREE.Mesh( geometry, material );
 		scene.add( mesh );
 
-		renderer = new THREE.CanvasRenderer();
+		renderer = new THREE.WebGLRenderer();
 		renderer.setSize( window.innerWidth, window.innerHeight );
 
 		document.body.appendChild( renderer.domElement );
@@ -50,7 +50,6 @@ This code creates a scene, then creates a camera, adds the camera and cube to th
 
 	function animate() {
 
-		// note: three.js includes requestAnimationFrame shim
 		requestAnimationFrame( animate );
 
 		mesh.rotation.x += 0.01;
@@ -62,7 +61,7 @@ This code creates a scene, then creates a camera, adds the camera and cube to th
 
 </script>
 ```
-If everything went well you should see [this](http://jsfiddle.net/ksRyQ/).
+If everything went well you should see [this](http://jsfiddle.net/f17Lz5ux/).
 
 ### Change log ###
 

+ 26 - 0
bower.json

@@ -0,0 +1,26 @@
+{
+	"name": "three.js",
+	"homepage": "http://threejs.org/",
+	"description": "JavaScript 3D library",
+	"main": "build/three.js",
+	"keywords": [
+		"three",
+		"threejs",
+		"three.js",
+		"3D",
+		"webgl"
+	],
+	"license": "MIT",
+	"ignore": [
+		"**/.*",
+		"*.md",
+		"docs",
+		"editor",
+		"examples/*",
+		"!examples/js",
+		"src",
+		"test",
+		"utils",
+		"LICENSE"
+	]
+}

Fișier diff suprimat deoarece este prea mare
+ 431 - 228
build/three.js


Fișier diff suprimat deoarece este prea mare
+ 148 - 324
build/three.min.js


+ 7 - 0
docs/api/CONTRIBUTING.md

@@ -0,0 +1,7 @@
+Contributing to the documentation
+=================================
+
+- To link to the page for `ClassName`, use `[page:ClassName link title]` (or just `[page:ClassName]`). Use `[page:ClassName.memberName]` to link to a class member (a property or method) called `memberName` on the page for `ClassName`. You can write `[page:.memberName]` to link to a property or method called `memberName` on the same page.
+- Use `[example:exampleName title]` (not just `[example:exampleName]`) to link to the example `threejs.org/examples/#exampleName`.
+- Document a property by writing `<h3>[property:TypeName propertyName]</h3>`.
+- Document a method using `<h3>[method:ReturnType methodName]</h3>`.

+ 48 - 0
docs/api/Template.html

@@ -0,0 +1,48 @@
+<!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:Geometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">todo</div>
+
+
+		<h2>Example</h2>
+
+		<code>todo</code>
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]([page:Number todo])</h3>
+		<div></div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Number todo]</h3>
+		<div>
+		todo
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null todo]()</h3>
+		<div>todo</div>
+		<div>todo</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 25 - 12
docs/api/cameras/Camera.html

@@ -2,9 +2,10 @@
 <html lang="en">
 	<head>
 		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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;
@@ -19,32 +20,44 @@
 
 		<h3>[name]()</h3>
 		<div>
-			This constructor sets following properties to the correct type: matrixWorldInverse, projectionMatrix and projectionMatrixInverse.
-			
+			This constructor sets the following properties to the correct type: matrixWorldInverse and projectionMatrix.
+
 		</div>
 
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Matrix4 matrixWorldInverse]</h3>
+		<h3>[property:Matrix4 matrixWorldInverse]</h3>
 		<div>This is the inverse of matrixWorld. MatrixWorld contains the Matrix which has the world transform of the Camera.</div>
 
-		<h3>.[page:Matrix4 projectionMatrix]</h3>
-		<div>This is the matrix which contains the projection.</div>		
-
-		<h3>.[page:Matrix4 projectionMatrixInverse]</h3>
-		<div>This is the inverse of projectionMatrix.</div>
+		<h3>[property:Matrix4 projectionMatrix]</h3>
+		<div>This is the matrix which contains the projection.</div>
 
 
 		<h2>Methods</h2>
 
-		<h3>.lookAt( [page:Vector3 vector] )</h3>
+		<h3>[method:Vector3 getWorldDirection]([page:Vector3 vector])</h3>
+		<div>
+		vector — (optional)<br />
+		<br />
+		It returns a vector representing the direction in which the camera is looking, in world space.
+		</div>
+
+
+		<h3>[method:null lookAt]( [page:Vector3 vector] )</h3>
 		<div>
 		vector — point to look at<br />
 		<br />
 		This makes the camera look at the vector position in the global space as long as the parent of this camera is the scene or at position (0,0,0).
 		</div>
 
+		<h3>[method:Camera clone]( [page:Camera camera] )</h3>
+		<div>
+		camera — camera to clone<br />
+		<br />
+		It returns a clone of camera.
+		</div>
+
 
 		<h2>Source</h2>
 

+ 84 - 0
docs/api/cameras/CubeCamera.html

@@ -0,0 +1,84 @@
+<!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">Creates 6 cameras that render to a [page:WebGLRenderTargetCube].</div>
+
+		<h2>Examples</h2>
+
+		<div>[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]</div>
+		<div>[example:webgl_materials_cubemap_dynamic2 materials / cubemap / dynamic2 ]</div>
+		<div>[example:webgl_shading_physical shading / physical ]</div>
+
+		<code>//Create cube camera
+		var cubeCamera = new THREE.CubeCamera( 1, 100000, 128 );
+		scene.add( cubeCamera );
+
+		//Create car
+		var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeCamera.renderTarget } );
+		var car = new Mesh( carGeometry, chromeMaterial );
+		scene.add( car );
+
+		//Update the render target cube
+		car.setVisible( false );
+		cubeCamera.position.copy( car.position );
+		cubeCamera.updateCubeMap( renderer, scene );
+
+		//Render the scene
+		car.setVisible( true );
+		renderer.render( scene, camera );
+		</code>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([page:number near], [page:number far], [page:number cubeResolution])</h3>
+		<div>
+		near -- The near clipping distance. <br />
+		far -- The far clipping distance <br />
+		cubeResolution -- Sets the width of the cube.
+		</div>
+		<div>
+		Constructs a CubeCamera that contains 6 [page:PerspectiveCamera PerspectiveCameras] that then
+		render to a [page:WebGLRenderTargetCube]
+		</div>
+
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:WebGLRenderTargetCube renderTarget]</h3>
+		<div>
+		The cube texture that gets generated.
+		</div>
+
+		<h2>Methods</h2>
+
+
+
+		<h3>[method:null updateCubeMap]([page:WebGLRenderer renderer], [page:Scene scene])</h3>
+		<div>
+		renderer -- The current WebGL renderer <br />
+		scene -- The current scene
+		</div>
+		<div>
+		Call this to update the renderTarget.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 39 - 10
docs/api/cameras/OrthographicCamera.html

@@ -2,9 +2,10 @@
 <html lang="en">
 	<head>
 		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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:Camera] &rarr;
@@ -16,6 +17,19 @@
 
 		<h2>Example</h2>
 
+		<div>[example:canvas_camera_orthographic camera / orthographic ]</div>
+		<div>[example:canvas_camera_orthographic2 camera / orthographic2 ]</div>
+		<div>[example:webgl_camera camera ]</div>
+		<div>[example:webgl_interactive_cubes_ortho interactive / cubes / ortho ]</div>
+		<div>[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]</div>
+		<div>[example:webgl_postprocessing_advanced postprocessing / advanced ]</div>
+		<div>[example:webgl_postprocessing_dof2 postprocessing / dof2 ]</div>
+		<div>[example:webgl_postprocessing_godrays postprocessing / godrays ]</div>
+		<div>[example:webgl_rtt rtt ]</div>
+		<div>[example:webgl_shaders_tonemapping shaders / tonemapping ]</div>
+		<div>[example:webgl_shadowmap shadowmap ]</div>
+		<div>[example:webgl_terrain_dynamic terrain / dynamic ]</div>
+
 		<code>var camera = new THREE.OrthographicCamera( width / - 2, width / 2, height / 2, height / - 2, 1, 1000 );
 scene.add( camera );</code>
 
@@ -36,32 +50,47 @@ scene.add( camera );</code>
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Float left]</h3>
+		<h3>[property:number zoom]</h3>
+		<div>Gets or sets the zoom factor of the camera. </div>
+
+		<h3>[property:Float left]</h3>
 		<div>Camera frustum left plane.</div>
 
-		<h3>.[page:Float right]</h3>
+		<h3>[property:Float right]</h3>
 		<div>Camera frustum right plane.</div>
 
-		<h3>.[page:Float top]</h3>
+		<h3>[property:Float top]</h3>
 		<div>Camera frustum top plane.</div>
 
-		<h3>.[page:Float bottom]</h3>
+		<h3>[property:Float bottom]</h3>
 		<div>Camera frustum bottom plane.</div>
 
-		<h3>.[page:Float near]</h3>
+		<h3>[property:Float near]</h3>
 		<div>Camera frustum near plane.</div>
 
-		<h3>.[page:Float far]</h3>
+		<h3>[property:Float far]</h3>
 		<div>Camera frustum far plane.</div>
 
 
 		<h2>Methods</h2>
 
-		<h3>.updateProjectionMatrix()</h3>
+		<h3>[method:null updateProjectionMatrix]()</h3>
 		<div>
 		Updates the camera projection matrix. Must be called after change of parameters.
 		</div>
 
+		<h3>[method:OrthographicCamera clone]()</h3>
+		<div>
+		<br />
+		It returns a clone of OrthographicCamera.
+		</div>
+
+
+		<h3>[method:JSON toJSON]()</h3>
+		<div>
+		Return camera data in JSON format.
+		</div>
+
 
 		<h2>Source</h2>
 

+ 32 - 11
docs/api/cameras/PerspectiveCamera.html

@@ -2,9 +2,10 @@
 <html lang="en">
 	<head>
 		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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:Camera] &rarr;
@@ -16,13 +17,20 @@
 
 		<h2>Example</h2>
 
+		<div>[example:canvas_effects_stereo effects / stereo ]</div>
+		<div>[example:canvas_geometry_birds geometry / birds ]</div>
+		<div>[example:canvas_geometry_cube geometry / cube ]</div>
+		<div>[example:webgl_animation_skinning_blending animation / skinning / blending ]</div>
+		<div>[example:webgl_animation_skinning_morph animation / skinning / blending ]</div>
+		<div>[example:webgl_interactive_cubes interactive / cubes ]</div>
+		<div>[example:webgl_loader_collada_skinning loader / collada / skinning ]</div>
+
 		<code>var camera = new THREE.PerspectiveCamera( 45, width / height, 1, 1000 );
 scene.add( camera );</code>
 
 
 		<h2>Constructor</h2>
 
-
 		<h3>[name]( [page:Float fov], [page:Float aspect], [page:Float near], [page:Float far] )</h3>
 		<div>
 		fov — Camera frustum vertical field of view.<br />
@@ -34,22 +42,25 @@ scene.add( camera );</code>
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Float fov]</h3>
+		<h3>[property:number zoom]</h3>
+		<div>Gets or sets the zoom factor of the camera. </div>
+
+		<h3>[property:Float fov]</h3>
 		<div>Camera frustum vertical field of view, from bottom to top of view, in degrees.</div>
 
-		<h3>.[page:Float aspect]</h3>
+		<h3>[property:Float aspect]</h3>
 		<div>Camera frustum aspect ratio, window width divided by window height.</div>
 
-		<h3>.[page:Float near]</h3>
+		<h3>[property:Float near]</h3>
 		<div>Camera frustum near plane.</div>
 
-		<h3>.[page:Float far]</h3>
+		<h3>[property:Float far]</h3>
 		<div>Camera frustum far plane.</div>
 
 
 		<h2>Methods</h2>
 
-		<h3>.setLens( [page:Float focalLength], [page:Float frameSize] )</h3>
+		<h3>[method:null setLens]( [page:Float focalLength], [page:Float frameSize] )</h3>
 		<div>
 		focalLength — focal length<br />
 		frameSize — frame size
@@ -60,7 +71,7 @@ scene.add( camera );</code>
 		Formula based on [link:http://www.bobatkins.com/photography/technical/field_of_view.html]
 		</div>
 
-		<h3>.setViewOffset( [page:Float fullWidth], [page:Float fullHeight], [page:Float x], [page:Float y], [page:Float width], [page:Float height] )</h3>
+		<h3>[method:null setViewOffset]( [page:Float fullWidth], [page:Float fullHeight], [page:Float x], [page:Float y], [page:Float width], [page:Float height] )</h3>
 		<div>
 		fullWidth — full width of multiview setup<br />
 		fullHeight — full height of multiview setup<br />
@@ -107,11 +118,21 @@ camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
 		Note there is no reason monitors have to be the same size or in a grid.
 		</div>
 
-		<h3>.updateProjectionMatrix()</h3>
+		<h3>[method:null updateProjectionMatrix]()</h3>
 		<div>
 		Updates the camera projection matrix. Must be called after change of parameters.
 		</div>
 
+		<h3>[method:PerspectiveCamera clone]()</h3>
+		<div>
+		<br />
+		It returns a clone of PerspectiveCamera.
+		</div>
+
+		<h3>[method:JSON toJSON]()</h3>
+		<div>
+		Return camera data in JSON format.
+		</div>
 
 		<h2>Source</h2>
 

+ 45 - 0
docs/api/constants/CustomBlendingEquations.html

@@ -0,0 +1,45 @@
+<!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>Custom Blending Equation Constants</h1>
+
+		<h2>Equations</h2>
+		<div>
+		THREE.AddEquation<br />
+		THREE.SubtractEquation<br />
+		THREE.ReverseSubtractEquation<br />
+		THREE.MinEquation<br />
+		THREE.MaxEquation
+		</div>
+
+		<h2>Destination Factors</h2>
+		<div>
+		THREE.ZeroFactor<br />
+		THREE.OneFactor<br />
+		THREE.SrcColorFactor<br />
+		THREE.OneMinusSrcColorFactor<br />
+		THREE.SrcAlphaFactor<br />
+		THREE.OneMinusSrcAlphaFactor<br />
+		THREE.DstAlphaFactor<br />
+		THREE.OneMinusDstAlphaFactor
+		</div>
+
+		<h2>Source Factors</h2>
+		<div>
+		THREE.DstColorFactor<br />
+		THREE.OneMinusDstColorFactor<br />
+		THREE.SrcAlphaSaturateFactor
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/Three.js src/Three.js]
+	</body>
+</html>

+ 31 - 0
docs/api/constants/GLState.html

@@ -0,0 +1,31 @@
+<!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>GL State Constants</h1>
+
+		<h2>Cull Face</h2>
+		<div>
+		THREE.CullFaceNone<br />
+		THREE.CullFaceBack<br />
+		THREE.CullFaceFront<br />
+		THREE.CullFaceFrontBack
+		</div>
+
+		<h2>Front Face Direction</h2>
+		<div>
+		THREE.FrontFaceDirectionCW<br />
+		THREE.FrontFaceDirectionCCW<br />
+		</div>
+	
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/Three.js src/Three.js]
+	</body>
+</html>

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

@@ -0,0 +1,47 @@
+<!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>Material Constants</h1>
+
+		<h2>Side</h2>
+		<div>
+		THREE.FrontSide<br />
+		THREE.BackSide<br />
+		THREE.DoubleSide
+		</div>
+
+		<h2>Shading</h2>
+		<div>
+		THREE.FlatShading<br />
+		THREE.SmoothShading
+		</div>
+
+		<h2>Colors</h2>
+		<div>
+		THREE.NoColors<br />
+		THREE.FaceColors<br />
+		THREE.VertexColors
+		</div>
+
+		<h2>Blending Mode</h2>
+		<div>
+		THREE.NoBlending<br />
+		THREE.NormalBlending<br />
+		THREE.AdditiveBlending<br />
+		THREE.SubtractiveBlending<br />
+		THREE.MultiplyBlending<br />
+		THREE.CustomBlending
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/Three.js src/Three.js]
+	</body>
+</html>

+ 24 - 0
docs/api/constants/ShadowingTypes.html

@@ -0,0 +1,24 @@
+<!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>Shadowing Type Constants</h1>
+
+		<h2>Shadow Map</h2>
+		<div>
+		THREE.BasicShadowMap<br />
+		THREE.PCFShadowMap<br />
+		THREE.PCFSoftShadowMap
+		</div>
+	
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/Three.js src/Three.js]
+	</body>
+</html>

+ 96 - 0
docs/api/constants/Textures.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>Texture Constants</h1>
+
+		<h2>Operations</h2>
+		<div>
+		THREE.MultiplyOperation<br />
+		THREE.MixOperation<br />
+		THREE.AddOperation
+		</div>
+
+		<h2>Mapping Modes</h2>
+		<div>
+		THREE.UVMapping<br />
+		THREE.CubeReflectionMapping<br />
+		THREE.CubeRefractionMapping<br />
+		THREE.EquirectangularReflectionMapping<br />
+		THREE.EquirectangularRefractionMapping<br />
+		THREE.SphericalReflectionMapping
+		</div>
+
+		<h2>Wrapping Modes</h2>
+		<div>
+		THREE.RepeatWrapping<br />
+		THREE.ClampToEdgeWrapping<br />
+		THREE.MirroredRepeatWrapping
+		</div>
+
+		<h2>Filters</h2>
+		<div>
+		THREE.NearestFilter<br />
+		THREE.NearestMipMapNearestFilter<br />
+		THREE.NearestMipMapLinearFilter<br />
+		THREE.LinearFilter<br />
+		THREE.LinearMipMapNearestFilter<br />
+		THREE.LinearMipMapLinearFilter
+		</div>
+
+		<h2>Data Types</h2>
+		<div>
+		THREE.UnsignedByteType<br />
+		THREE.ByteType<br />
+		THREE.ShortType<br />
+		THREE.UnsignedShortType<br />
+		THREE.IntType<br />
+		THREE.UnsignedIntType<br />
+		THREE.FloatType<br />
+		THREE.HalfFloatType
+		</div>
+
+		<h2>Pixel Types</h2>
+		<div>
+		THREE.UnsignedShort4444Type<br />
+		THREE.UnsignedShort5551Type<br />
+		THREE.UnsignedShort565Type
+		</div>
+
+		<h2>Pixel Formats</h2>
+		<div>
+		THREE.AlphaFormat<br />
+		THREE.RGBFormat<br />
+		THREE.RGBAFormat<br />
+		THREE.LuminanceFormat<br />
+		THREE.LuminanceAlphaFormat<br />
+		THREE.RGBEFormat
+		</div>
+
+		<h2>DDS / ST3C Compressed Texture Formats</h2>
+		<div>
+		THREE.RGB_S3TC_DXT1_Format<br />
+		THREE.RGBA_S3TC_DXT1_Format<br />
+		THREE.RGBA_S3TC_DXT3_Format<br />
+		THREE.RGBA_S3TC_DXT5_Format
+		</div>
+
+		<h2>PVRTC Compressed Texture Formats</h2>
+		<div>
+		THREE.RGB_PVRTC_4BPPV1_Format<br />
+		THREE.RGB_PVRTC_2BPPV1_Format<br />
+		THREE.RGBA_PVRTC_4BPPV1_Format<br />
+		THREE.RGBA_PVRTC_2BPPV1_Format
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/Three.js src/Three.js]
+	</body>
+</html>

+ 110 - 0
docs/api/core/BufferAttribute.html

@@ -0,0 +1,110 @@
+<!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 stores data for an attribute associated with a [page:BufferGeometry]. See that page for details and a usage example. This class is used to store builtin attributes such as vertex position, normals, color, etc., but can also be used in your code to store custom attributes in a [page:BufferGeometry].
+		</div>
+
+		<h2>Constructor</h2>
+		<h3>[name]([page:Array array], [page:Integer itemSize])</h3>
+		<div>
+		Instantiates this attribute with data from the associated buffer. The array can either be a regular Array or a Typed Array.
+		itemSize gives the number of values of the array that should be associated with a particular vertex.
+		</div>
+
+		<h2>Properties</h2>
+
+		<h3>[property:Array array]</h3>
+		<div>
+		Stores the data associated with this attribute; can be an Array or a Typed Array. This element should have <code>itemSize * numVertices</code> elements, where numVertices is the number of vertices in the associated [page:BufferGeometry geometry].
+		</div>
+
+		<h3>[property:Integer itemSize]</h3>
+		<div>
+		Records how many items of the array are associated with a particular vertex. For instance, if this
+		attribute is storing a 3-component vector (such as a position, normal, or color), then itemSize should be 3.
+		</div>
+
+		<h3>[property:Integer length]</h3>
+		<div>
+		Gives the total number of elements in the array.
+		</div>
+
+		<h3>[property:Boolean needsUpdate]</h3>
+		<div>
+		Flag to indicate that this attribute has changed and should be re-send to the GPU. Set this to true when you modify the value of the array.
+		</div>
+
+		<h3>[property:Integer version]</h3>
+		<div>
+		A version number, incremented every time the needsUpdate property is set to true.
+		</div>
+
+
+		<h2>Methods</h2>
+
+		<h3>[method:null copyAt] ( [page:Integer index1], attribute, [page:Integer index2] ) </h3>
+		<div>
+		Copies itemSize values in the array from the vertex at index2 to the vertex at index1.
+		</div>
+
+		<h3>[method:null set] ( [page:Array value] ) </h3>
+		<div>
+		Sets the associated array with values from the passed array.
+		</div>
+
+		<h3>[method:null setX]( index, x ) </h3>
+		<div>
+		Sets the value of the array at <code>index * itemSize</code> to x
+		</div>
+
+		<h3>[method:null setY]( index, y ) </h3>
+		<div>
+		Sets the value of the array at <code>index * itemSize + 1</code> to y
+		</div>
+
+		<h3>[method:null setZ]( index, z ) </h3>
+		<div>
+		Sets the value of the array at <code>index * itemSize + 2</code> to z
+		</div>
+
+		<h3>[method:null setXY]( index, x, y ) </h3>
+		<div>
+		Sets the value of the array at <code>index * itemSize</code> to x and
+		sets the value of the array at <code>index * itemSize + 1</code> to y
+		</div>
+
+		<h3>[method:null setXYZ]( index, x, y, z ) </h3>
+		<div>
+		Sets the value of the array at <code>index * itemSize</code> to x,
+		the value of the array at <code>index * itemSize + 1</code> to y, and
+		the value of the array at <code>index * itemSize + 2</code> to z.
+		</div>
+
+		<h3>[method:null setXYZW]( index, x, y, z, w ) </h3>
+		<div>
+		Sets the value of the array at <code>index * itemSize</code> to x,
+		the value of the array at <code>index * itemSize + 1</code> to y,
+		the value of the array at <code>index * itemSize + 2</code> to z, and
+		the value of the array at <code>index * itemSize + 3</code> to w.
+		</div>
+
+		<h3>[method:BufferAttribute clone]() </h3>
+		<div>
+		Copies this attribute.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 212 - 59
docs/api/core/BufferGeometry.html

@@ -1,154 +1,307 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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 superefficent class for geometries because it saves all data in buffers. <br />
-		It reduces memory costs and cpu cycles. But it is not as easy to work with because of all the necessary buffer calculations.<br />
-		It is mainly interesting when working with static objects.
+		<p>
+		This class is an efficient alternative to [page:Geometry], because it stores all data, including
+		vertex positions, face indices, normals, colors, UVs, and custom attributes within buffers; this
+		reduces the cost of passing all this data to the GPU.
+		This also makes BufferGeometry harder to work with than [page:Geometry]; rather than accessing
+		position data as [page:Vector3] objects, color data as [page:Color] objects, and so on, you have to
+		access the raw data from the appropriate [page:BufferAttribute attribute] buffer. This makes
+		BufferGeometry best-suited for static objects where you don't need to manipulate the geometry much
+		after instantiating it.
+		</p>
+
+		<h3>Example</h3>
+		<code>
+		var geometry = new THREE.BufferGeometry();
+		// create a simple square shape. We duplicate the top left and bottom right
+		// vertices because each vertex needs to appear once per triangle.
+		var vertexPositions = [
+			[-1.0, -1.0,  1.0],
+			[ 1.0, -1.0,  1.0],
+			[ 1.0,  1.0,  1.0],
+
+			[ 1.0,  1.0,  1.0],
+			[-1.0,  1.0,  1.0],
+			[-1.0, -1.0,  1.0]
+		];
+		var vertices = new Float32Array( vertexPositions.length * 3 ); // three components per vertex
+
+		// components of the position vector for each vertex are stored
+		// contiguously in the buffer.
+		for ( var i = 0; i < vertexPositions.length; i++ )
+		{
+			vertices[ i*3 + 0 ] = vertexPositions[i][0];
+			vertices[ i*3 + 1 ] = vertexPositions[i][1];
+			vertices[ i*3 + 2 ] = vertexPositions[i][2];
+		}
+
+		// itemSize = 3 because there are 3 values (components) per vertex
+		geometry.addAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
+		var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		var mesh = new THREE.Mesh( geometry, material );
+		</code>
+		<p>More examples: [example:webgl_buffergeometry Complex mesh with non-indexed faces], [example:webgl_buffergeometry_uint Complex mesh with indexed faces], [example:webgl_buffergeometry_lines Lines], [example:webgl_buffergeometry_lines_indexed Indexed Lines], [example:webgl_buffergeometry_particles Particles], and [example:webgl_buffergeometry_rawshader Raw Shaders].</p>
+
+
+		<h3>Accessing attributes</h3>
+		<p>
+		WebGL stores data associated with individual vertices of a geometry in <emph>attributes</emph>.
+		Examples include the position of the vertex, the normal vector for the vertex, the vertex color,
+		and so on. When using [page:Geometry], the [page:WebGLRenderer renderer] takes care of wrapping
+		up this information into typed array buffers and sending this data to the shader. With
+		BufferGeometry, all of this data is stored in buffers associated with an individual attributes.
+		This means that to get the position data associated with a vertex (for instance), you must call
+		[page:.getAttribute] to access the 'position' [page:BufferAttribute attribute], then access the individual
+		x, y, and z coordinates of the position.
+		</p>
+		<p>
+		The following attributes are set by various members of this class:
+		</p>
+		<h4>[page:BufferAttribute position] (itemSize: 3)</h4>
+		<div>
+		Stores the x, y, and z coordinates of each vertex in this geometry. Set by [page:.fromGeometry]().
+		</div>
+
+		<h4>[page:BufferAttribute normal] (itemSize: 3)</h4>
+		<div>
+		Stores the x, y, and z components of the face or vertex normal vector of each vertex in this geometry.
+		Set by [page:.fromGeometry]().
 		</div>
 
+		<h4>[page:BufferAttribute color] (itemSize: 3)</h4>
+		<div>
+		Stores the red, green, and blue channels of vertex color of each vertex in this geometry.
+		Set by [page:.fromGeometry]().
+		</div>
+
+		<h4>[page:BufferAttribute index] (itemSize: 3)</h4>
+		Allows for vertices to be re-used across multiple triangles; this is called using "indexed triangles," and works much the same as it does in [page:Geometry]: each triangle is associated with the index of three vertices. This attribute therefore stores the index of each vertex for each triangular face.
+
+		If this attribute is not set, the [page:WebGLRenderer renderer] assumes that each three contiguous positions represent a single triangle.
+		</div>
+		<p>
+		In addition to the the built-in attributes, you can set your own custom attributes using the addAttribute method. With [page:Geometry], these attributes are set and stored on the [page:Material]. In BufferGeometry, the attributes are stored with the geometry itself. Note that you still need to set the attributes information on the material as well, but the value of each attribute is stored in the BufferGeometry.
+		</p>
+
 
 		<h2>Constructor</h2>
 
 
 		<h3>[name]()</h3>
 		<div>
-			This creates a new [name]. It also sets several properties to an default value.
+		This creates a new [name]. It also sets several properties to a default value.
 		</div>
 
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Integer id]</h3>
+		<h3>[property:Integer id]</h3>
 		<div>
-		Unique number of this buffergeometry instance
+		Unique number for this buffergeometry instance.
 		</div>
-		
-		<h3>.[page:Hashmap attributes]</h3>
+
+		<h3>[property:Hashmap attributes]</h3>
 		<div>
-		This hashmap has as id the name of the attribute to be set and as value the buffer to set it to.
+		This hashmap has as id the name of the attribute to be set and as value the [page:BufferAttribute buffer] to set it to.
+		Rather than accessing this property directly, use addAttribute and getAttribute to access attributes of this geometry.
 		</div>
-		
-		<h3>.[page:Boolean dynamic]</h3>
+
+		<!--
+ 		<h3>[property:Boolean dynamic]</h3>
 		<div>
-		When set, it holds certain buffers in memory to have faster updates for this object. When unset, it deletes those buffers and saves memory.
-		</div>
-		
-		<h3>.[page:Array offsets]</h3>
+		When set, it holds certain buffers in memory to have faster updates for this object. When unset, it deletes those buffers and   saves memory.
+		</div> -->
+
+		<h3>[property:Array drawcalls] (previously [property:Array offsets])</h3>
 		<div>
-		This Array should contain every offset at which the buffers should be rendered. This is important for indexed buffers.
+		For geometries that use indexed triangles, this Array can be used to split the object into multiple WebGL draw calls. Each draw call will draw some subset of the vertices in this geometry using the configured [page:Material shader]. This may be necessary if, for instance, you have more than 65535 vertices in your object.
+		Each element is an object of the form:
+		<code>{ start: Integer, count: Integer, index: Integer }</code>
+		where start specifies the index of the first vertex in this draw call, count specifies how many vertices are included, and index specifies an optional offset.
+
+		Use addDrawCall to add draw calls, rather than modifying this array directly.
 		</div>
 
-		<h3>.[page:Object boundingBox]</h3>
+		<h3>[property:Box3 boundingBox]</h3>
 		<div>
 		Bounding box.
 		<code>{ min: new THREE.Vector3(), max: new THREE.Vector3() }</code>
 		</div>
 
-		<h3>.[page:Object boundingSphere]</h3>
+		<h3>[property:Sphere boundingSphere]</h3>
 		<div>
 		Bounding sphere.
 		<code>{ radius: float }</code>
 		</div>
-		
-		<h3>.[page:Array morphTargets]</h3>
+
+		<h3>[property:Array morphTargets]</h3>
 		<div>
 		Array of morph targets. Each morph target is a Javascript object:
 		<code>{ name: "targetName", vertices: [ new THREE.Vertex(), ... ] }</code>
 		Morph vertices match number and order of primary vertices.
 		</div>
 
-		<h3>.[page:boolean hasTangents]</h3>
+		<h2>Methods</h2>
+
+		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
+
+		<h3>[property:null addAttribute]( [page:String name], [page:BufferAttribute attribute] )</h3>
 		<div>
-		todo
-		</div> 
+		Adds an attribute to this geometry. Use this rather than the attributes property,
+		because an internal array of attributes is maintained to speed up iterating over
+		attributes.
+		</div>
 
-		<h2>Methods</h2>
+		<h3>[method:null addDrawCall]( [page:Integer start], [page:Integer count], [page:Integer indexOffset] )</h3>
+		<div>
+		Adds a draw call to this geometry; see the [page:BufferGeometry.drawcalls drawcalls] property for details.
+		</div>
+
+		<h3>[method:null clearDrawCalls]( )</h3>
+		<div>
+		Clears all draw calls.
+		</div>
 
-		<h3>.applyMatrix( [page:Matrix4 matrix] )</h3>
+		<h3>[method:null applyMatrix]( [page:Matrix4 matrix] )</h3>
 		<div>
 		Bakes matrix transform directly into vertex coordinates.
 		</div>
 
-		<h3>.computeVertexNormals()</h3>
+		<h3>[method:null center] ()</h3>
 		<div>
-		Computes vertex normals by averaging face normals.<br />
+		Center the geometry based on the bounding box.
 		</div>
 
-		<h3>.computeTangents()</h3>
+		<h3>[method:BufferGeometry rotateX] ( [page:Float radians] )</h3>
 		<div>
-		Computes vertex tangents.<br />
-		Based on [link:http://www.terathon.com/code/tangent.html]<br />
-		Geometry must have vertex [page:UV UVs] (layer 0 will be used).
+		Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.rotation] for typical real-time mesh rotation.
 		</div>
 
-		<h3>.computeBoundingBox()</h3>
+		<h3>[method:BufferGeometry rotateY] ( [page:Float radians] )</h3>
+		<div>
+		Rotate the geometry about the Y axis. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.rotation] for typical real-time mesh rotation.
+		</div>
+
+		<h3>[method:BufferGeometry rotateZ] ( [page:Float radians] )</h3>
+		<div>
+		Rotate the geometry about the Z axis. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.rotation] for typical real-time mesh rotation.
+		</div>
+
+		<h3>[method:BufferGeometry translate] ( [page:Float x], [page:Float y], [page:Float z] )</h3>
+		<div>
+		Translate the geometry. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.position] for typical real-time mesh translation.
+		</div>
+
+		<h3>[method:BufferGeometry scale] ( [page:Float x], [page:Float y], [page:Float z] )</h3>
+		<div>
+		Scale the geometry data. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.scale] for typical real-time mesh scaling.
+		</div>
+
+		<h3>[method:BufferGeometry lookAt] ( [page:Vector3 vector] )</h3>
+		<div>
+		vector - A world vector to look at.<br />
+		</div>
+		<div>
+		Rotates the geometry to face point in space. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.lookAt] for typical real-time mesh usage.
+		</div>
+
+		<h3>[method:BufferGeometry setFromObject] ( [page:Object3D object] )</h3>
+		<div>
+		Sets the attributes for this BufferGeometry from an [page:Object3D].
+		</div>
+
+		<h3>[method:null computeVertexNormals]()</h3>
+		<div>
+		Computes vertex normals by averaging face normals.<br />
+		</div>
+
+		<h3>[method:null computeBoundingBox]()</h3>
 		<div>
 		Computes bounding box of the geometry, updating [page:Geometry Geometry.boundingBox] attribute.<br />
 		Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are *null*.
 		</div>
 
-		<h3>.computeBoundingSphere()</h3>
+		<h3>[method:null computeBoundingSphere]()</h3>
 		<div>
 		Computes bounding sphere of the geometry, updating [page:Geometry Geometry.boundingSphere] attribute.<br />
 		Bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are *null*.
 		</div>
-		
-		<h3>.dispose()</h3>
+
+		<h3>[method:null computeOffsets] ( [page:Integer size] )</h3>
 		<div>
-		Disposes the object from memory. <br />
-		You need to call this when you want the bufferGeometry removed while the application is running.
+		Compute the draw offset for large models by chunking the index buffer into chunks of 65k addressable vertices.
+		This method will effectively rewrite the index buffer and remap all attributes to match the new indices.
+		WARNING: This method will also expand the vertex count to prevent sprawled triangles across draw offsets.
+		size - Defaults to 65535 or 4294967296 if extension OES_element_index_uint supported, but allows for larger or smaller chunks.
 		</div>
 
-
-		<h3>.hasEventListener([page:todo type], [page:todo listener]) [page:todo]</h3>
+		<h3>[method:null merge]( [page:BufferGeometry bufferGeometry], [page:Integer offset] )</h3>
 		<div>
-		type -- todo <br />
-		listener -- todo
+		Merge in another BufferGeometry with an optional offset of where to start merging in.
 		</div>
+
+		<h3>[method:null dispose]()</h3>
 		<div>
-		todo
+		Disposes the object from memory. <br />
+		You need to call this when you want the bufferGeometry removed while the application is running.
 		</div>
 
-		<h3>.addEventListener([page:todo type], [page:todo listener]) [page:todo]</h3>
+		<h3>[method:null fromGeometry]( [page:Geometry] )</h3>
 		<div>
-		type -- todo <br />
-		listener -- todo
+		Populates this BufferGeometry with data from a [page:Geometry] object.
 		</div>
+
+		<h3>[method:BufferAttribute getAttribute]( [page:String name] )</h3>
 		<div>
-		todo
+		Returns the [page:BufferAttribute attribute] with the specified name.
 		</div>
 
-		<h3>.removeEventListener([page:todo type], [page:todo listener]) [page:todo]</h3>
+		<h3>[method:BufferAttribute removeAttribute]( [page:String name] )</h3>
 		<div>
-		type -- todo <br />
-		listener -- todo
+		Removes the [page:BufferAttribute attribute] with the specified name.
 		</div>
+
+		<h3>[method:null normalizeNormals]()</h3>
 		<div>
-		todo
+		Every normal vector in a geometry will have a magnitude of 1.
+		This will correct lighting on the geometry surfaces.
 		</div>
 
-		<h3>.normalizeNormals() [page:todo]</h3>
+		<h3>[method:Object toJSON]()</h3>
 		<div>
-		todo
+		Returns a raw object representation of the BufferGeometry.
 		</div>
 
-		<h3>.dispatchEvent([page:todo event]) [page:todo]</h3>
+		<h3>[method:BufferGeometry clone]()</h3>
 		<div>
-		event -- todo
+		Creates a clone of this BufferGeometry.
 		</div>
+
+		<h3>[method:BufferGeometry copy]( [page:BufferGeometry bufferGeometry] )</h3>
 		<div>
-		todo
+		Copies another BufferGeometry to this BufferGeometry.
 		</div>
 
+
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 14 - 13
docs/api/core/Clock.html

@@ -1,10 +1,11 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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>
@@ -22,31 +23,31 @@
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Boolean autoStart]</h3>
+		<h3>[property:Boolean autoStart]</h3>
 		<div>
 		If set, starts the clock automatically when the first update is called.
 		</div>
 
-		<h3>.[page:Float startTime]</h3>
+		<h3>[property:Float startTime]</h3>
 		<div>
 		When the clock is running, It holds the start time of the clock. <br />
 		This counted from the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.
  		</div>
 
 
-		<h3>.[page:Float oldTime]</h3>
+		<h3>[property:Float oldTime]</h3>
 		<div>
 		When the clock is running, It holds the previous time from a update.<br />
 		This counted from the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.
  		</div>
 
-		<h3>.[page:Float elapsedTime]</h3>
+		<h3>[property:Float elapsedTime]</h3>
 		<div>
 		When the clock is running, It holds the time elapsed between the start of the clock to the previous update.<br />
 		This counted from the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.
  		</div>
 
-		<h3>.[page:Boolean running]</h3>
+		<h3>[property:Boolean running]</h3>
 		<div>
 		This property keeps track whether the clock is running or not.
  		</div>
@@ -54,22 +55,22 @@
 
 		<h2>Methods</h2>
 
-		<h3>.start()</h3>
+		<h3>[method:null start]()</h3>
 		<div>
 		Starts clock.
 		</div>
 
-		<h3>.stop()</h3>
+		<h3>[method:null stop]()</h3>
 		<div>
 		Stops clock.
 		</div>
 
-		<h3>.getElapsedTime() [page:Float]</h3>
+		<h3>[method:Float getElapsedTime]()</h3>
 		<div>
 		Get the seconds passed since the clock started.
 		</div>
 
-		<h3>.getDelta() [page:Float]</h3>
+		<h3>[method:Float getDelta]()</h3>
 		<div>
 		Get the seconds passed since the last call to this method.
 		</div>

+ 10 - 9
docs/api/core/EventDispatcher.html

@@ -1,10 +1,11 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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>
@@ -23,7 +24,7 @@
 
 		<h2>Methods</h2>
 
-		<h3>.addEventListener( [page:String type], [page:Function listener] )</h3>
+		<h3>[method:null addEventListener]( [page:String type], [page:Function listener] )</h3>
 		<div>
 		type - The type of event to listen to.<br />
 		listener - The function that gets called when the event is fired.
@@ -32,7 +33,7 @@
 		Adds a listener to an event type.
 		</div>
 
-		<h3>.hasEventListener( [page:String type], [page:Function listener] )</h3>
+		<h3>[method:Boolean hasEventListener]( [page:String type], [page:Function listener] )</h3>
 		<div>
 		type - The type of event to listen to.<br />
 		listener - The function that gets called when the event is fired.
@@ -41,7 +42,7 @@
 		Checks if listener is added to an event type.
 		</div>
 
-		<h3>.removeEventListener( [page:String type], [page:Function listener] )</h3>
+		<h3>[method:null removeEventListener]( [page:String type], [page:Function listener] )</h3>
 		<div>
 		type - The type of the listener that gets removed.<br />
 		listener - The listener function that gets removed.
@@ -50,9 +51,9 @@
 		Removes a listener from an event type.
 		</div>
 
-		<h3>.dispatchEvent( [page:String type] )</h3>
+		<h3>[method:null dispatchEvent]( [page:object event] )</h3>
 		<div>
-		type - The type of event that gets fired.
+		event - The event that gets fired.
 		</div>
 		<div>
 		Fire an event type.

+ 16 - 25
docs/api/core/Face3.html

@@ -1,10 +1,11 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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>
@@ -35,65 +36,55 @@
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Integer a]</h3>
+		<h3>[property:Integer a]</h3>
 		<div>
 		Vertex A index.
 		</div>
 
-		<h3>.[page:Integer b]</h3>
+		<h3>[property:Integer b]</h3>
 		<div>
 		Vertex B index.
 		</div>
 
-		<h3>.[page:Integer c]</h3>
+		<h3>[property:Integer c]</h3>
 		<div>
 		Vertex C index.
 		</div>
 
-		<h3>.[page:Vector3 normal]</h3>
+		<h3>[property:Vector3 normal]</h3>
 		<div>
 		Face normal.
 		</div>
 
-		<h3>.[page:Color color]</h3>
+		<h3>[property:Color color]</h3>
 		<div>
 		Face color.
 		</div>
 
-		<h3>.[page:Array vertexNormals]</h3>
+		<h3>[property:Array vertexNormals]</h3>
 		<div>
 		Array of 3 vertex normals.
 		</div>
 
-		<h3>.[page:Array vertexColors]</h3>
+		<h3>[property:Array vertexColors]</h3>
 		<div>
 		Array of 3 vertex colors.
 		</div>
 
-		<h3>.[page:Array vertexTangents]</h3>
-		<div>
-		Array of 3 vertex tangents.
-		</div>
 
-
-		<h3>.[page:Integer materialIndex]</h3>
+		<h3>[property:Integer materialIndex]</h3>
 		<div>
 		Material index (points to [page:MeshFaceMaterial MeshFaceMaterial.materials]).
 		</div>
 
-		<h3>.[page:Vector3 centroid]</h3>
-		<div>
-		Face centroid.
-		</div>
-
 		<h2>Methods</h2>
 
-		<h3>.clone()</h3>
+		<h3>[method:Face3 clone]()</h3>
 		<div>
 		Creates a new clone of the Face3 object.
 		</div>
-		
-		
+
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 0 - 108
docs/api/core/Face4.html

@@ -1,108 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">
-		Quad face.
-		</div>
-
-
-		<h2>Example</h2>
-
-		<code>var normal = new THREE.Vector3( 0, 1, 0 );
-		var color = new THREE.Color( 0xffaa00 );
-		var face = new THREE.Face4( 0, 1, 2, 3, normal, color, 0 );</code>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]( [page:Integer a], [page:Integer b], [page:Integer c], [page:Integer d], [page:Vector3 normal], [page:Color color], [page:Integer materialIndex] )</h3>
-		<div>
-		a — Vertex A index.<br />
-		b — Vertex B index.<br />
-		c — Vertex C index.<br />
-		d — Vertex D index.<br />
-		normal — Face normal or array of vertex normals.<br />
-		color — Face color or array of vertex colors.<br />
-		materialIndex — Material index.
-		</div>
-
-		<h2>Properties</h2>
-
-		<h3>.[page:Integer a]</h3>
-		<div>
-		Vertex A index.
-		</div>
-
-		<h3>.[page:Integer b]</h3>
-		<div>
-		Vertex B index.
-		</div>
-
-		<h3>.[page:Integer c]</h3>
-		<div>
-		Vertex C index.
-		</div>
-
-		<h3>.[page:Integer d]</h3>
-		<div>
-		Vertex D index.
-		</div>
-
-		<h3>.[page:Vector3 normal]</h3>
-		<div>
-		Face normal.
-		</div>
-
-		<h3>.[page:Color color]</h3>
-		<div>
-		Face color.
-		</div>
-
-		<h3>.[page:Array vertexNormals]</h3>
-		<div>
-		Array of 4 vertex normals.
-		</div>
-
-		<h3>.[page:Array vertexColors]</h3>
-		<div>
-		Array of 4 vertex colors.
-		</div>
-
-		<h3>.[page:Array vertexTangents]</h3>
-		<div>
-		Array of 4 vertex tangets.
-		</div>
-
-
-		<h3>.[page:Integer materialIndex]</h3>
-		<div>
-		Material index (points to [page:MeshFaceMaterial MeshFaceMaterial.materials]).
-		</div>
-
-		<h3>.[page:Vector3 centroid]</h3>
-		<div>
-		Face centroid.
-		</div>
-
-		<h2>Methods</h2>
-
-		<h3>.clone()</h3>
-		<div>
-		Creates a new clone of the Face4 object.
-		</div>
-		
-		
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 126 - 136
docs/api/core/Geometry.html

@@ -2,9 +2,10 @@
 <html lang="en">
 	<head>
 		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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>
@@ -17,11 +18,13 @@
 
 		<h2>Example</h2>
 
-		<code>var geometry = new THREE.Geometry()
+		<code>var geometry = new THREE.Geometry();
 
-		geometry.vertices.push( new THREE.Vector3( -10,  10, 0 ) );
-		geometry.vertices.push( new THREE.Vector3( -10, -10, 0 ) );
-		geometry.vertices.push( new THREE.Vector3(  10, -10, 0 ) );
+		geometry.vertices.push(
+			new THREE.Vector3( -10,  10, 0 ),
+			new THREE.Vector3( -10, -10, 0 ),
+			new THREE.Vector3(  10, -10, 0 )
+		);
 
 		geometry.faces.push( new THREE.Face3( 0, 1, 2 ) );
 
@@ -33,274 +36,261 @@
 
 		<h3>[name]()</h3>
 		<div>
-		todo
+		The constructor takes no arguments.
 		</div>
 
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Integer id]</h3>
+		<h3>[property:Integer id]</h3>
 		<div>
-		Unique number of this geometry instance
+		Unique number for this geometry instance.
 		</div>
-		
-		<h3>.[page:String name]</h3>
+
+		<h3>[property:String name]</h3>
 		<div>
 		Name for this geometry. Default is an empty string.
 		</div>
 
-		<h3>.[page:Array vertices]</h3>
+		<h3>[property:Array vertices]</h3>
 		<div>
 		Array of [page:Vector3 vertices].<br />
-		The array of vertices hold every position of points of the model.<br />
+		The array of vertices holds every position of points in the model.<br />
 		To signal an update in this array, [page:Geometry Geometry.verticesNeedUpdate] needs to be set to true.
 		</div>
 
-		<h3>.[page:Array colors]</h3>
+		<h3>[property:Array colors]</h3>
 		<div>
 		Array of vertex [page:Color colors], matching number and order of vertices.<br />
-		Used in [page:ParticleSystem], [page:Line] and [page:Ribbon].<br />
+		Used in [page:Points] and [page:Line].<br />
 		[page:Mesh Meshes] use per-face-use-of-vertex colors embedded directly in faces.<br />
 		To signal an update in this array, [page:Geometry Geometry.colorsNeedUpdate] needs to be set to true.
 		</div>
 
-		<h3>.[page:Array normals]</h3>
+		<h3>[property:Array faces]</h3>
 		<div>
-		Array of vertex [page:Vector3 normals], matching number and order of vertices.<br />
-		[link:http://en.wikipedia.org/wiki/Normal_(geometry) Normal vectors] are  nessecary for lighting <br />
-		To signal an update in this array, [page:Geometry Geometry.normalsNeedUpdate] needs to be set to true.
-		</div>
-
-		<h3>.[page:Array faces]</h3>
-		<div>
-		Array of [page:Face3 triangles] or/and [page:Face4 quads].<br />
+		Array of [page:Face3 triangles].<br />
 		The array of faces describe how each vertex in the model is connected with each other.<br />
 		To signal an update in this array, [page:Geometry Geometry.elementsNeedUpdate] needs to be set to true.
 		</div>
 
-		<h3>.[page:Array faceUvs]</h3>
-		<div>
-		Array of face [page:UV] layers.<br />
-		Each UV layer is an array of [page:UV] matching order and number of faces.<br />
-		To signal an update in this array, [page:Geometry Geometry.uvsNeedUpdate] needs to be set to true.
-		</div>
-
-		<h3>.[page:Array faceVertexUvs]</h3>
+		<h3>[property:Array faceVertexUvs]</h3>
 		<div>
 		Array of face [page:UV] layers.<br />
-		Each UV layer is an array of [page:UV] matching order and number of vertices in faces.<br />
+		Each UV layer is an array of [page:UV]s matching the order and number of vertices in faces.<br />
 		To signal an update in this array, [page:Geometry Geometry.uvsNeedUpdate] needs to be set to true.
 		</div>
 
-		<h3>.[page:Array morphTargets]</h3>
+		<h3>[property:Array morphTargets]</h3>
 		<div>
 		Array of morph targets. Each morph target is a Javascript object:
 		<code>{ name: "targetName", vertices: [ new THREE.Vector3(), ... ] }</code>
 		Morph vertices match number and order of primary vertices.
 		</div>
 
-		<h3>.[page:Array morphColors]</h3>
-		<div>
-		Array of morph colors. Morph colors have similar structure as morph targets, each color set is a Javascript object:
-		<code>morphColor = { name: "colorName", colors: [ new THREE.Color(), ... ] }</code>
-		Morph colors can match either number and order of faces (face colors) or number of vertices (vertex colors).
-		</div>
-
-		<h3>.[page:Array morphNormals]</h3>
+		<h3>[property:Array morphNormals]</h3>
 		<div>
 		Array of morph normals. Morph normals have similar structure as morph targets, each normal set is a Javascript object:
 		<code>morphNormal = { name: "NormalName", normals: [ new THREE.Vector3(), ... ] }</code>
 		</div>
 
-		<h3>.[page:Array skinWeights]</h3>
+		<h3>[property:Array skinWeights]</h3>
 		<div>
-		Array of skinning weights, matching number and order of vertices.
+		Array of [page:Vector4 Vector4s] representing the skinning weights as used in a [page:SkinnedMesh],
+		The weights match the number and order of vertices in the geometry. The weighted values
+		are typically between the values of 0 and 1 and affect the amount that the individuals bones affect
+		a given vertex.
 		</div>
 
-		<h3>.[page:Array skinIndices]</h3>
+		<h3>[property:Array skinIndices]</h3>
 		<div>
-		Array of skinning indices, matching number and order of vertices.
+		Array of [page:Vector4 Vector4s] representing the indices of individual bones in the [page:Skeleton.bones] array,
+		The indices match the number and order of vertices in the geometry.
+		<code>
+		// e.g.
+		geometry.skinIndices[15] = new THREE.Vector4(   0,   5,   9, 0 );
+		geometry.skinWeights[15] = new THREE.Vector4( 0.2, 0.5, 0.3, 0 );
+
+		// corresponds with the following vertex
+		geometry.vertices[15];
+
+		// these bones will be used like so:
+		skeleton.bones[0]; // weight of 0.2
+		skeleton.bones[5]; // weight of 0.5
+		skeleton.bones[9]; // weight of 0.3
+		skeleton.bones[0]; // weight of 0
+		</code>
 		</div>
 
-		<h3>.[page:Object boundingBox]</h3>
+		<h3>[property:Object boundingBox]</h3>
 		<div>
 		Bounding box.
 		<code>{ min: new THREE.Vector3(), max: new THREE.Vector3() }</code>
 		</div>
 
-		<h3>.[page:Object boundingSphere]</h3>
+		<h3>[property:Object boundingSphere]</h3>
 		<div>
 		Bounding sphere.
 		<code>{ radius: float }</code>
 		</div>
 
-		<h3>.[page:Boolean hasTangents]</h3>
-		<div>
-		True if geometry has tangents. Set in [page:Geometry Geometry.computeTangents].
-		</div>
-
-		<h3>.[page:Boolean dynamic]</h3>
+		<h3>[property:Boolean dynamic]</h3>
 		<div>
 		Set to *true* if attribute buffers will need to change in runtime (using "dirty" flags).<br/>
 		Unless set to true internal typed arrays corresponding to buffers will be deleted once sent to GPU.<br/>
 		Defaults to true.
 		</div>
-		
-		<h3>.[page:Boolean verticesNeedUpdate]</h3>
+
+		<h3>[property:Boolean verticesNeedUpdate]</h3>
 		<div>
 		Set to *true* if the vertices array has been updated.
 		</div>
-		
-		<h3>.[page:Boolean elementsNeedUpdate]</h3>
+
+		<h3>[property:Boolean elementsNeedUpdate]</h3>
 		<div>
 		Set to *true* if the faces array has been updated.
 		</div>
-		
-		<h3>.[page:Boolean uvsNeedUpdate]</h3>
+
+		<h3>[property:Boolean uvsNeedUpdate]</h3>
 		<div>
 		Set to *true* if the uvs array has been updated.
 		</div>
-		
-		<h3>.[page:Boolean normalsNeedUpdate]</h3>
+
+		<h3>[property:Boolean normalsNeedUpdate]</h3>
 		<div>
 		Set to *true* if the normals array has been updated.
 		</div>
-		
-		<h3>.[page:Boolean tangentsNeedUpdate]</h3>
-		<div>
-		Set to *true* if the tangents in the faces has been updated.
-		</div>
-		
-		<h3>.[page:Boolean colorsNeedUpdate]</h3>
+
+		<h3>[property:Boolean colorsNeedUpdate]</h3>
 		<div>
 		Set to *true* if the colors array has been updated.
 		</div>
-		
-		<h3>.[page:Boolean lineDistancesNeedUpdate]</h3>
+
+		<h3>[property:Boolean lineDistancesNeedUpdate]</h3>
 		<div>
 		Set to *true* if the linedistances array has been updated.
 		</div>
-		
-		<h3>.[page:Boolean buffersNeedUpdate]</h3>
-		<div>
-		Set to *true* if an array has changed in length.
-		</div>
-
-		<h3>.[page:array morphNormals]</h3>
-		<div>
-		todo
-		</div> 
 
-		<h3>.[page:array lineDistances]</h3>
+		<h3>[property:array lineDistances]</h3>
 		<div>
-		todo
-		</div> 
+		An array containing distances between vertices for Line geometries.
+		This is required for LinePieces/LineDashedMaterial to render correctly.
+		Line distances can also be generated with computeLineDistances.
+		</div>
 
 		<h2>Methods</h2>
 
-		<h3>.applyMatrix( [page:Matrix4 matrix] )</h3>
-		<div>
-		Bakes matrix transform directly into vertex coordinates.
-		</div>
+		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
 
-		<h3>.computeCentroids()</h3>
+		<h3>[method:null applyMatrix]( [page:Matrix4 matrix] )</h3>
 		<div>
-		Computes centroids for all faces.
+		Bakes matrix transform directly into vertex coordinates.
 		</div>
 
-		<h3>.computeFaceNormals()</h3>
+		<h3>[method:null center] ()</h3>
 		<div>
-		Computes face normals.
+		Center the geometry based on the bounding box.
 		</div>
 
-		<h3>.computeVertexNormals()</h3>
+		<h3>[method:Geometry rotateX] ( [page:Float radians] )</h3>
 		<div>
-		Computes vertex normals by averaging face normals.<br />
-		Face normals must be existing / computed beforehand.
+		Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.rotation] for typical real-time mesh rotation.
 		</div>
 
-		<h3>.computeMorphNormals()</h3>
+		<h3>[method:Geometry rotateY] ( [page:Float radians] )</h3>
 		<div>
-		Computes morph normals.
+		Rotate the geometry about the Y axis. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.rotation] for typical real-time mesh rotation.
 		</div>
 
-		<h3>.computeTangents()</h3>
+		<h3>[method:Geometry rotateZ] ( [page:Float radians] )</h3>
 		<div>
-		Computes vertex tangents.<br />
-		Based on [link:http://www.terathon.com/code/tangent.html]<br />
-		Geometry must have vertex [page:UV UVs] (layer 0 will be used).
+		Rotate the geometry about the Z axis. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.rotation] for typical real-time mesh rotation.
 		</div>
 
-		<h3>.computeBoundingBox()</h3>
+		<h3>[method:Geometry translate] ( [page:Float x], [page:Float y], [page:Float z] )</h3>
 		<div>
-		Computes bounding box of the geometry, updating [page:Geometry Geometry.boundingBox] attribute.
+		Translate the geometry. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.position] for typical real-time mesh translation.
 		</div>
 
-		<h3>.computeBoundingSphere()</h3>
+		<h3>[method:Geometry scale] ( [page:Float x], [page:Float y], [page:Float z] )</h3>
 		<div>
-		Computes bounding sphere of the geometry, updating [page:Geometry Geometry.boundingSphere] attribute.
+		Scale the geometry data. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.scale] for typical real-time mesh scaling.
 		</div>
-		
-		<div>Neither bounding boxes or bounding spheres are computed by default. They need to be explicitly computed, otherwise they are *null*.</div>
 
-		<h3>.mergeVertices()</h3>
+		<h3>[method:Geometry lookAt] ( [page:Vector3 vector] )</h3>
 		<div>
-		Checks for duplicate vertices using hashmap.<br />
-		Duplicated vertices are removed and faces' vertices are updated.
+		vector - A world vector to look at.<br />
 		</div>
-		
-		<h3>.clone()</h3>
 		<div>
-		Creates a new clone of the Geometry.
+		Rotates the geometry to face point in space. This is typically done as a one time operation, and not during a loop
+    Use [page:Object3D.lookAt] for typical real-time mesh usage.
 		</div>
-		
-		<h3>.dispose()</h3>
+
+		<h3>[method:null computeFaceNormals]()</h3>
 		<div>
-		Removes The object from memory. <br />
-		Don't forget to call this method when you remove an geometry because it can cuase meomory leaks. 
+		Computes face normals.
 		</div>
 
-
-		<h3>.dispatchEvent([page:todo event]) [page:todo]</h3>
+		<h3>[method:null computeVertexNormals]()</h3>
 		<div>
-		event -- todo
+		Computes vertex normals by averaging face normals.<br />
+		Face normals must be existing / computed beforehand.
 		</div>
+
+		<h3>[method:null computeMorphNormals]()</h3>
 		<div>
-		todo
+		Computes morph normals.
 		</div>
 
-		<h3>.hasEventListener([page:todo type], [page:todo listener]) [page:todo]</h3>
+		<h3>[method:null computeBoundingBox]()</h3>
 		<div>
-		type -- todo <br />
-		listener -- todo
+		Computes bounding box of the geometry, updating [page:Geometry Geometry.boundingBox] attribute.
 		</div>
+
+		<h3>[method:null computeBoundingSphere]()</h3>
 		<div>
-		todo
+		Computes bounding sphere of the geometry, updating [page:Geometry Geometry.boundingSphere] attribute.
 		</div>
 
-		<h3>.removeEventListener([page:todo type], [page:todo listener]) [page:todo]</h3>
+		<div>Neither bounding boxes or bounding spheres are computed by default. They need to be explicitly computed, otherwise they are *null*.</div>
+
+		<h3>[method:null merge]( [page:Geometry geometry], [page:Matrix4 matrix], [page:Integer materialIndexOffset] )</h3>
+		<div>Merge two geometries or geometry and geometry from object (using object's transform)</div>
+
+		<h3>[method:null mergeVertices]()</h3>
 		<div>
-		type -- todo <br />
-		listener -- todo
+		Checks for duplicate vertices using hashmap.<br />
+		Duplicated vertices are removed and faces' vertices are updated.
 		</div>
+
+		<h3>[method:null normalize]()</h3>
 		<div>
-		todo
+		Normalize the geometry. <br />
+		Make the geometry centered and has a bounding sphere whose raidus equals to 1.0.
 		</div>
 
-		<h3>.computeLineDistances() [page:todo]</h3>
+		<h3>[method:Geometry clone]()</h3>
 		<div>
-		todo
+		Creates a new clone of the Geometry.
 		</div>
 
-		<h3>.addEventListener([page:todo type], [page:todo listener]) [page:todo]</h3>
+		<h3>[method:null dispose]()</h3>
 		<div>
-		type -- todo <br />
-		listener -- todo
+		Removes The object from memory. <br />
+		Don't forget to call this method when you remove a geometry because it can cause memory leaks.
 		</div>
+
+		<h3>[method:null computeLineDistances]()</h3>
 		<div>
-		todo
+		Compute distances between vertices for Line geometries.
 		</div>
 
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 112 - 84
docs/api/core/Object3D.html

@@ -2,9 +2,10 @@
 <html lang="en">
 	<head>
 		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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>
@@ -17,133 +18,148 @@
 
 		<h3>[name]()</h3>
 		<div>
-		todo
+		The constructor takes no arguments.
 		</div>
 
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Integer id]</h3>
+		<h3>[property:Integer id]</h3>
 		<div>
-		Unique number of this object instance.
+		readonly – Unique number for this object instance.
 		</div>
 
-		<h3>.[page:String name]</h3>
+		<h3>[property:String uuid]</h3>
+		<div>
+		[link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID] of this object instance.
+		This gets automatically assigned, so this shouldn't be edited.
+		</div>
+
+		<h3>[property:String name]</h3>
 		<div>
 		Optional name of the object (doesn't need to be unique).
 		</div>
 
-		<h3>.[page:Object3D parent]</h3>
+		<h3>[property:Object3D parent]</h3>
 		<div>
 		Object's parent in the scene graph.
 		</div>
 
-		<h3>.[page:Object3D children]</h3>
+		<h3>[property:Object3D children]</h3>
 		<div>
 		Array with object's children.
 		</div>
 
-		<h3>.[page:Vector3 position]</h3>
+		<h3>[property:Vector3 position]</h3>
 		<div>
 		Object's local position.
 		</div>
 
-		<h3>.[page:Vector3 rotation]</h3>
-		<div>
-		Object's local rotation (<a href="https://en.wikipedia.org/wiki/Euler_angles">Euler angles</a>), in radians.
-		</div>
-
-		<h3>.[page:String eulerOrder]</h3>
+		<h3>[property:Euler rotation]</h3>
 		<div>
-		Order of axis for Euler angles.
+		Object's local rotation (<a href="https://en.wikipedia.org/wiki/Euler_angles" target="_blank">Euler angles</a>), in radians.
 		</div>
 
-		<h3>.[page:Vector3 scale]</h3>
+		<h3>[property:Vector3 scale]</h3>
 		<div>
 		Object's local scale.
 		</div>
 
-		<h3>.[page:Vector3 up]</h3>
+		<h3>[property:Vector3 up]</h3>
 		<div>
-		Up direction.
+		Up direction. Default is THREE.Vector3( 0, 1, 0 ).
 		</div>
 
-		<h3>.[page:Matrix4 matrix]</h3>
+		<h3>[property:Matrix4 matrix]</h3>
 		<div>
 		Local transform.
 		</div>
 
-		<h3>.[page:Quaternion quaternion]</h3>
+		<h3>[property:Quaternion quaternion]</h3>
 		<div>
-		Object's local rotation as [page:Quaternion Quaternion]. Only used when useQuaternion is set to true.
+		Object's local rotation as [page:Quaternion Quaternion].
 		</div>
 
-		<h3>.[page:Boolean useQuaternion]</h3>
+		<h3>[property:Boolean visible]</h3>
 		<div>
-		Use quaternion instead of Euler angles for specifying local rotation.
+		Object gets rendered if *true*.
 		</div>
-
-		<h3>.[page:Float renderDepth]</h3>
 		<div>
-		Override depth-sorting order if non *null*.
+		default – true
 		</div>
 
-		<h3>.[page:Boolean visible]</h3>
+		<h3>[property:Boolean castShadow]</h3>
 		<div>
-		Object gets rendered if *true*.
+		Gets rendered into shadow map.
 		</div>
-
-		<h3>.[page:Boolean castShadow]</h3>
 		<div>
-		Gets rendered into shadow map.
+		default – false
 		</div>
 
-		<h3>.[page:Boolean receiveShadow]</h3>
+		<h3>[property:Boolean receiveShadow]</h3>
 		<div>
 		Material gets baked in shadow receiving.
 		</div>
+		<div>
+		default – false
+		</div>
 
-		<h3>.[page:Boolean frustumCulled]</h3>
+		<h3>[property:Boolean frustumCulled]</h3>
 		<div>
 		When this is set, it checks every frame if the object is in the frustum of the camera. Otherwise the object gets drawn every frame even if it isn't visible.
 		</div>
+		<div>
+		default – true
+		</div>
 
-		<h3>.[page:Boolean matrixAutoUpdate]</h3>
+		<h3>[property:Boolean matrixAutoUpdate]</h3>
 		<div>
 		When this is set, it calculates the matrix of position, (rotation or quaternion) and scale every frame and also recalculates the matrixWorld property.
 		</div>
+		<div>
+		default – true
+		</div>
 
-		<h3>.[page:Boolean matrixWorldNeedsUpdate]</h3>
+		<h3>[property:Boolean matrixWorldNeedsUpdate]</h3>
 		<div>
 		When this is set, it calculates the matrixWorld in that frame and resets this property to false.
 		</div>
+		<div>
+		default – false
+		</div>
 
-		<h3>.[page:Boolean rotationAutoUpdate]</h3>
+		<h3>[property:Boolean rotationAutoUpdate]</h3>
 		<div>
 		When this is set, then the rotationMatrix gets calculated every frame.
 		</div>
+		<div>
+		default – true
+		</div>
 
-		<h3>.[page:object userData]</h3>
+		<h3>[property:object userData]</h3>
 		<div>
-		todo
-		</div> 
+		An object that can be used to store custom data about the Object3d. It should not hold references to functions as these will not be cloned.
+		</div>
 
-		<h3>.[page:Matrix4 matrixWorld]</h3>
+		<h3>[property:Matrix4 matrixWorld]</h3>
 		<div>
-		todo
-		</div> 
+		The global transform of the object. If the Object3d has no parent, then it's identical to the local transform.
+		</div>
+
 
 		<h2>Methods</h2>
-		
-		<h3>.applyMatrix( [page:Matrix4 matrix])</h3>
+
+		<h3>[page:EventDispatcher EventDispatcher] methods are available on this class.</h3>
+
+		<h3>[method:null applyMatrix]( [page:Matrix4 matrix])</h3>
 		<div>
 		matrix - matrix
 		</div>
 		<div>
 		This updates the position, rotation and scale with the matrix.
 		</div>
-		
-		<h3>.translateX( [page:Float distance] )</h3>
+
+		<h3>[method:null translateX]( [page:Float distance] )</h3>
 		<div>
 		distance - Distance.<br />
 		</div>
@@ -151,7 +167,7 @@
 		Translates object along x axis by distance.
 		</div>
 
-		<h3>.translateY( [page:Float distance] )</h3>
+		<h3>[method:null translateY]( [page:Float distance] )</h3>
 		<div>
 		distance - Distance.<br />
 		</div>
@@ -159,15 +175,15 @@
 		Translates object along y axis by distance.
 		</div>
 
-		<h3>.translateZ( [page:Float distance] )</h3>
+		<h3>[method:null translateZ]( [page:Float distance] )</h3>
 		<div>
 		distance - Distance.<br />
 		</div>
 		<div>
 		Translates object along z axis by distance.
 		</div>
-		
-		<h3>.localToWorld( [page:Vector3 vector] )</h3>
+
+		<h3>[method:Vector3 localToWorld]( [page:Vector3 vector] )</h3>
 		<div>
 		vector - A local vector.<br />
 		</div>
@@ -175,7 +191,7 @@
 		Updates the vector from local space to world space.
 		</div>
 
-		<h3>.worldToLocal( [page:Vector3 vector] )</h3>
+		<h3>[method:Vector3 worldToLocal]( [page:Vector3 vector] )</h3>
 		<div>
 		vector - A world vector.<br />
 		</div>
@@ -183,7 +199,7 @@
 		Updates the vector from world space to local space.
 		</div>
 
-		<h3>.lookAt( [page:Vector3 vector] )</h3>
+		<h3>[method:null lookAt]( [page:Vector3 vector] )</h3>
 		<div>
 		vector - A world vector to look at.<br />
 		</div>
@@ -191,88 +207,100 @@
 		Rotates object to face point in space.
 		</div>
 
-		<h3>.add( [page:Object3D object] )</h3>
+		<h3>[method:null add]( [page:Object3D object], ... )</h3>
 		<div>
 		object - An object.<br />
 		</div>
 		<div>
-		Adds *object* as child of this object.
+		Adds *object* as child of this object. An arbitrary number of objects may be added.
 		</div>
 
-		<h3>.remove( [page:Object3D object] )</h3>
+		<h3>[method:null remove]( [page:Object3D object], ... )</h3>
 		<div>
 		object - An object.<br />
 		</div>
 		<div>
-		Removes *object* as child of this object.
+		Removes *object* as child of this object. An arbitrary number of objects may be removed.
 		</div>
 
-		<h3>.traverse( [page:Function callback] )</h3>
+		<h3>[method:null traverse]( [page:Function callback] )</h3>
 		<div>
-		callback - An Function with as first argument an object3D object.<br />
+		callback - A function with as first argument an object3D object.<br />
 		</div>
 		<div>
-		Executes the callback on this object and all descendants. 
+		Executes the callback on this object and all descendants.
 		</div>
-
-		<h3>.getDescendants( [page:Array array] )</h3>
+		
+		<h3>[method:null traverseVisible]( [page:Function callback] )</h3>
+		<div>
+		callback - A function with as first argument an object3D object.<br />
+		</div>
+		<div>
+		Like traverse, but the callback will only be executed for visible objects.
+		Descendants of invisible objects are not traversed.
+		</div>
+		
+		<h3>[method:null traverseAncestors]( [page:Function callback] )</h3>
 		<div>
-		array - optional argument that returns the the array with descendants.<br />
+		callback - A function with as first argument an object3D object.<br />
 		</div>
 		<div>
-		Searches whole subgraph recursively to add all objects in the array.
+		Executes the callback on this object and all ancestors.
 		</div>
 
-		<h3>.updateMatrix()</h3>
+		<h3>[method:null updateMatrix]()</h3>
 		<div>
 		Updates local transform.
 		</div>
 
-		<h3>.updateMatrixWorld( [page:Boolean force] )</h3>
+		<h3>[method:null updateMatrixWorld]( [page:Boolean force] )</h3>
 		<div>
 		Updates global transform of the object and its children.
 		</div>
 
-		<h3>.clone()</h3>
+		<h3>[method:Object3D clone]()</h3>
 		<div>
 		Creates a new clone of this object and all descendants.
 		</div>
 
 
-		<h3>.getObjectByName([page:todo name], [page:todo recursive]) [page:todo]</h3>
+		<h3>[method:Object3D getObjectByName]([page:String name])</h3>
 		<div>
-		name -- todo <br />
-		recursive -- todo
+		name -- String to match to the children's Object3d.name property. <br />
 		</div>
 		<div>
-		todo
+		Searches through the object's children and returns the first with a matching name.
 		</div>
 
-		<h3>.translateOnAxis([page:todo axis], [page:todo distance]) [page:todo]</h3>
+		<h3>[method:Object3D getObjectById]([page:Integer id])</h3>
 		<div>
-		axis -- todo <br />
-		distance -- todo
+		id -- Unique number of the object instance<br />
 		</div>
 		<div>
-		todo
+		Searches through the object's children and returns the first with a matching id.
 		</div>
 
-		<h3>.getObjectById([page:todo id], [page:todo recursive]) [page:todo]</h3>
+		<h3>[method:Object3D translateOnAxis]([page:Vector3 axis], [page:Float distance])</h3>
 		<div>
-		id -- todo <br />
-		recursive -- todo
+		axis -- A normalized vector in object space.<br />
+		distance -- The distance to translate.
 		</div>
 		<div>
-		todo
+		Translate an object by distance along an axis in object space. The axis is assumed to be normalized.
 		</div>
 
-		<h3>.rotateOnAxis([page:todo axis], [page:todo angle]) [page:todo]</h3>
+		<h3>[method:Object3D rotateOnAxis]([page:Vector3 axis], [page:Float angle])</h3>
 		<div>
-		axis -- todo <br />
-		angle -- todo
+		axis -- A normalized vector in object space. <br />
+		angle -- The angle in radians.
 		</div>
 		<div>
-		todo
+		Rotate an object along an axis in object space. The axis is assumed to be normalized.
+		</div>
+
+		<h3>[method:Array raycast]([page:Raycaster raycaster], [page:Array intersects])</h3>
+		<div>
+		Abstract method to get intersections between a casted ray and this object. Subclasses such as [page:Mesh], [page:Line], and [page:Points] implement this method in order to participate in raycasting.
 		</div>
 
 		<h2>Source</h2>

+ 0 - 70
docs/api/core/Projector.html

@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">Projects points between spaces.</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<div>
-		todo
-		</div>
-		
-		
-		<h2>Properties</h2>
-
-		<h2>Methods</h2>
-
-		<h3>.projectVector( [page:Vector3 vector], [page:Camera camera] ) [page:Vector3]</h3>
-		<div>
-		[page:Vector3 vector] — vector to project.<br />
-		[page:Camera camera] — camera to use in the projection.<br />
-		</div>
-		<div>
-		Projects a vector with the camera. Caution, this method changes 'vector'.
-		</div>
-
-		<h3>.unprojectVector( [page:Vector3 vector], [page:Camera camera] ) [page:Vector3]</h3>
-		<div>
-		[page:Vector3 vector] — vector to unproject.<br />
-		[page:Camera camera] — camera to use in the projection.<br />
-		</div>
-		<div>
-		Unprojects a vector with the camera. Caution, this method changes 'vector'. 
-		</div>
-		
-		<h3>.pickingRay( [page:Vector3 vector], [page:Camera camera] ) [page:Raycaster]</h3>
-		<div>
-		Translates a 2D point from NDC (<em>Normalized Device Coordinates</em>) to a [page:Raycaster] that can be used for picking. NDC range from [-1..1] in x (left to right) and [1.0 .. -1.0] in y (top to bottom).
-		</div>
-
-		<h3>.projectScene( [page:Scene scene], [page:Camera camera], [page:Boolean sort] ) [page:Object]</h3>
-		<div>
-		[page:Scene scene] — scene to project.<br />
-		[page:Camera camera] — camera to use in the projection.<br />
-		[page:Boolean sort] — select whether to sort elements using the <a href="http://en.wikipedia.org/wiki/Painter%27s_algorithm">Painter's algorithm</a>.
-		</div>
-		
-		<div>
-		Transforms a 3D [page:Scene scene] object into 2D render data that can be rendered in a screen with your renderer of choice, projecting and clipping things out according to the used camera.
-		</div>
-		<div>
-		If the <em>scene</em> were a real scene, this method would be the equivalent of taking a picture with the <em>camera</em> (and developing the film would be the next step, using a Renderer).
-		</div>
-
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 101 - 19
docs/api/core/Raycaster.html

@@ -2,27 +2,77 @@
 <html lang="en">
 	<head>
 		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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 makes raycasting easier. Raycasting is used for picking and more.
+		</div>
+
+		<h2>Example</h2>
+		<code>
+		var raycaster = new THREE.Raycaster();
+		var mouse = new THREE.Vector2();
+
+		function onMouseMove( event ) {
+
+			// calculate mouse position in normalized device coordinates
+			// (-1 to +1) for both components
+
+			mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
+			mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;		
+		
+		}
+
+		function render() {
+
+			// update the picking ray with the camera and mouse position	
+			raycaster.setFromCamera( mouse, camera );	
+
+			// calculate objects intersecting the picking ray
+			var intersects = raycaster.intersectObjects( scene.children );
+
+			for ( var i = 0; i < intersects.length; i++ ) {
+
+				intersects[ i ].object.material.color.set( 0xff0000 );
 			
+			}
+			
+			renderer.render( scene, camera );
+
+		}
+
+		window.addEventListener( 'mousemove', onMouseMove, false );
+
+		window.requestAnimationFrame(render);
+
+		</code>
+		<div>Examples: [example:webgl_interactive_cubes Raycasting to a Mesh], 
+			[example:webgl_interactive_cubes_ortho Raycasting to a Mesh in using an OrthographicCamera], 
+			[example:webgl_interactive_buffergeometry Raycasting to a Mesh with BufferGeometry], 
+			[example:webgl_interactive_lines Raycasting to a Line], 
+			[example:webgl_interactive_raycasting_pointcloud Raycasting to a Points], 
+			[example:webgl_geometry_terrain_raycast Terrain raycasting], 
+			[example:webgl_octree_raycasting Raycasting using an octree],
+			[example:webgl_interactive_voxelpainter Raycasting to paint voxels]</div>
+
+
+		<div>
 		</div>
 
 
 		<h2>Constructor</h2>
 
-
 		<h3>[name]( [page:Vector3 origin], [page:Vector3 direction], [page:Float near], [page:Float far] ) {</h3>
 		<div>
 		[page:Vector3 origin] — The origin vector where the ray casts from.<br />
-		[page:Vector3 direction] — The direction vector that  gives direction to the ray.<br />
-		[page:Float near] — All results returned are further away then near. Near can't be negative. Default value is 0.<br />
+		[page:Vector3 direction] — The direction vector that gives direction to the ray. Should be normalized.<br />
+		[page:Float near] — All results returned are further away than near. Near can't be negative. Default value is 0.<br />
 		[page:Float far] — All results returned are closer then far. Far can't be lower then near . Default value is Infinity.
 		</div>
 		<div>
@@ -32,55 +82,87 @@
 
 		<h2>Properties</h2>
 
-		<h3>.[page:Ray ray]</h3>
+		<h3>[property:Ray ray]</h3>
 		<div>
 		The Ray used for the raycasting.
 		</div>
 
-		<h3>.[page:float near]</h3>
+		<h3>[property:float near]</h3>
 		<div>
 		The near factor of the raycaster. This value indicates which objects can be discarded based on the distance.<br />
-		This value shouldn't be negative and should be smaller then the far property. 
+		This value shouldn't be negative and should be smaller than the far property. 
 		</div>
 
-		<h3>.[page:float far]</h3>
+		<h3>[property:float far]</h3>
 		<div>
 		The far factor of the raycaster. This value indicates which objects can be discarded based on the distance.<br />
-		This value shouldn't be negative and should be smaller then the far property. 
+		This value shouldn't be negative and should be larger than the near property. 
 		</div>
 
-		<h3>.[page:float precision]</h3>
+		<h3>.[page:float linePrecision]</h3>
 		<div>
-		The precision factor of the raycaster. 
+		The precision factor of the raycaster when intersecting [page:Line] objects. 
 		</div>
 
 		<h2>Methods</h2>
 
-		<h3>.set( [page:Vector3 origin], [page:Vector3 direction] )</h3>
+		<h3>[method:null set]( [page:Vector3 origin], [page:Vector3 direction] )</h3>
 		<div>
 		[page:Vector3 origin] — The origin vector where the ray casts from.<br />
-		[page:Vector3 direction] — The direction vector that  gives direction to the ray.
+		[page:Vector3 direction] — The normalized direction vector that gives direction to the ray.
 		</div>
 		<div>
 		Updates the ray with a new origin and direction.
 		</div>
 
-		<h3>.intersectObject( [page:Object3D object], [page:Boolean recursive] )</h3>
+		<h3>[method:null setFromCamera]( [page:Vector2 coords], [page:Camera camera] )</h3>
+		<div>
+		[page:Vector2 coords] — 2D coordinates of the mouse, in normalized device coordinates (NDC)---X and Y components should be between -1 and 1.<br />
+		[page:Camera camera] — camera from which the ray should originate
+		</div>
+		<div>
+		Updates the ray with a new origin and direction.
+		</div>
+
+
+		<h3>[method:Array intersectObject]( [page:Object3D object], [page:Boolean recursive] )</h3>
 		<div>
+		<p>
 		[page:Object3D object] — The object to check for intersection with the ray.<br />
 		[page:Boolean recursive] — If set, it also checks all descendants. Otherwise it only checks intersecton with the object.
+		</p>
 		</div>
 		<div>
-		checks all intersection between the ray and the object with or without the descendants.
+		Checks all intersection between the ray and the object with or without the descendants. Intersections are returned sorted by distance, closest first. An array of intersections is returned...
+        <code>
+            [ { distance, point, face, faceIndex, indices, object }, ... ]
+        </code>
+        <p>
+        [page:Float distance] – distance between the origin of the ray and the intersection<br />
+        [page:Vector3 point] – point of intersection, in world coordinates<br />
+        [page:Face3 face] – intersected face<br />
+        [page:Integer faceIndex] – index of the intersected face<br />
+        [page:Array indices] – indices of vertices comprising the intersected face<br />
+        [page:Object3D object] – the intersected object
+    	</p>
+        <p>
+        When intersecting a [page:Mesh] with a [page:BufferGeometry], the *faceIndex* will be *undefined*, and *indices* will be set; when intersecting a [page:Mesh] with a [page:Geometry], *indices* will be *undefined*. 
+        </p>
+		<p>
+		*Raycaster* delegates to the [page:Object3D.raycast raycast] method of the passed object, when evaluating whether the ray intersects the object or not. This allows [page:Mesh meshes] to respond differently to ray casting than [page:Line lines] and [page:Points pointclouds].
+		</p>
+		<p>
+		*Note* that for meshes, faces must be pointed towards the origin of the [page:.ray ray] in order to be detected; intersections of the ray passing through the back of a face will not be detected. To raycast against both faces of an object, you'll want to set the [page:Mesh.material material]'s [page:Material.side side] property to *THREE.DoubleSide*.  
+		</p>
 		</div>
 
-		<h3>.intersectObjects( [page:Array objects], [page:Boolean recursive] )</h3>
+		<h3>[method:Array intersectObjects]( [page:Array objects], [page:Boolean recursive] )</h3>
 		<div>
 		[page:Array objects] — The objects to check for intersection with the ray.<br />
 		[page:Boolean recursive] — If set, it also checks all descendants of the objects. Otherwise it only checks intersecton with the objects.
 		</div>
 		<div>
-		checks all intersection between the ray and the objects with or without the descendants.
+		Checks all intersection between the ray and the objects with or without the descendants. Intersections are returned sorted by distance, closest first. Intersections are of the same form as those returned by [page:.intersectObject].
 		</div>
 
 

+ 143 - 0
docs/api/examples/Lut.html

@@ -0,0 +1,143 @@
+<!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">
+		Represents a lookup table for colormaps. It is used to determine the color values from a range of data values.
+		</div>
+
+
+		<h2>Example</h2>
+		<code>var lut = new THREE.Lut( "rainbow", 512 );</code>
+		<code>var data = [0, 10.1, 4.2, 3.4, 63, 28];</code>
+		<code>lut.setMax(63);</code>
+		<code>color = lut.getColor(10);</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( colormap, numberOfColors )</h3>
+                <div>
+                colormap - optional argument that sets a colormap from predefined colormaps. Available colormaps are : "rainbow", "cooltowarm", "blackbody".
+                numberOfColors - optional argument that sets the number of colors used to represent the data array.
+		</div>
+
+		<h2>Properties</h2>
+
+		<h3>[property:Float minV]</h3>
+		<div>
+		The minimum value to be represented with the lookup table. Default is 0.
+		</div>
+
+		<h3>[property:Float maxV]</h3>
+		<div>
+		The maximum value to be represented with the lookup table. Default is 1.
+		</div>
+		
+		<h3>.[legend]</h3>
+		<div>
+		The legend of the lookup table.
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null copy]( [page:Lut lut] ) [page:Lut this]</h3>
+		<div>
+		color — Lut to copy.
+		</div>
+		<div>
+		Copies given lut.
+		</div>
+		
+		<h3>.setLegendOn [parameters]</h3>
+		<div>
+		parameters - { layout: value, position: { x: value, y: value, z: value }, dimensions: { width: value, height: value } }
+		layout — Horizontal or vertical layout. Default is vertical.<br />
+		position — The position x,y,z of the legend.<br />
+		dimensions — The dimensions (width and height) of the legend.<br />
+		</div>
+		<div>
+		Sets this Lut with the legend on.
+		</div>
+		
+		<h3>.setLegendOff</h3>
+		<div>
+		</div>
+		<div>
+		Sets this Lut with the legend off.
+		</div>
+    
+    <h3>.setLegendLabels [parameters, callback]</h3>
+		<div>
+		parameters - { fontsize: value, fontface: value, title: value, um: value, ticks: value, decimal: value, notation: value }
+		fontsize — Font size to be used for labels.<br />
+		fontface — Font type to be used for labels.<br />
+		title — The title of the legend.<br />
+		um — The unit of measurements of the legend.<br />
+		ticks — The number of ticks to be displayed.<br />
+		decimal — The number of decimals to be used for legend values.<br />
+		notation — Legend notation: standard (default) or scientific.<br />
+		callback — An optional callback to be used to format the legend labels.<br />
+		</div>
+		<div>
+		Sets the labels of the legend of this Lut.
+		</div>
+
+		<h3>[method:Lut setminV]( [page:Float minV] )</h3>
+		<div>
+		minV — The minimum value to be represented with the lookup table.<br />
+		</div>
+		<div>
+		Sets this Lut with the minimum value to be represented.
+		</div>
+
+		<h3>[method:Lut setmaxV]( [page:Float maxV] )</h3>
+		<div>
+		maxV — The maximum value to be represented with the lookup table.<br />
+		</div>
+		<div>
+		Sets this Lut with the maximum value to be represented.
+		</div>
+
+		<h3>[method:Lut changeNumberOfColors]( [page:Float numberOfColors] )</h3>
+		<div>
+		numberOfColors — The number of colors to be used to represent the data array.<br />
+		</div>
+		<div>
+		Sets this Lut with the number of colors to be used.
+                </div>
+
+		<h3>[method:Lut changeColorMap]( [page:Float colorMap] )</h3>
+		<div>
+		colorMap — The name of the color map to be used to represent the data array.<br />
+		</div>
+		<div>
+		Sets this Lut with the colormap to be used.
+		</div>
+
+		<h3>[method:Lut addColorMap]( colorMapName, arrayOfColors )</h3>
+		<div>
+		Insert a new color map into the set of available color maps.
+		</div>
+
+		<h3>[method:Lut getColor]( value ) [page:Lut this]</h3>
+		<div>
+		value -- the data value to be displayed as a color.
+		</div>
+		<div>
+		Returns a Three.Color.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/math/[path].js examples/js/math/[path].js]
+	</body>
+</html>

+ 200 - 0
docs/api/examples/cameras/CombinedCamera.html

@@ -0,0 +1,200 @@
+<!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:Camera] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">A general purpose camera, for setting FOV, Lens Focal Length,
+ 		and switching between perspective and orthographic views easily.
+ 		Use this only if you do not wish to manage
+ 		both an Orthographic and Perspective Camera</div>
+
+		<h2>Examples</h2>
+
+		<div>[example:canvas_camera_orthographic2 camera / orthographic2 ]</div>
+
+		<code>//Create combined camera
+		camera = new THREE.CombinedCamera( window.innerWidth / 2, window.innerHeight / 2, 70, 1, 1000, - 500, 1000 );
+		</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([page:Number width], [page:Number height], [page:Number fov], [page:Number near], [page:Number far], [page:Number orthoNear], [page:Number orthoFar])</h3>
+		<div>
+		width -- Camera frustum width.<br />
+		height -- Camera frustum height.<br />
+		fov — Camera frustum vertical field of view in perspective view.<br />
+		near — Camera frustum near plane in perspective view.<br />
+		far — Camera frustum far plane in perspective view.<br />
+		orthoNear — Camera frustum near plane in orthographic view.<br />
+		orthoFar — Camera frustum far plane in orthographic view.
+		</div>
+		<div>
+		Creates a [name]. This initializes 2 cameras, an OrthographicCamera and a PerspectiveCamera. The default is the perspective Camera.
+		</div>
+
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:Number fov]</h3>
+		<div>
+		Gets or sets the camera frustum vertical field of view in perspective view.
+		</div>
+
+		<h3>[property:number left]</h3>
+		<div>
+		Gets or sets the camera frustum left plane in orthographic view.
+		</div>
+
+		<h3>[property:Number right]</h3>
+		<div>
+		Gets or sets the camera frustum right plane in orthographic view.
+		</div>
+
+		<h3>[property:number top]</h3>
+		<div>
+		Gets or sets the camera frustum top plane in orthographic view.
+		</div>
+
+		<h3>[property:Number bottom]</h3>
+		<div>
+		Gets or sets the camera frustum bottom plane in orthographic view.
+		</div>
+
+		<h3>[property:number zoom]</h3>
+		<div>
+		Gets or sets the zoom factor of the camera.
+		</div>
+
+		<h3>[property:number near]</h3>
+		<div>
+		Gets camera frustum near plane.
+		</div>
+
+		<h3>[property:number far]</h3>
+		<div>
+		Gets camera frustum far plane.
+		</div>
+
+		<h3>[property:Matrix4 projectionMatrix]</h3>
+		<div>
+		This is the matrix which contains the projection.
+		</div>
+
+		<h3>[property:OrthographicCamera cameraO]</h3>
+		<div>
+		Gets or sets the internal OrthographicCamera used as camera.
+		</div>
+
+		<h3>[property:PerspectiveCamera cameraP]</h3>
+		<div>
+		Gets or sets the internal PerspectiveCamera used as camera.
+		</div>
+
+		<h3>[property:boolean inOrthographicMode]</h3>
+		<div>
+		Gets whether the combinedCamera is in Orthographic Mode.
+		</div>
+
+		<h3>[property:boolean inPerspectiveMode]</h3>
+		<div>
+		Gets whether the combinedCamera is in Perspective Mode.
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null setFov]([page:Number fov])</h3>
+		<div>
+		fov --  Camera frustum vertical field of view in perspective view.
+		</div>
+		<div>
+		sets the camera frustum vertical field of view in perspective view.
+		</div>
+
+		<h3>[method:null setZoom]([page:Number zoom])</h3>
+		<div>
+		zoom -- The zoom factor.
+		</div>
+		<div>
+		Sets the zoomfactor.
+		</div>
+
+		<h3>[method:null setLens]([page:number focalLength], [page:Number frameHeight])</h3>
+		<div>
+		focalLength -- The focal length of a lens is defined as the distance from the optical center of a lens (or, the secondary principal point for a complex lens like a camera lens) to the focal point (sensor) when the lens is focused on an object at infinity. <br />
+		frameHeight -- the size of the frame in mm. (default is *35*)
+		</div>
+		<div>
+		Sets the fov based on lens data.
+		</div>
+
+		<h3>[method:null toFrontView]()</h3>
+		<div>
+		Sets the camera to view the front of the target.
+		</div>
+
+		<h3>[method:null toBackView]()</h3>
+		<div>
+		Sets the camera to view the back of the target.
+		</div>
+
+		<h3>[method:null toLeftView]()</h3>
+		<div>
+		Sets the camera to view the left of the target.
+		</div>
+
+		<h3>[method:null toRightView]()</h3>
+		<div>
+		Sets the camera to view the right of the target.
+		</div>
+
+		<h3>[method:null toTopView]()</h3>
+		<div>
+		Sets the camera to view the top.
+		</div>
+
+		<h3>[method:null toBottomView]()</h3>
+		<div>
+		Sets the camera to view the bottom.
+		</div>
+
+		<h3>[method:null setSize]([page:Number width], [page:Number height])</h3>
+		<div>
+		width -- The width of the orthographic view.<br />
+		height -- The height of the orthographic view.
+		</div>
+		<div>
+		Sets the size of the orthographic view.
+		</div>
+
+		<h3>[method:null toOrthographic]()</h3>
+		<div>
+		Change the camera to orthographic view.
+		</div>
+
+		<h3>[method:null toPerspective]()</h3>
+		<div>
+		Change the camera to Perspective view.
+		</div>
+
+		<h3>[method:null updateProjectionMatrix]()</h3>
+		<div>
+		Updates the ProjectionMatrix.
+		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/examples/js/cameras/CombinedCamera.js examples/cameras/CombinedCamera.js]
+	</body>
+</html>

+ 47 - 40
docs/api/extras/FontUtils.html

@@ -1,104 +1,111 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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">todo</div>
+		<div class="desc">A class for text operations in three.js (See [page:TextGeometry])</div>
 
 
 		<h2>Properties</h2>
 
 
 
-		<h3>.[page:number divisions]</h3>
+		<h3>[property:number divisions]</h3>
 		<div>
-		todo
+		The amount of segments in a curve. Default is 10.
 		</div> 
 
-		<h3>.[page:string style]</h3>
+		<h3>[property:string style]</h3>
 		<div>
-		todo
+		The style of the used font. Default is "normal".
 		</div> 
 
-		<h3>.[page:string weight]</h3>
+		<h3>[property:string weight]</h3>
 		<div>
-		todo
+		The weight of the used font. Default is "normal".
 		</div> 
 
-		<h3>.[page:string face]</h3>
+		<h3>[property:string face]</h3>
 		<div>
-		todo
+		The name of the font. Default is "helvetiker".
 		</div> 
 
-		<h3>.[page:object faces]</h3>
+		<h3>[property:object faces]</h3>
 		<div>
-		todo
+		All Fonts which are already loaded in.
 		</div> 
 
-		<h3>.[page:number size]</h3>
+		<h3>[property:number size]</h3>
 		<div>
-		todo
+		The size of the used Font. Default is 150.
 		</div> 
 
 		<h2>Methods</h2>
 
 
 
-		<h3>.drawText([page:todo text]) [page:todo]</h3>
+		<h3>[method:Object drawText]([page:string text])</h3>
 		<div>
-		text -- todo
+		text -- The text to draw.
 		</div>
 		<div>
-		todo
+		Calculates the path and offset of the text in the used font. It returns an  object like { paths : fontPaths, offset : width }.
 		</div>
 
-		<h3>.Triangulate([page:todo contour], [page:todo indices]) [page:todo]</h3>
+		<h3>[method:Array Triangulate]([page:Array contour], [page:Boolean indices])</h3>
 		<div>
-		contour -- todo <br />
-		indices -- todo
+		contour -- Array of vector2 to define an contour <br />
+		indices -- A boolean indicating if you need to return indices.
 		</div>
 		<div>
-		todo
+		Triangulates a contour into an array of faces.
 		</div>
 
-		<h3>.extractGlyphPoints([page:todo c], [page:todo face], [page:todo scale], [page:todo offset], [page:todo path]) [page:todo]</h3>
+		<h3>[method:Object extractGlyphPoints]([page:string c], [page:string face], [page:number scale], [page:number offset], [page:Path path])</h3>
 		<div>
-		c -- todo <br />
-		face -- todo <br />
-		scale -- todo <br />
-		offset -- todo <br />
-		path -- todo
+		c -- The character to extract. <br />
+		face -- The face to use. <br />
+		scale -- The scale of the character. <br />
+		offset -- The offset of the character compared to begin of the path. <br />
+		path -- The path to which to add the character points.
 		</div>
 		<div>
-		todo
+		This ectracts the glyphPoints of the character of the face and returns an object containing the path and the new offset.
 		</div>
 
-		<h3>.generateShapes([page:todo text], [page:todo parameters]) [page:todo]</h3>
+		<h3>[method:Array generateShapes]([page:string text], [page:Object parameters])</h3>
 		<div>
-		text -- todo <br />
-		parameters -- todo
+		text -- The text to generate the shapes from.<br />
+		parameters -- The parameter containing <br />
+			size -- Default is 100.
+			curveSegments -- Default is 4.
+			font -- Default is "helvetiker".
+			weight -- Default is "normal".
+			style -- Default is "normal".
+
 		</div>
 		<div>
-		todo
+		Generates shapes from the text and return them as an Array of [page:Shape].
 		</div>
 
-		<h3>.loadFace([page:todo data]) [page:todo]</h3>
+		<h3>[method:Object loadFace]([page:Object data])</h3>
 		<div>
-		data -- todo
+		data -- The data of the face.
 		</div>
 		<div>
-		todo
+		This loads and saves the data of the face and return the data. When you add the font Data as javascriptfile, then this automatically get called. So there is no need to do this yourself.
 		</div>
 
-		<h3>.getFace() [page:todo]</h3>
+		<h3>[method:Object getFace]()</h3>
 		<div>
-		todo
+		Returns the used font its data based on its style and weight.
 		</div>
 
 		<h2>Source</h2>

+ 9 - 51
docs/api/extras/GeometryUtils.html

@@ -1,10 +1,11 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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>
@@ -16,17 +17,11 @@
 
 		<h3> .merge( [page:Geometry geometry1] , [page:Geometry geometry2], [page:Integer materialIndexOffset] )</h3>
 		<div>
-		geometry1 — Parent geomentry element <br />
+		geometry1 — Parent geometry element <br />
 		geometry2 — Geometry that need to be added in parent <br />
 		materialIndexOffset — Offset applied to the materialIndex of all the new faces in the merged geometry. Default : 0 <br />
 		</div>
 
-		<h3> .removeMaterials( [page:Geometry geometry1] , [page:Material materialIndexArray] )</h3>
-		<div>
-		geometry — Geometry that need to remove material <br />
-		materialIndex — Material index<br />
-		</div>
-
 		<h3> .randomPointInTriangle( [page:Vector VectorA] , [page:Vector VectorB]  , [page:Vector VectorC])</h3>
 		<div>
 		VectorA — Vector  <br />
@@ -37,26 +32,8 @@
 
 		</div>
 
-		<h3> .randomPointInFace( [page:face Face] , [page:geometry Geometry]  , [page:Boolean useCachedAreas])</h3>
-		<div>
-		Face — Face id<br />
-		Geometry — Geometry that contains the Face  <br />
-		useCachedAreas — Flag to use cached areas. Default : False  <br />
-
-		 returns [page:Int Point]
-
-		</div>
-
-		<h3> .randomPointsInGeometry( [page:geometry Geometry]  , [page:Integer Points])</h3>
-		<div>
-		Geometry — Geometry  <br />
-
-		 returns [page:Int Point]
-
-		</div>
-
-
-		<h3> .triangleArea ( [page:Vector VectorA] , [page:Vector VectorB]  , [page:Vector VectorC]) </h3>
+		
+		<h3> .center ( [page:Vector VectorA] , [page:Vector VectorB]  , [page:Vector VectorC]) </h3>
 
 		<div>
 		VectorA — Vector  <br />
@@ -67,7 +44,7 @@
 
 		</div>
 
-		<h3> .center ( [page:geometry Geometry] ) </h3>
+		<h3> .center ( [page:Geometry geometry] ) </h3>
 
 		<div>
 
@@ -75,25 +52,6 @@
 
 		</div>
 
-		<h3> .triangulateQuads ( [page:geometry Geometry] ) </h3>
-
-		<div>
-
-		Geometry — Geometry to triangulate Quads <br />
-
-		</div>
-
-		<h3> .setMaterialIndex ( [page:geometry Geometry] , [page:Integer index], [page:Face startFace], [page:Face endFace]) </h3>
-
-		<div>
-
-		Geometry — Geometry <br />
-		Index — New index value for the material <br />
-		startFace — Starting range of Face <br />
-		endFace — Final range of Face  <br />
-
-		</div>
-
 
 		<h2>Source</h2>
 

+ 38 - 54
docs/api/extras/ImageUtils.html

@@ -1,100 +1,84 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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">todo</div>
+		<div class="desc">A Helper class to ease the loading of images of different types.</div>
 		
 
 		<h2>Properties</h2>
 
 
 
-		<h3>.[page:string crossOrigin]</h3>
+		<h3>[property:string crossOrigin]</h3>
 		<div>
-		todo
+		The crossOrigin string to implement CORS for loading the image from a different domain that allows CORS.
 		</div> 
 
 		<h2>Methods</h2>
 
 
 
-		<h3>.generateDataTexture([page:todo width], [page:todo height], [page:todo color]) [page:todo]</h3>
+		<h3>[method:DataTexture generateDataTexture]([page:Number width], [page:Number height], [page:Number color])</h3>
 		<div>
-		width -- todo <br />
-		height -- todo <br />
-		color -- todo
+		width -- The width of the texture. <br />
+		height -- The height of the texture. <br />
+		color -- The hexadecimal value of the color.
 		</div>
 		<div>
-		todo
+		Generates a texture of a single color. It is a DataTexture with format, RGBFormat.
 		</div>
 
-		<h3>.parseDDS([page:todo buffer], [page:todo loadMipmaps]) [page:todo]</h3>
+		<h3>[method:CompressedTexture parseDDS]([page:String buffer], [page:boolean loadMipmaps])</h3>
 		<div>
-		buffer -- todo <br />
-		loadMipmaps -- todo
+		buffer -- A string containing the data of the dds. <br />
+		loadMipmaps -- A boolean to indicate if you need to load the mipmaps. Default is True.
 		</div>
 		<div>
-		todo
+		Parses a DDS Image from the string into a CompressedTexture. 
 		</div>
 
-		<h3>.loadCompressedTexture([page:todo url], [page:todo mapping], [page:todo onLoad], [page:todo onError]) [page:todo]</h3>
+		<h3>[method:Texture loadTexture]([page:String url], [page:UVMapping mapping], [page:Function onLoad], [page:Function onError])</h3>
 		<div>
-		url -- todo <br />
-		mapping -- todo <br />
-		onLoad -- todo <br />
-		onError -- todo
+		url -- the url of the texture<br />
+		mapping -- Can be an instance of [page:UVMapping THREE.UVMapping], [page:CubeReflectionMapping THREE.CubeReflectionMapping] or [page:SphericalReflectionMapping THREE.SphericalReflectionMapping]. Describes how the image is applied to the object.<br />Use undefined instead of null as a default value. See mapping property of [page:Texture texture] for more details. <br/>
+		onLoad -- callback function<br />
+		onError -- callback function
 		</div>
 		<div>
-		todo
+		A helper function to generates a [page:Texture THREE.Texture] from an image URL. Provides a load and error
+		callback.
 		</div>
 
-		<h3>.loadTexture([page:todo url], [page:todo mapping], [page:todo onLoad], [page:todo onError]) [page:todo]</h3>
+		<h3>[method:canvas getNormalMap]([page:Image image], [page:Float depth])</h3>
 		<div>
-		url -- todo <br />
-		mapping -- todo <br />
-		onLoad -- todo <br />
-		onError -- todo
+		image -- A loaded image element <br />
+		depth -- The depth of the normal map. Defaults to between -1 and 1.
 		</div>
 		<div>
-		todo
+		Translates an image element into a normal map with the range (-1, -1, -1) to (1, 1, 1) multiplied by the depth.
+		Returns a canvas element.
 		</div>
 
-		<h3>.getNormalMap([page:todo image], [page:todo depth]) [page:todo]</h3>
+		<h3>[method:CubeTexture loadTextureCube]([page:Array array], [page:Textures mapping], [page:function onLoad], [page:function onError])</h3>
 		<div>
-		image -- todo <br />
-		depth -- todo
+		array -- An array of 6 images <br />
+		mapping -- Either [page:Textures THREE.CubeReflectionMapping] or [page:Textures THREE.CubeRefractionMapping]<br />
+		onLoad -- callback <br />
+		onError -- callback
 		</div>
 		<div>
-		todo
-		</div>
-
-		<h3>.loadCompressedTextureCube([page:todo array], [page:todo mapping], [page:todo onLoad], [page:todo onError]) [page:todo]</h3>
-		<div>
-		array -- todo <br />
-		mapping -- todo <br />
-		onLoad -- todo <br />
-		onError -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.loadTextureCube([page:todo array], [page:todo mapping], [page:todo onLoad], [page:todo onError]) [page:todo]</h3>
-		<div>
-		array -- todo <br />
-		mapping -- todo <br />
-		onLoad -- todo <br />
-		onError -- todo
-		</div>
-		<div>
-		todo
+		Creates a [page:CubeTexture] from 6 images.<br /><br />
+		
+		The images are loaded in the following order where p is positiive and n is negative: [ px, nx, py, ny, pz, nz ].
+		See [page:CubeTexture] for an example in code.
 		</div>
 
 		<h2>Source</h2>

+ 21 - 19
docs/api/extras/SceneUtils.html

@@ -1,47 +1,49 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../list.js"></script>
-		<script src="../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../page.css" />
+		<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">todo</div>
+		<div class="desc">A class containing useful utility functions for scene manipulation.</div>
 
 
 		<h2>Methods</h2>
 
 
-		<h3>.createMultiMaterialObject([page:todo geometry], [page:todo materials]) [page:todo]</h3>
+		<h3>[method:Object3D createMultiMaterialObject]([page:Geometry geometry], [page:Array materials])</h3>
 		<div>
-		geometry -- todo <br />
-		materials -- todo
+		geometry -- The geometry for the Object. <br />
+		materials -- The materials for the object.
 		</div>
 		<div>
-		todo
+		Creates an new Object3D an new mesh for each material defined in materials. Beware that this is not the same as Meshfacematerial which defines multiple material for 1 mesh.<br />
+		This is mostly useful for object that need a material and a wireframe implementation.
 		</div>
 
-		<h3>.attach([page:todo child], [page:todo scene], [page:todo parent]) [page:todo]</h3>
+		<h3>[method:null attach]([page:Object3D child], [page:Object3D scene], [page:Object3D parent])</h3>
 		<div>
-		child -- todo <br />
-		scene -- todo <br />
-		parent -- todo
+		child -- The object to add to the parent  <br />
+		scene -- The scene to detach the object on. <br />
+		parent -- The parent to attach the object from.
 		</div>
 		<div>
-		todo
+		Attaches the object to the parent without the moving the object in the worldspace. Beware that to do this the matrixWorld needs to be updated, this can be done by calling the updateMatrixWorld method on the parent object.
 		</div>
 
-		<h3>.detach([page:todo child], [page:todo parent], [page:todo scene]) [page:todo]</h3>
+		<h3>[method:null detach]([page:Object3D child], [page:Object3D parent], [page:Object3D scene])</h3>
 		<div>
-		child -- todo <br />
-		parent -- todo <br />
-		scene -- todo
+		child -- The object to remove from the parent  <br />
+		scene -- The scene to attach the object on. <br />
+		parent -- The parent to detach the object from.
 		</div>
 		<div>
-		todo
+		Detaches the object from the parent and adds it back to the scene without moving in worldspace. Beware that to do this the matrixWorld needs to be updated, this can be done by calling the updateMatrixWorld method on the parent object.
 		</div>
 
 		<h2>Source</h2>

+ 55 - 71
docs/api/extras/animation/Animation.html

@@ -1,142 +1,126 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">This class animates an object based on an hierarchy. This hierarchy can be Object3ds or bones.</div>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo root], [page:todo name], [page:todo interpolationType])</h3>
+		<h3>[name]([page:Object3d root], [page:String name])</h3>
 		<div>
-		root -- todo <br />
-		name -- todo <br />
-		interpolationType -- todo
+		root -- The mesh to animate. <br />
+		name -- The name of the animation
 		</div>
 		<div>
-		todo
+		Creates an animation for root. The animation data is gathered from AnimationHandler based on its name.
 		</div>
 
 		<h2>Properties</h2>
 
-		<h3>.[page:todo root]</h3>
+		<h3>[property:Object3d root]</h3>
 		<div>
-		todo
-		</div> 
+		The root object of the animation.
+		</div>
 
-		<h3>.[page:todo data]</h3>
-		<div>
-		todo
-		</div> 
-		
-		<h3>.[page:todo hierarchy]</h3>
+		<h3>[property:Object data]</h3>
 		<div>
-		todo
+		The data containing the animation
 		</div>
 
-		<h3>.[page:number currentTime]</h3>
+		<h3>[property:Array hierarchy]</h3>
 		<div>
-		todo
+		The objects that are influenced by the animation.
 		</div>
-		
-		<h3>.[page:number timeScale]</h3>
+
+		<h3>[property:number currentTime]</h3>
 		<div>
-		todo
+		The time elapsed since the last start/restart of the animation.
 		</div>
 
-		<h3>.[page:boolean isPlaying]</h3>
+		<h3>[property:number timeScale]</h3>
 		<div>
-		todo
+		How much to scale the speed of the animation. Defaults to 1.
 		</div>
-		
-		<h3>.[page:boolean isPaused]</h3>
+
+		<h3>[property:boolean isPlaying]</h3>
 		<div>
-		todo
+		Indicates whether the animation is playing. This shouldn't be adapted by user code.
 		</div>
-		
-		<h3>.[page:boolean loop]</h3>
-		<div>
-		todo
-		</div> 
-		
-		<h3>.[page:number interpolationType]</h3>
-		<div>
-		todo
-		</div> 
 
-		<h3>.[page:array points]</h3>
+		<h3>[property:boolean isPaused]</h3>
 		<div>
-		todo
+		Indicates whether the animation is paused. This shouldn't be adapted by user code.
 		</div>
-		
-		<h3>.[page:Vector3 target]</h3>
+
+		<h3>[property:boolean loop]</h3>
 		<div>
-		todo
+		Set to make the animation restart when the animation ends.
 		</div>
 
-		<h2>Methods</h2>
-		
-		<h3>.play() [page:todo]</h3>
+		<h3>[property:number interpolationType]</h3>
 		<div>
-		todo
+		The type to indicate how to interpolate between 2 data points.
 		</div>
 
-		<h3>.pause() [page:todo]</h3>
+		<h2>Methods</h2>
+
+		<h3>[method:null play]([page:Number startTime])</h3>
 		<div>
-		todo
+		Starts the animation at the startTime (in seconds) of the animation.
 		</div>
 
-		<h3>.stop() [page:todo]</h3>
+		<h3>[method:null stop]()</h3>
 		<div>
-		todo
+		Stops the animation.
 		</div>
 
-		<h3>.update([page:todo deltaTimeMS]) [page:todo]</h3>
+		<h3>[method:Boolean update]([page:Number deltaTimeMS])</h3>
 		<div>
-		deltaTimeMS -- todo
+		deltaTimeMS -- The time of the between the previous frame and this frame in miliseconds.
 		</div>
 		<div>
-		todo
+		Updates the animation in time. This shouldn't be called by user code. The animationHandler calls this method.
 		</div>
 
-		<h3>.interpolateCatmullRom([page:todo points], [page:todo scale]) [page:todo]</h3>
+		<h3>[method:array interpolateCatmullRom]([page:Array points], [page:Number scale])</h3>
 		<div>
-		points -- todo <br />
-		scale -- todo
+		points -- The 4 control point to calculate CatMullRom <br />
+		scale -- The scale between the previous key and the nex key
 		</div>
 		<div>
-		todo
+		Interpolates the point based on the key. Is used in update.
 		</div>
 
-		<h3>.getNextKeyWith([page:todo type], [page:todo h], [page:todo key]) [page:todo]</h3>
+		<h3>[method:Object getNextKeyWith]([page:String type], [page:Object h], [page:Number key])</h3>
 		<div>
-		type -- todo <br />
-		h -- todo <br />
-		key -- todo
+		type -- The animationtype for the key. Can be "pos", "rot" and "scl".<br />
+		h -- The object of the hierarchy that catins the key <br />
+		key -- The index of the next possible key.
 		</div>
 		<div>
-		todo
+		Gets the next key. Is used in Update.
 		</div>
 
-		<h3>.getPrevKeyWith([page:todo type], [page:todo h], [page:todo key]) [page:todo]</h3>
+		<h3>[method:Object getPrevKeyWith]([page:String type], [page:Object h], [page:Number key])</h3>
 		<div>
-		type -- todo <br />
-		h -- todo <br />
-		key -- todo
+		type -- The animationtype for the key. Can be "pos", "rot" and "scl".<br />
+		h -- The object of the hierarchy that contains the key. <br />
+		key -- The index of the prev possible key.
 		</div>
 		<div>
-		todo
+		Gets the previous key. Is used in Update.
 		</div>
 
-
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 38 - 33
docs/api/extras/animation/AnimationHandler.html

@@ -1,15 +1,20 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">
+		The AnimationHandler handles the initialisation of the Animation data and
+		the animations itself. It keeps track of every animation and if it's active or not.
+		It also update all animations which are active if its method *update* is called.
+		</div>
 
 
 		<h2>Constructor</h2>
@@ -17,77 +22,77 @@
 
 		<h3>[name]()</h3>
 		<div>
-		todo
+		The animationHandler can't be called as constructor.
 		</div>
 
 		<h2>Properties</h2>
 
 
-		<h3>.[page:number CATMULLROM]</h3>
+		<h3>[property:number CATMULLROM]</h3>
 		<div>
-		todo
-		</div> 
+		Enum Value to indicate that the animation needs to be interpolated as CATMULLROM.
+		</div>
 
-		<h3>.[page:number CATMULLROM_FORWARD]</h3>
+		<h3>[property:number CATMULLROM_FORWARD]</h3>
 		<div>
-		todo
-		</div> 
+		Enum Value to indicate that the animation needs to be interpolated as CATMULLROM_FORWARD.
+		</div>
 
-		<h3>.[page:number LINEAR]</h3>
+		<h3>[property:number LINEAR]</h3>
 		<div>
-		todo
-		</div> 
+		Enum Value to indicate that the animation needs to be interpolated as LINEAR.
+		</div>
 
 		<h2>Methods</h2>
 
 
 
-		<h3>.removeFromUpdate([page:todo animation]) [page:todo]</h3>
+		<h3>[method:null removeFromUpdate]([page:Animation animation])</h3>
 		<div>
-		animation -- todo
+		animation -- The Animation to remove from the update.
 		</div>
 		<div>
-		todo
+		Removes the animation from the update cycle. This gets called when the animation stops. This shouldn't be called by usercode.
 		</div>
 
-		<h3>.get([page:todo name]) [page:todo]</h3>
+		<h3>[method:Object get]([page:String name])</h3>
 		<div>
-		name -- todo
+		name -- The name of the animationData
 		</div>
 		<div>
-		todo
+		Gets the animationData from its library.
 		</div>
 
-		<h3>.update([page:todo deltaTimeMS]) [page:todo]</h3>
+		<h3>[method:null update]([page:Number deltaTimeMS]) </h3>
 		<div>
-		deltaTimeMS -- todo
+		deltaTimeMS -- Time elapsed since last update in milliseconds.
 		</div>
 		<div>
-		todo
+		Updates all active animations with deltaTime.
 		</div>
 
-		<h3>.parse([page:todo root]) [page:todo]</h3>
+		<h3>[method:null parse]([page:Object root])</h3>
 		<div>
-		root -- todo
+		root -- object
 		</div>
 		<div>
-		todo
+		Parses the object to get the hierachy.
 		</div>
 
-		<h3>.add([page:todo data]) [page:todo]</h3>
+		<h3>[method:null add]([page:object data])</h3>
 		<div>
-		data -- todo
+		data -- The animationData
 		</div>
 		<div>
-		todo
+		Adds the animationData from its library.
 		</div>
 
-		<h3>.addToUpdate([page:todo animation]) [page:todo]</h3>
+		<h3>[method:null addToUpdate]([page:Animation animation]) </h3>
 		<div>
-		animation -- todo
+		animation -- The Animation to add from the update.
 		</div>
 		<div>
-		todo
+		Adds the animation from the update cycle. This gets called when the animation starts. This shouldn't be called by user code.
 		</div>
 
 		<h2>Source</h2>

+ 0 - 105
docs/api/extras/animation/AnimationMorphTarget.html

@@ -1,105 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([page:todo root], [page:todo data])</h3>
-		<div>
-		root -- todo <br />
-		data -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h2>Properties</h2>
-		
-		<h3>.[page:todo root]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:todo data]</h3>
-		<div>
-		todo
-		</div> 
-		
-		<h3>.[page:todo hierarchy]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.[page:number currentTime]</h3>
-		<div>
-		todo
-		</div>
-		
-		<h3>.[page:number timeScale]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.[page:boolean isPlaying]</h3>
-		<div>
-		todo
-		</div>
-		
-		<h3>.[page:boolean isPaused]</h3>
-		<div>
-		todo
-		</div>
-		
-		<h3>.[page:boolean loop]</h3>
-		<div>
-		todo
-		</div> 
-		
-		<h3>.[page:number influence]</h3>
-		<div>
-		todo
-		</div> 
-
-
-		<h2>Methods</h2>
-
-		<h3>.play() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.pause() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.stop() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.update([page:todo deltaTimeMS]) [page:todo]</h3>
-		<div>
-		deltaTimeMS -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 52 - 69
docs/api/extras/animation/KeyFrameAnimation.html

@@ -1,132 +1,115 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">Runs a keyframe animation as imported from the [page:ColladaLoader].</div>
+
+		<h2>Examples</h2>
+
+		<div>[example:webgl_loader_collada_keyframe loader / collada / keyframe ]</div>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo root], [page:todo data], [page:todo JITCompile])</h3>
+		<h3>[name]([page:Object data])</h3>
 		<div>
-		root -- todo <br />
-		data -- todo <br />
-		JITCompile -- todo
+		data -- An individual animation object from a the [page:ColladaLoader], e.g. loadedColladaObj.animations[0] <br />
 		</div>
 		<div>
-		todo
+		Creates a new keyframe animation and initializes it to the first keyframes.
 		</div>
-		
 
-		<h2>Properties</h2>
 
-		<h3>.[page:todo root]</h3>
-		<div>
-		todo
-		</div> 
+		<h2>Properties</h2>
 
-		<h3>.[page:todo data]</h3>
-		<div>
-		todo
-		</div> 
-		
-		<h3>.[page:todo hierarchy]</h3>
+		<h3>[property:Object3D root]</h3>
 		<div>
-		todo
+		The root object of the animation
 		</div>
 
-		<h3>.[page:number currentTime]</h3>
-		<div>
-		todo
-		</div>
-		
-		<h3>.[page:number timeScale]</h3>
+		<h3>[property:Object data]</h3>
 		<div>
-		todo
+		The data containing the animation
 		</div>
 
-		<h3>.[page:boolean isPlaying]</h3>
+		<h3>[property:Array hierarchy]</h3>
 		<div>
-		todo
+		The objects that are influenced by the animation.
 		</div>
-		
-		<h3>.[page:boolean isPaused]</h3>
+
+		<h3>[property:number currentTime]</h3>
 		<div>
-		todo
+		The time elapsed since the last start/restart of the animation.
 		</div>
-		
-		<h3>.[page:boolean loop]</h3>
-		<div>
-		todo
-		</div> 
-		
-		<h3>.[page:boolean JITCompile]</h3>
+
+		<h3>[property:number timeScale]</h3>
 		<div>
-		todo
+		How much to scale the speed of the animation. Defaults to 1.
 		</div>
 
-		<h2>Methods</h2>
-		
-		<h3>.play() [page:todo]</h3>
+		<h3>[property:boolean isPlaying]</h3>
 		<div>
-		todo
+		Indicates whether the animation is playing. This shouldn't be adapted by user code.
 		</div>
 
-		<h3>.pause() [page:todo]</h3>
+		<h3>[property:boolean isPaused]</h3>
 		<div>
-		todo
+		Indicates whether the animation is paused. This shouldn't be adapted by user code.
 		</div>
 
-		<h3>.stop() [page:todo]</h3>
+		<h3>[property:boolean loop]</h3>
 		<div>
-		todo
+		Set to make the animation restart when the animation ends.
 		</div>
 
-		<h3>.update([page:todo deltaTimeMS]) [page:todo]</h3>
+		<h2>Methods</h2>
+
+		<h3>[method:null play]([page:Number startTime])</h3>
 		<div>
-		deltaTimeMS -- todo
+		Starts the animation at the startTime (in seconds) of the animation.
 		</div>
+
+		<h3>[method:null stop]()</h3>
 		<div>
-		todo
+		Stops the animation.
 		</div>
 
-		<h3>.interpolateCatmullRom([page:todo points], [page:todo scale]) [page:todo]</h3>
+		<h3>[method:null update]([page:Float deltaTime])</h3>
 		<div>
-		points -- todo <br />
-		scale -- todo
+		deltaTime -- The change in time in seconds
 		</div>
 		<div>
-		todo
+		Updates the keyframe animation
 		</div>
 
-		<h3>.getNextKeyWith([page:todo sid], [page:todo h], [page:todo key]) [page:todo]</h3>
+		<h3>[method:Object getNextKeyWith]([page:String sid], [page:Integer h], [page:Integer key])</h3>
 		<div>
-		sid -- todo <br />
-		h -- todo <br />
-		key -- todo
+		sid -- The string id <br />
+		h -- The index in the heirarchy to use<br />
+		key -- The index of which key to start from
 		</div>
 		<div>
-		todo
+		Used internally to traverse the animation
 		</div>
 
-		<h3>.getPrevKeyWith([page:todo sid], [page:todo h], [page:todo key]) [page:todo]</h3>
+		<h3>[method:Object getPrevKeyWith]([page:String sid], [page:Integer h], [page:Integer key])</h3>
 		<div>
-		sid -- todo <br />
-		h -- todo <br />
-		key -- todo
+		sid -- The string id <br />
+		h -- The index in the heirarchy to use<br />
+		key -- The index of which key to start from
 		</div>
 		<div>
-		todo
+		Used internally to traverse the animation
 		</div>
-		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 0 - 184
docs/api/extras/cameras/CombinedCamera.html

@@ -1,184 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([page:todo width], [page:todo height], [page:todo fov], [page:todo near], [page:todo far], [page:todo orthoNear], [page:todo orthoFar])</h3>
-		<div>
-		width -- todo <br />
-		height -- todo <br />
-		fov -- todo <br />
-		near -- todo <br />
-		far -- todo <br />
-		orthoNear -- todo <br />
-		orthoFar -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Properties</h2>
-
-
-
-		<h3>.[page:todo fov]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:number right]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:number bottom]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:PerspectiveCamera cameraP]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:number top]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:number zoom]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:number far]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:number near]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:boolean inPerspectiveMode]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:OrthographicCamera cameraO]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:boolean inOrthographicMode]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:number left]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h2>Methods</h2>
-
-
-
-		<h3>.toBottomView() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.setFov([page:todo fov]) [page:todo]</h3>
-		<div>
-		fov -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.toBackView() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.setZoom([page:todo zoom]) [page:todo]</h3>
-		<div>
-		zoom -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.setLens([page:todo focalLength], [page:todo frameHeight]) [page:todo]</h3>
-		<div>
-		focalLength -- todo <br />
-		frameHeight -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.toFrontView() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.toLeftView() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.updateProjectionMatrix() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.toTopView() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.toOrthographic() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.setSize([page:todo width], [page:todo height]) [page:todo]</h3>
-		<div>
-		width -- todo <br />
-		height -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.toPerspective() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h3>.toRightView() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 0 - 55
docs/api/extras/cameras/CubeCamera.html

@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([page:todo near], [page:todo far], [page:todo cubeResolution])</h3>
-		<div>
-		near -- todo <br />
-		far -- todo <br />
-		cubeResolution -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Properties</h2>
-
-
-
-		<h3>.[page:WebGLRenderTargetCube renderTarget]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h2>Methods</h2>
-
-
-
-		<h3>.updateCubeMap([page:todo renderer], [page:todo scene]) [page:todo]</h3>
-		<div>
-		renderer -- todo <br />
-		scene -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 24 - 17
docs/api/extras/core/Curve.html

@@ -1,56 +1,63 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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 extensible curve object which contains methods for interpolation.</div>
+		<div class="desc">
+		An abstract base class for creating a curve object that contains methods for interpolation.
+		For an array of Curves see [page:CurvePath].
+		</div>
+
+		<h2>Examples</h2>
 
+		<h3>[example:webgl_geometry_extrude_splines geometry / extrude / splines ]
 
 		<h2>Constructor</h2>
 
 
 		<h3>[name]()</h3>
 		<div>
-		todo
+		This constructor creates a new [name].
 		</div>
 
 
 		<h2>Methods</h2>
 
-		<h3>.getPoint ( t )</h3>
-		<div>Returns a vector for point t of the curve where t is between 0 and 1</div>
+		<h3>[method:Vector getPoint]( t )</h3>
+		<div>Returns a vector for point t of the curve where t is between 0 and 1. Must be implemented in the extending class.</div>
 
-		<h3>.getPointAt ( u )</h3>
+		<h3>[method:Vector getPointAt]( u )</h3>
 		<div>Returns a vector for point at relative position in curve according to arc length</div>
 
-		<h3>.getPoints ( divisions )</h3>
+		<h3>[method:Array getPoints]( divisions )</h3>
 		<div>Get sequence of points using getPoint( t ) </div>
 
-		<h3>.getSpacedPoints ( divisions )</h3>
+		<h3>[method:Array getSpacedPoints]( divisions )</h3>
 		<div>Get sequence of equi-spaced points using getPointAt( u )</div>
 
-		<h3>.getLength ()</h3>
+		<h3>[method:Float getLength]()</h3>
 		<div>Get total curve arc length</div>
 
-		<h3>.getLengths ( divisions )</h3>
+		<h3>[method:Array getLengths]( divisions )</h3>
 		<div>Get list of cumulative segment lengths</div>
 
-		<h3>.updateArcLengths ()</h3>
+		<h3>[method:null updateArcLengths]()</h3>
 		<div>Update the cumlative segment distance cache</div>
 
-		<h3>.getUtoTmapping ( u, distance )</h3>
+		<h3>[method:Float getUtoTmapping]( u, distance )</h3>
 		<div>Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant</div>
 
-		<h3>.getTangent ( t )</h3>
+		<h3>[method:Vector getTangent]( t )</h3>
 		<div>Returns a unit vector tangent at t. If the subclassed curve do not implement its tangent derivation, 2 points a small delta apart will be used to find its gradient which seems to give a reasonable approximation</div>
 
-		<h3>.getTangentAt ( u )</h3>
+		<h3>[method:Vector getTangentAt]( u )</h3>
 		<div>Returns tangent at equidistant point u on the curve</div>
 
 

+ 61 - 55
docs/api/extras/core/CurvePath.html

@@ -1,15 +1,21 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Curve] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">
+		An abstract base class further extending [page:Curve]. A CurvePath is simply an array of connected curves,
+		but retains the api of a curve.
+		</div>
 
 
 		<h2>Constructor</h2>
@@ -17,116 +23,116 @@
 
 		<h3>[name]()</h3>
 		<div>
-		todo
+		The constructor take no parameters.
 		</div>
 
 
 		<h2>Properties</h2>
-		
 
-		<h3>.[page:array curves]</h3>
+
+		<h3>[property:array curves]</h3>
 		<div>
-		todo
-		</div> 
+		The array of [page:Curve]s
+		</div>
 
-		<h3>.[page:array bends]</h3>
+		<h3>[property:array bends]</h3>
 		<div>
-		todo
-		</div> 
+		An array of [page:Curve]s used to transform and bend the curve using [page:CurvePath.getWrapPoints].
+		</div>
 
-		<h3>.[page:boolean autoClose]</h3>
+		<h3>[property:boolean autoClose]</h3>
 		<div>
-		todo
-		</div> 
+		Whether or not to automatically close the path.
+		</div>
 
 		<h2>Methods</h2>
 
 
-		<h3>.getWrapPoints([page:todo oldPts], [page:todo path]) [page:todo]</h3>
+		<h3>[method:Array getWrapPoints]([page:Array vertices], [page:Curve curve])</h3>
 		<div>
-		oldPts -- todo <br />
-		path -- todo
+		vertices -- An array of [page:Vector2]s to modify<br />
+		curve -- An array of 2d [page:Curve]s
 		</div>
 		<div>
-		todo
+		Modifies the array of vertices by warping it by the curve. The curve parameter also accepts objects with similar
+		interfaces such as [page:CurvePath], [page:Path], [page:SplineCurve], etc. Returns the original vertices after
+		modification.
 		</div>
 
-		<h3>.createPointsGeometry([page:todo divisions]) [page:todo]</h3>
+		<h3>[method:null addWrapPath]([page:Curve curve])</h3>
 		<div>
-		divisions -- todo
+		curve -- A [page:Curve] or object with a similar interface.
 		</div>
 		<div>
-		todo
+		Pushes a curve onto the bends array.
 		</div>
 
-		<h3>.addWrapPath([page:todo bendpath]) [page:todo]</h3>
+		<h3>[method:Geometry createGeometry]([page:Vector3 points])</h3>
 		<div>
-		bendpath -- todo
+		points -- An array of [page:Vector3]s
 		</div>
 		<div>
-		todo
+		Creates a geometry from points
 		</div>
 
-		<h3>.createGeometry([page:todo points]) [page:todo]</h3>
+		<h3>[method:Geometry createPointsGeometry]([page:Integer divisions])</h3>
 		<div>
-		points -- todo
+		divisions -- How many segments to create with [page:Vector3]s. Defaults to 12.
 		</div>
 		<div>
-		todo
+		Creates a [page:Geometry] object comprised of [page:Vector3]s
 		</div>
 
-		<h3>.add([page:todo curve]) [page:todo]</h3>
+		<h3>[method:Geometry createSpacedPointsGeometry]([page:Integer divisions])</h3>
 		<div>
-		curve -- todo
+		divisions -- How many segments to create with [page:Vector3]s. Defaults to 12.
 		</div>
 		<div>
-		todo
+		Creates a [page:Geometry] object comprised of [page:Vector3]s that are equidistant.
 		</div>
 
-		<h3>.getTransformedSpacedPoints([page:todo segments], [page:todo bends]) [page:todo]</h3>
-		<div>
-		segments -- todo <br />
-		bends -- todo
-		</div>
-		<div>
-		todo
-		</div>
 
-		<h3>.createSpacedPointsGeometry([page:todo divisions]) [page:todo]</h3>
+		<h3>[method:null add]([page:Curve curve])</h3>
 		<div>
-		divisions -- todo
+		curve -- The [page:Curve curve] to add
 		</div>
 		<div>
-		todo
+		Pushes a curve onto the curves array.
 		</div>
 
-		<h3>.closePath() [page:todo]</h3>
+		<h3>[method:null closePath]()</h3>
 		<div>
-		todo
+		Adds a curve to close the path.
 		</div>
 
-		<h3>.getBoundingBox() [page:todo]</h3>
+		<h3>[method:Object getBoundingBox]()</h3>
 		<div>
-		todo
+		Returns an object with the keys minX, minY, maxX, maxY, (if 3d: maxZ, minZ)
 		</div>
 
-		<h3>.getCurveLengths() [page:todo]</h3>
+		<h3>[method:Float getCurveLengths]()</h3>
 		<div>
-		todo
+		Adds together the length of the curves
 		</div>
 
-		<h3>.getTransformedPoints([page:todo segments], [page:todo bends]) [page:todo]</h3>
+		<h3>[method:Array getTransformedPoints]([page:Integer segments], [page:Array bends])</h3>
 		<div>
-		segments -- todo <br />
-		bends -- todo
+		segments -- The number of segments to create using the getPoints()<br />
+		bends -- (optional) An array of [page:Curve]s used to transform the points. Defaults to this.bends if blank.
 		</div>
 		<div>
-		todo
+		Uses this CurvePath to generate a series of points transformed by the curves in the bends array. Returns an
+		array of [page:Vector2]s.
 		</div>
 
-		<h3>.checkConnection() [page:todo]</h3>
+		<h3>[method:Array getTransformedSpacedPoints]([page:Integer segments], [page:Array bends])</h3>
+		<div>
+		segments -- The number of segments to create using the getPoints()<br />
+		bends -- (optional) Defaults to this.bends if blank. An array of [page:Curve]s used to transform the points.
+		</div>
 		<div>
-		todo
+		Uses this CurvePath to generate a series equidistant points that are then transformed by the curves in the bends.
+	    Returns an array of [page:Vector2]s.
 		</div>
 
 		<h2>Source</h2>

+ 20 - 46
docs/api/extras/core/Gyroscope.html

@@ -1,63 +1,37 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<div>
-		todo
-		</div>
+		[page:Object3D] &rarr;
 
+		<h1>[name]</h1>
 
-		<h2>Properties</h2>
-
-
-
-		<h3>.[page:Vector3 scaleWorld]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:Vector3 translationWorld]</h3>
-		<div>
-		todo
-		</div> 
+		<div class="desc">An Object3d that rotates independently of its parent objects, but keeps the position and scale.</div>
 
-		<h3>.[page:Quaternion rotationWorld]</h3>
-		<div>
-		todo
-		</div> 
+		<code>
+		var root = new THREE.Group();
+		var gyro = new THREE.Gyroscope();
+		var cube = new THREE.Mesh( geometry, material );
 
-		<h3>.[page:Vector3 translationObject]</h3>
-		<div>
-		todo
-		</div> 
+		root.add( gyro )
+		gyro.add( cube )
 
-		<h3>.[page:Vector3 scaleObject]</h3>
-		<div>
-		todo
-		</div> 
+		cube.position.x = 10;
+		root.rotation.y = Math.PI;
 
-		<h3>.[page:Quaternion rotationObject]</h3>
-		<div>
-		todo
-		</div> 
+		// The cube will have changed its position but maintained its orientation
+		</code>
 
-		<h2>Methods</h2>
+		<h2>Constructor</h2>
 
 
+		<h3>[name]()</h3>
 
 		<h2>Source</h2>
 

+ 83 - 33
docs/api/extras/core/Path.html

@@ -1,71 +1,121 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">A 2d path representation, comprising of points, lines, and cubes,  similar to the html5 2d canvas api. It extends CurvePath.</div>
+		<div class="desc">
+		A 2d path representation, comprising of points, lines, and cubes, similar to the html5 2d canvas api.
+		It extends [page:CurvePath].
+		</div>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo points])</h3>
+		<h3>[name]([page:Array points])</h3>
 		<div>
-		points -- todo
+		points -- array of Vector2
 		</div>
 		<div>
-		todo
+		Creates a Path from the points. The first vector defines the offset. After that the lines get defined.
 		</div>
 
 
 		<h2>Properties</h2>
 
 
-		<h3>.[page:array actions]</h3>
+		<h3>[property:array actions]</h3>
 		<div>
-		todo
-		</div> 
+		The possible actions that define the path.
+		</div>
 
 		<h2>Methods</h2>
 
-		<h3>.fromPoints ( vectors ) </h3>
-		<div>todo</div>
+		<h3>[method:null fromPoints]( [page:Array vector2s] )</h3>
+		<div>
+		Adds to the Path from the points. The first vector defines the offset. After that the lines get defined.
+		</div>
 
-		<h3>.moveTo ( x, y ) </h3>
-		<div>todo</div>
+		<h3>[method:null moveTo]( [page:Float x], [page:Float y] )</h3>
+		<div>This moves the offset to x and y</div>
 
-		<h3>.lineTo ( x, y ) </h3>
-		<div>todo</div>
+		<h3>[method:null lineTo]( [page:Float x], [page:Float y] )</h3>
+		<div>This creates a line from the offset to X and Y and updates the offset to X and Y.</div>
 
-		<h3>.quadraticCurveTo ( aCPx, aCPy, aX, aY ) </h3>
-		<div>todo</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 offset to x and y with cpX and cpY as control point and updates the offset to x and y.</div>
 
-		<h3>.bezierCurveTo ( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) </h3>
-		<div>todo</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 last offset to x and y with cp1X, cp1Y and cp1X, cp1Y as control points and updates the offset to x and y.</div>
 
-		<h3>.splineThru ( pts /*Array of Vector*/ ) </h3>
-		<div>todo</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 path.</div>
 
-		<h3>.arc ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) </h3>
-		<div>todo</div>
+		<h3>[method:null arc]( [page:Float x], [page:Float y], [page:Float radius], [page:Float startAngle], [page:Float endAngle], [page:Float clockwise] )</h3>
+		<div>
+		x, y -- The center of the arc offset from the last call
+		radius -- The radius of the arc
+		startAngle -- The start angle in radians
+		endAngle -- The end angle in radians
+		clockwise -- Sweep the arc clockwise. Defaults to false
+		</div>
+		<div>Draw an arc offset from the last call</div>
+
+		<h3>[method:null absarc]( [page:Float x], [page:Float y], [page:Float radius], [page:Float startAngle], [page:Float endAngle], [page:Float clockwise] )</h3>
+		<div>
+		x, y -- The absolute center of the arc
+		radius -- The radius of the arc
+		startAngle -- The start angle in radians
+		endAngle -- The end angle in radians
+		clockwise -- Sweep the arc clockwise. Defaults to false
+		</div>
+		<div>Draw an arc absolutely positioned</div>
 
-		<h3>.absarc ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) </h3>
-		<div>todo</div>
+		<h3>[method:null ellipse]( [page:Float x], [page:Float y], [page:Float xRadius], [page:Float yRadius], [page:Float startAngle], [page:Float endAngle], [page:Float clockwise], [page:Float rotation] )</h3>
+		<div>
+		x, y -- The center of the ellipse offset from the last call
+		xRadius -- The radius of the ellipse in the x axis
+		yRadius -- The radius of the ellipse in the y axis
+		startAngle -- The start angle in radians
+		endAngle -- The end angle in radians
+		clockwise -- Sweep the ellipse clockwise. Defaults to false
+		rotation -- The rotation angle of the ellipse in radians, counterclockwise from the positive X axis. Optional, defaults to 0
+		</div>
+		<div>Draw an ellipse offset from the last call</div>
 
-		<h3>.ellipse ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise ) </h3>
-		<div>todo</div>
+		<h3>[method:null absellipse]( [page:Float x], [page:Float y], [page:Float xRadius], [page:Float yRadius], [page:Float startAngle], [page:Float endAngle], [page:Float clockwise], [page:Float rotation] )</h3>
+		<div>
+		x, y -- The absolute center of the ellipse
+		xRadius -- The radius of the ellipse in the x axis
+		yRadius -- The radius of the ellipse in the y axis
+		startAngle -- The start angle in radians
+		endAngle -- The end angle in radians
+		clockwise -- Sweep the ellipse clockwise. Defaults to false
+		rotation -- The rotation angle of the ellipse in radians, counterclockwise from the positive X axis. Optional, defaults to 0
+		</div>
+		<div>Draw an ellipse absolutely positioned</div>
 
-		<h3>.absellipse ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise ) </h3>
-		<div>todo</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 Path 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/>
 
-		<h3>.toShapes () </h3>
-		<div>todo</div>
+		</div>
 
 
 		<h2>Source</h2>

+ 63 - 32
docs/api/extras/core/Shape.html

@@ -1,91 +1,122 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Path] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">Defines a 2d shape plane using paths.</div>
+		<div class="desc">
+		Defines an arbitrary 2d shape plane using paths with optional holes. It can be used with [page:ExtrudeGeometry],
+		[page:ShapeGeometry], to get points, or to get triangulated faces.
+		</div>
 
+		<code>
+		var heartShape = new THREE.Shape();
 
-		<h2>Constructor</h2>
+		heartShape.moveTo( 25, 25 );
+		heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
+		heartShape.bezierCurveTo( 30, 0, 30, 35,30,35 );
+		heartShape.bezierCurveTo( 30, 55, 10, 77, 25, 95 );
+		heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
+		heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
+		heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
 
+		var extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
+
+		var geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );
+
+		var mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
+		</code>
+
+		<h2>Examples</h2>
 
-		<h3>[name]()</h3>
 		<div>
-		todo
+		[example:webgl_geometry_shapes geometry / shapes ]<br/>
+		[example:webgl_geometry_extrude_shapes geometry / extrude / shapes ]<br/>
+		[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2 ]<br/>
+		[example:webgl_particles_shapes particles / shapes ]
 		</div>
 
 
+		<h2>Constructor</h2>
+
+
+		<h3>[name]()</h3>
+
+
 		<h2>Properties</h2>
 
 
-		<h3>.[page:array holes]</h3>
+		<h3>[property:array holes]</h3>
 		<div>
-		todo
-		</div> 
+		An array of [page:Path paths] that define the holes in the shape.
+		</div>
 
 		<h2>Methods</h2>
 
 
-		<h3>.makeGeometry([page:todo options]) [page:todo]</h3>
+		<h3>[method:ShapeGeometry makeGeometry]([page:Object options])</h3>
 		<div>
-		options -- todo
+		options -- This is passed as the second argument to [page:ShapeGeometry ShapeGeometry]
 		</div>
 		<div>
-		todo
+		Convenience method to return ShapeGeometry
 		</div>
 
-		<h3>.extractAllPoints([page:todo divisions]) [page:todo]</h3>
+		<h3>[method:Array extractAllPoints]([page:Integer divisions])</h3>
 		<div>
-		divisions -- todo
+		divisions -- The number of divisions to create on the shape
 		</div>
 		<div>
-		todo
+		Get points of shape and holes (keypoints based on segments parameter)
 		</div>
 
-		<h3>.extrude([page:todo options]) [page:todo]</h3>
+		<h3>[method:ExtrudeGeometry extrude]([page:Object options])</h3>
 		<div>
-		options -- todo
+		options -- This is passed as the second argument to [page:ExtrudeGeometry ExtrudeGeometry]
 		</div>
 		<div>
-		todo
+		Convenience method to return ExtrudeGeometry
 		</div>
 
-		<h3>.extractPoints([page:todo divisions]) [page:todo]</h3>
+		<h3>[method:Object extractPoints]([page:Integer divisions])</h3>
 		<div>
-		divisions -- todo
+		divisions -- The number of divisions to create on the shape
 		</div>
 		<div>
-		todo
+		Returns an object with a *shape* and *holes* property that each reference an array of [page:Vector2 Vector2s].
 		</div>
 
-		<h3>.extractAllSpacedPoints([page:todo divisions]) [page:todo]</h3>
+		<h3>[method:Object extractAllSpacedPoints]([page:Integer divisions])</h3>
 		<div>
-		divisions -- todo
+		divisions -- The number of divisions to create on the shape
 		</div>
 		<div>
-		todo
+		Returns an object with a *shape* and *holes* property that each reference an array of [page:Vector2 Vector2s]. The
+		points will all be equally spaced along the shape.
 		</div>
 
-		<h3>.getPointsHoles([page:todo divisions]) [page:todo]</h3>
+		<h3>[method:Array getPointsHoles]([page:Integer divisions])</h3>
 		<div>
-		divisions -- todo
+		divisions -- The number of divisions to create on the shape
 		</div>
 		<div>
-		todo
+		Get an array of [page Vector2 Vector2s] that represent the holes in the shape.
 		</div>
 
-		<h3>.getSpacedPointsHoles([page:todo divisions]) [page:todo]</h3>
+		<h3>[method:Array getSpacedPointsHoles]([page:Integer divisions])</h3>
 		<div>
-		divisions -- todo
+		divisions -- The number of divisions to create on the shape
 		</div>
 		<div>
-		todo
+		Get an array of equally spaced [page Vector2 Vector2s] that represent the holes in the shape.
 		</div>
 
 		<h2>Source</h2>

+ 21 - 0
docs/api/extras/curves/ArcCurve.html

@@ -0,0 +1,21 @@
+<!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:EllipseCurve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Alias for [page:EllipseCurve]</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 55 - 0
docs/api/extras/curves/ClosedSplineCurve3.html

@@ -0,0 +1,55 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Create a smooth 3d spline curve from a series of points that loops back onto itself</div>
+
+		<h2>Example</h2>
+
+<code>
+//Create a closed wavey loop
+var curve = new THREE.ClosedSplineCurve3( [
+	new THREE.Vector3( -10, 0, 10 ),
+	new THREE.Vector3( -5, 5, 5 ),
+	new THREE.Vector3( 0, 0, 0 ),
+	new THREE.Vector3( 5, -5, 5 ),
+	new THREE.Vector3( 10, 0, 10 )
+] );
+
+var geometry = new THREE.Geometry();
+geometry.vertices = curve.getPoints( 50 );
+
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+</code>
+
+		<h3>[example:webgl_geometry_extrude_splines geometry / extrude / splines] (choose SampleClosedSpline)</h3>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Array points] )</h3>
+		<div>points – An array of [page:Vector3] points</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Array points]</h3>
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 68 - 0
docs/api/extras/curves/CubicBezierCurve.html

@@ -0,0 +1,68 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+			Create a smooth 2d <a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:Bezier_curve.svg" target="_blank">cubic bezier curve</a>.
+		</div>
+
+		<h2>Example</h2>
+
+<code>
+var curve = new THREE.CubicBezierCurve(
+	new THREE.Vector3( -10, 0, 0 ),
+	new THREE.Vector3( -5, 15, 0 ),
+	new THREE.Vector3( 20, 15, 0 ),
+	new THREE.Vector3( 10, 0, 0 )
+);
+
+var path = new THREE.Path( curve.getPoints( 50 ) );
+
+var geometry = path.createPointsGeometry( 50 );
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+// Create the final Object3d to add to the scene
+var curveObject = new THREE.Line( geometry, material );
+</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name] ( [page:Vector2 v0], [page:Vector2 v1], [page:Vector2 v2], [page:Vector2 v3] )</h3>
+		<div>
+			[page:Vector2 v0] – The starting point<br/>
+			[page:Vector2 v1] – The first control point<br/>
+			[page:Vector2 v2] – The second control point<br/>
+			[page:Vector2 v3] – The ending point<br/>
+		</div>
+
+		<h2>Properties</h2>
+
+		<h3>[property:Vector2 v0]</h3>
+
+		<h3>[property:Vector2 v1]</h3>
+
+		<h3>[property:Vector2 v2]</h3>
+
+		<h3>[property:Vector2 v3]</h3>
+
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 68 - 0
docs/api/extras/curves/CubicBezierCurve3.html

@@ -0,0 +1,68 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+			Create a smooth 3d <a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:Bezier_curve.svg" target="_blank">cubic bezier curve</a>.
+		</div>
+
+		<h2>Example</h2>
+
+<code>
+var curve = new THREE.CubicBezierCurve3(
+	new THREE.Vector3( -10, 0, 0 ),
+	new THREE.Vector3( -5, 15, 0 ),
+	new THREE.Vector3( 20, 15, 0 ),
+	new THREE.Vector3( 10, 0, 0 )
+);
+
+var geometry = new THREE.Geometry();
+geometry.vertices = curve.getPoints( 50 );
+
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+// Create the final Object3d to add to the scene
+var curveObject = new THREE.Line( geometry, material );
+
+</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Vector3 v0], [page:Vector3 v1], [page:Vector3 v2], [page:Vector3 v3] )</h3>
+		<div>
+			[page:Vector3 v0] – The starting point<br/>
+			[page:Vector3 v1] – The first control point<br/>
+			[page:Vector3 v2] – The second control point<br/>
+			[page:Vector3 v3] – The ending point<br/>
+		</div>
+
+		<h2>Properties</h2>
+
+		<h3>[property:Vector3 v0]</h3>
+
+		<h3>[property:Vector3 v1]</h3>
+
+		<h3>[property:Vector3 v2]</h3>
+
+		<h3>[property:Vector3 v3]</h3>
+
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 73 - 0
docs/api/extras/curves/EllipseCurve.html

@@ -0,0 +1,73 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Creates a 2d curve in the shape of an ellipse.</div>
+
+		<h2>Example</h2>
+
+<code>
+var curve = new THREE.EllipseCurve(
+	0,  0,            // ax, aY
+	10, 10,           // xRadius, yRadius
+	0,  2 * Math.PI,  // aStartAngle, aEndAngle
+	false,            // aClockwise
+	0                 // aRotation 
+);
+
+var path = new THREE.Path( curve.getPoints( 50 ) );
+var geometry = path.createPointsGeometry( 50 );
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+// Create the final Object3d to add to the scene
+var ellipse = new THREE.Line( geometry, material );
+</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Float aX], [page:Float aY], [page:Float xRadius], [page:Float yRadius], [page:Radians aStartAngle], [page:Radians aEndAngle], [page:Boolean aClockwise], [page:Radians aRotation] )</h3>
+		<div>
+			aX – The X center of the ellipse<br/>
+			aY – The Y center of the ellipse<br/>
+			xRadius – The radius of the ellipse in the x direction<br/>
+			yRadius – The radius of the ellipse in the y direction<br/>
+			aStartAngle – The start angle of the curve in radians starting from the middle right side<br/>
+			aEndAngle – The end angle of the curve in radians starting from the middle right side<br/>
+			aClockwise – Whether the ellipse is clockwise<br/>
+			aRotation – The rotation angle of the ellipse in radians, counterclockwise from the positive X axis (optional)<br/><br/>
+
+			<strong>Note:</strong> When going clockwise it's best to set the start angle to (Math.PI * 2) and then work towards lower numbers.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Float aX]</h3>
+		<h3>[property:Float aY]</h3>
+		<h3>[property:Radians xRadius]</h3>
+		<h3>[property:Radians yRadius]</h3>
+		<h3>[property:Float aStartAngle]</h3>
+		<h3>[property:Float aEndAngle]</h3>
+		<h3>[property:Boolean aClockwise]</h3>
+		<h3>[property:Float aRotation]</h3>
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 42 - 0
docs/api/extras/curves/LineCurve.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>
+		[page:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">A curve representing a 2d line segment</div>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Vector2 v1], [page:Vector2 v2] )</h3>
+		<div>
+			v1 – The start point<br/>
+			v2 - The end point
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Vector2 v1]</h3>
+		<h3>[property:Vector2 v2]</h3>
+
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 41 - 0
docs/api/extras/curves/LineCurve3.html

@@ -0,0 +1,41 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">A curve representing a 3d line segment</div>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Vector3 v1], [page:Vector3 v2] )</h3>
+		<div>
+			v1 – The start point<br/>
+			v2 - The end point
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Vector3 v1]</h3>
+		<h3>[property:Vector3 v2]</h3>
+
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 67 - 0
docs/api/extras/curves/QuadraticBezierCurve.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>
+		[page:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+			Create a smooth 2d <a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:B%C3%A9zier_2_big.gif" target="_blank">quadratic bezier curve</a>.
+		</div>
+
+		<h2>Example</h2>
+
+<code>
+var curve = new THREE.QuadraticBezierCurve(
+	new THREE.Vector3( -10, 0, 0 ),
+	new THREE.Vector3( 20, 15, 0 ),
+	new THREE.Vector3( 10, 0, 0 )
+);
+
+var path = new THREE.Path( curve.getPoints( 50 ) );
+
+var geometry = path.createPointsGeometry( 50 );
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+//Create the final Object3d to add to the scene
+var curveObject = new THREE.Line( geometry, material );
+</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Vector2 v0], [page:Vector2 v1], [page:Vector2 v2] )</h3>
+		<div>
+			[page:Vector2 v0] – The starting point<br/>
+			[page:Vector2 v1] – The middle control point<br/>
+			[page:Vector2 v2] – The ending point<br/>
+		</div>
+
+
+		<h2>Properties</h2>
+
+
+		<h3>[property:Vector2 v0]</h3>
+
+		<h3>[property:Vector2 v1]</h3>
+
+		<h3>[property:Vector2 v2]</h3>
+
+
+		<h2>Methods</h2>
+
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 67 - 0
docs/api/extras/curves/QuadraticBezierCurve3.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>
+		[page:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">
+			Create a smooth 3d <a href="http://en.wikipedia.org/wiki/B%C3%A9zier_curve#mediaviewer/File:B%C3%A9zier_2_big.gif" target="_blank">quadratic bezier curve</a>.
+		</div>
+
+		<h2>Example</h2>
+
+<code>
+var curve = new THREE.QuadraticBezierCurve3(
+	new THREE.Vector3( -10, 0, 0 ),
+	new THREE.Vector3( 20, 15, 0 ),
+	new THREE.Vector3( 10, 0, 0 )
+);
+
+var geometry = new THREE.Geometry();
+geometry.vertices = curve.getPoints( 50 );
+
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+// Create the final Object3d to add to the scene
+var curveObject = new THREE.Line( geometry, material );
+</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Vector3 v0], [page:Vector3 v1], [page:Vector3 v2] )</h3>
+		<div>
+			[page:Vector3 v0] – The starting point<br/>
+			[page:Vector3 v1] – The middle control point<br/>
+			[page:Vector3 v2] – The ending point<br/>
+		</div>
+
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Vector3 v0]</h3>
+
+		<h3>[property:Vector3 v1]</h3>
+
+		<h3>[property:Vector3 v2]</h3>
+
+
+		<h2>Methods</h2>
+
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 57 - 0
docs/api/extras/curves/SplineCurve.html

@@ -0,0 +1,57 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Create a smooth 2d spline curve from a series of points</div>
+
+		<h2>Example</h2>
+
+<code>
+// Create a sine-like wave
+var curve = new THREE.SplineCurve( [
+	new THREE.Vector2( -10, 0 ),
+	new THREE.Vector2( -5, 5 ),
+	new THREE.Vector2( 0, 0 ),
+	new THREE.Vector2( 5, -5 ),
+	new THREE.Vector2( 10, 0 )
+] );
+
+var path = new THREE.Path( curve.getPoints( 50 ) );
+
+var geometry = path.createPointsGeometry( 50 );
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+// Create the final Object3d to add to the scene
+var splineObject = new THREE.Line( geometry, material );
+</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Array points] )</h3>
+		<div>points – An array of [page:Vector2] points</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Array points]</h3>
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 58 - 0
docs/api/extras/curves/SplineCurve3.html

@@ -0,0 +1,58 @@
+<!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:Curve] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Create a smooth 3d spline curve from a series of points</div>
+
+		<h2>Example</h2>
+
+<code>
+//Create a closed bent a sine-like wave
+var curve = new THREE.SplineCurve3( [
+	new THREE.Vector3( -10, 0, 10 ),
+	new THREE.Vector3( -5, 5, 5 ),
+	new THREE.Vector3( 0, 0, 0 ),
+	new THREE.Vector3( 5, -5, 5 ),
+	new THREE.Vector3( 10, 0, 10 )
+] );
+
+var geometry = new THREE.Geometry();
+geometry.vertices = curve.getPoints( 50 );
+
+var material = new THREE.LineBasicMaterial( { color : 0xff0000 } );
+
+//Create the final Object3d to add to the scene
+var splineObject = new THREE.Line( geometry, material );
+</code>
+
+		<h3>[example:webgl_geometry_extrude_splines geometry / extrude / splines ] (choose PipeSpline)</h3>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Array points] )</h3>
+		<div>points – An array of [page:Vector3] points</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Array points]</h3>
+
+		<h2>Methods</h2>
+
+		<h3>See [page:Curve] for inherited methods</h3>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 58 - 0
docs/api/extras/geometries/BoxGeometry.html

@@ -0,0 +1,58 @@
+<!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:Geometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">BoxGeometry is the quadrilateral primitive geometry class. It is typically used for creating a cube or irregular quadrilateral of the dimensions provided with the 'width', 'height', and 'depth' constructor arguments.</div>
+
+		<iframe src='scenes/geometry-browser.html#BoxGeometry'></iframe>
+
+		<h2>Example</h2>
+
+		<code>var geometry = new THREE.BoxGeometry( 1, 1, 1 );
+		var material = new THREE.MeshBasicMaterial( {color: 0x00ff00} );
+		var cube = new THREE.Mesh( geometry, material );
+		scene.add( cube );
+		</code>
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([page:Float width], [page:Float height], [page:Float depth], [page:Integer widthSegments], [page:Integer heightSegments], [page:Integer depthSegments])</h3>
+		<div>
+		width — Width of the sides on the X axis.<br />
+		height — Height of the sides on the Y axis.<br />
+		depth — Depth of the sides on the Z axis.<br />
+		widthSegments — Optional. Number of segmented faces along the width of the sides. Default is 1.<br />
+		heightSegments — Optional. Number of segmented faces along the height of the sides. Default is 1.<br />
+		depthSegments — Optional. Number of segmented faces along the depth of the sides. Default is 1.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>.parameters</h3>
+ 		<div>
+			<p>Using the above example code above as our basis:</p>
+			<code>
+				geometry.parameters; // outputs an object {width: 1, height: 1, depth: 1, widthSegments: undefined, heightSegments: undefined}
+				cube.geometry.parameters; // as above
+				cube.geometry.parameters.width; // === 1
+				cube.geometry.parameters.widthSegments // === undefined.
+			</code>
+ 		</div>
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 25 - 5
docs/api/extras/geometries/CircleGeometry.html

@@ -1,17 +1,37 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
+
 		<h1>[name]</h1>
 
 		<div class="desc">CircleGeometry is a simple shape of Euclidean geometry.  It is contructed from a number of triangular segments that are oriented around a central point and extend as far out as a given radius.  It is built counter-clockwise from a start angle and a given central angle.  It can also be used to create regular polygons, where the number of segments determines the number of sides.
 		</div>
 
+		<h2>Example</h2>
+
+		<iframe src='scenes/geometry-browser.html#CircleGeometry'></iframe>
+
+		<code>var material = new THREE.MeshBasicMaterial({
+			color: 0x0000ff
+		});
+
+		var radius = 5;
+		var segments = 32;
+
+		var circleGeometry = new THREE.CircleGeometry( radius, segments );
+		var circle = new THREE.Mesh( circleGeometry, material );
+		scene.add( circle );
+		</code>
+
+
 		<h2>Constructor</h2>
 
 		<h3>[name]([page:Float radius], [page:Integer segments], [page:Float thetaStart], [page:Float thetaLength])</h3>
@@ -21,7 +41,7 @@
 		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
 		thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete circle.
 		</div>
-		
+
 
 		<h2>Source</h2>
 

+ 0 - 33
docs/api/extras/geometries/ConvexGeometry.html

@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
-	</head>
-	<body>
-		[page:Geometry] &rarr;
-	
-		<h1>[name]</h1>
-
-		<div class="desc">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([page:Array vertices])</h3>
-		<div>
-		vertices — todo
-		</div>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 7 - 27
docs/api/extras/geometries/CubeGeometry.html

@@ -1,39 +1,19 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-	
-		<h1>[name]</h1>
-
-		<div class="desc">CubeGeometry is the quadrilateral primitive geometry class. It is typically used for creating a cube or irregular quadrilateral of the dimensions provided with the 'width', 'height', and 'depth' constructor arguments.</div>
-
-
-		<h2>Constructor</h2>
 
+		<h1>[name]</h1>
 
-		<h3>[name]([page:Float width], [page:Float height], [page:Float depth], [page:Integer widthSegments], [page:Integer heightSegments], [page:Integer depthSegments])</h3>
-		<div>
-		width — Width of the sides on the X axis.<br />
-		height — Height of the sides on the Y axis.<br />
-		depth — Depth of the sides on the Z axis.<br />
-		widthSegments — Optional. Number of segmented faces along the width of the sides. Default is 1.<br />
-		heightSegments — Optional. Number of segmented faces along the height of the sides. Default is 1.<br />
-		depthSegments — Optional. Number of segmented faces along the depth of the sides. Default is 1.
-		</div>
+		<div class="desc">Renamed CubeGeometry to BoxGeometry. see [page:BoxGeometry].</div>
 
-		<h2>Properties</h2>
-		
-		<div>
-		Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry.
-		</div>
-		
-		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
 	</body>

+ 23 - 9
docs/api/extras/geometries/CylinderGeometry.html

@@ -1,37 +1,51 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">A class for generating cylinder geometries</div>
+
+
+		<h2>Example</h2>
+
+		<iframe src='scenes/geometry-browser.html#CylinderGeometry'></iframe>
+
+		<code>var geometry = new THREE.CylinderGeometry( 5, 5, 20, 32 );
+		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
+		var cylinder = new THREE.Mesh( geometry, material );
+		scene.add( cylinder );
+		</code>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:Float radiusTop], [page:Float radiusBottom], [page:Float height], [page:Integer radiusSegments], [page:Integer heightSegments], [page:Boolean openEnded])</h3>
+		<h3>[name]([page:Float radiusTop], [page:Float radiusBottom], [page:Float height], [page:Integer radiusSegments], [page:Integer heightSegments], [page:Boolean openEnded], [page:Float thetaStart], [page:Float thetaLength])</h3>
 		<div>
 		radiusTop — Radius of the cylinder at the top. Default is 20.<br />
 		radiusBottom — Radius of the cylinder at the bottom. Default is 20.<br />
 		height — Height of the cylinder. Default is 100.<br />
 		radiusSegments — Number of segmented faces around the circumference of the cylinder. Default is 8<br />
 		heightSegments — Number of rows of faces along the height of the cylinder. Default is 1.<br />
-		openEnded — A Boolean indicating whether the ends of the cylinder are open or capped. Default is false, meaning capped.
+		openEnded — A Boolean indicating whether the ends of the cylinder are open or capped. Default is false, meaning capped.<br />
+		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
+		thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete cylinder.
 		</div>
 
 
 		<h2>Properties</h2>
 
 		<div>
-		Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry.
+		Each of the constructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry.
 		</div>
 
 

+ 42 - 0
docs/api/extras/geometries/DodecahedronGeometry.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>
+		[page:PolyhedronGeometry] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">A class for generating a dodecahedron geometries.</div>
+
+		<iframe src='scenes/geometry-browser.html#DodecahedronGeometry'></iframe>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([page:Float radius], [page:Integer detail])</h3>
+		<div>
+		radius — Radius of the dodecahedron. Default is 1.<br />
+		detail — Default is 0. Setting this to a value greater than 0 adds vertices making it no longer a dodecahedron.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Object parameters]</h3>
+		<div>
+		An object with all of the parameters that were used to generate the geometry.
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 64 - 19
docs/api/extras/geometries/ExtrudeGeometry.html

@@ -1,14 +1,15 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
 		<div class="desc">Creates extruded geometry from a path shape</div>
@@ -17,13 +18,29 @@
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo shapes], [page:Object options])</h3>
+		<h3>[name]([page:Array shapes], [page:Object options])</h3>
 		<div>
-		shapes — todo <br />
-		options — todo
+		shapes — Shape or an array of shapes. <br />
+		options — Object that can contain the following parameters.
+
+	<ul>
+<li>curveSegments —  int. number of points on the curves</li>
+<li>steps —  int. number of points used for subdividing segements of extrude spline</li>
+<li>amount —  int. Depth to extrude the shape</li>
+<li>bevelEnabled —  bool. turn on bevel</li>
+<li>bevelThickness —  float. how deep into the original shape bevel goes</li>
+<li>bevelSize —  float. how far from shape outline is bevel</li>
+<li>bevelSegments —  int. number of bevel layers</li>
+<li>extrudePath —  THREE.CurvePath. 3d spline path to extrude shape along. (creates Frames if (frames aren't defined)</li>
+<li>frames —  THREE.TubeGeometry.FrenetFrames.  containing arrays of tangents, normals, binormals</li>
+<li>material —  int. material index for front and back faces</li>
+<li>extrudeMaterial —  int. material index for extrusion and beveled faces</li>
+<li>uvGenerator —  Object. object that provides UV generator functions</li>
+	</ul>
+
 		</div>
 		<div>
-		todo
+		This object extrudes an 2D shape to an 3D geometry.
 		</div>
 
 
@@ -32,19 +49,47 @@
 
 		<h2>Methods</h2>
 
-		<h3>.addShapeList ([page:todo shapes], [page:Object options])</h3>
+		<h3>[method:null addShapeList]([page:Array shapes], [page:Object options])</h3>
 		<div>
-			shapes — todo <br />
-			options — todo
-		</div>
-		<div>todo</div>
+			shapes — An Array of shapes to add. <br />
+			options — Object that can contain the following parameters.
+	<ul>
+<li>curveSegments —  int. number of points on the curves</li>
+<li>steps —  int. number of points used for subdividing segements of extrude spline</li>
+<li>amount —  int. Depth to extrude the shape</li>
+<li>bevelEnabled —  bool. turn on bevel</li>
+<li>bevelThickness —  float. how deep into the original shape bevel goes</li>
+<li>bevelSize —  float. how far from shape outline is bevel</li>
+<li>bevelSegments —  int. number of bevel layers</li>
+<li>extrudePath —  THREE.CurvePath. 3d spline path to extrude shape along. (creates Frames if (frames aren't defined)</li>
+<li>frames —  THREE.TubeGeometry.FrenetFrames.  containing arrays of tangents, normals, binormals</li>
+<li>material —  int. material index for front and back faces</li>
+<li>extrudeMaterial —  int. material index for extrusion and beveled faces</li>
+<li>uvGenerator —  Object. object that provides UV generator functions</li>
+	</ul>
+	</div>
+		<div>Adds the shapes to the list to extrude.</div>
 
-		<h3>.addShape ([page:todo shape], [page:Object options])</h3>
+		<h3>[method:null addShape]([page:Shape shape], [page:Object options])</h3>
 		<div>
-			shape — todo <br />
-			options — todo
-		</div>
-		<div>todo</div>
+			shape — A shape to add. <br />
+			options — Object that can contain the following parameters.
+	<ul>
+<li>curveSegments —  int. number of points on the curves</li>
+<li>steps —  int. number of points used for subdividing segements of extrude spline</li>
+<li>amount —  int. Depth to extrude the shape</li>
+<li>bevelEnabled —  bool. turn on bevel</li>
+<li>bevelThickness —  float. how deep into the original shape bevel goes</li>
+<li>bevelSize —  float. how far from shape outline is bevel</li>
+<li>bevelSegments —  int. number of bevel layers</li>
+<li>extrudePath —  THREE.CurvePath. 3d spline path to extrude shape along. (creates Frames if (frames aren't defined)</li>
+<li>frames —  THREE.TubeGeometry.FrenetFrames.  containing arrays of tangents, normals, binormals</li>
+<li>material —  int. material index for front and back faces</li>
+<li>extrudeMaterial —  int. material index for extrusion and beveled faces</li>
+<li>uvGenerator —  Object. object that provides UV generator functions</li>
+	</ul>
+	</div>
+		<div>Add the shape to the list to extrude.</div>
 
 
 		<h2>Source</h2>

+ 8 - 6
docs/api/extras/geometries/IcosahedronGeometry.html

@@ -1,10 +1,11 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:PolyhedronGeometry] &rarr;
@@ -12,6 +13,7 @@
 
 		<div class="desc">A class for generating an icosahedron geometry.</div>
 
+		<iframe src='scenes/geometry-browser.html#IcosahedronGeometry'></iframe>
 
 		<h2>Constructor</h2>
 
@@ -25,9 +27,9 @@
 
 		<h2>Properties</h2>
 
-
+		<h3>[property:Object parameters]</h3>
 		<div>
-		Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry.
+		An object with all of the parameters that were used to generate the geometry.
 		</div>
 
 

+ 26 - 11
docs/api/extras/geometries/LatheGeometry.html

@@ -1,31 +1,46 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">Class for generating meshes with axial symmetry. Possible uses include donuts, pipes, vases etc. The lathe rotate around the Z axis.</div>
+
+
+		<h2>Example</h2>
+
+		<code>
+		var points = [];
+		for ( var i = 0; i < 10; i ++ ) {
+			points.push( new THREE.Vector3( Math.sin( i * 0.2 ) * 15 + 50, 0, ( i - 5 ) * 2 ) );
 
+		}
+		var geometry = new THREE.LatheGeometry( points );
+		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		var lathe = new THREE.Mesh( geometry, material );
+		scene.add( lathe );
+		</code>
 
 		<h2>Constructor</h2>
 
 
 		<h3>[name]([page:Array points], [page:Integer segments], [page:Float phiStart], [page:Float phiLength])</h3>
 		<div>
-		points — todo <br />
-		segments — todo <br />
-		phiStart — todo <br />
-		phiLength — todo
+		points — Array of Vector3s. Since this rotates around Z axis, the y-values can be set to 0<br />
+		segments — the number of circumference segments to generate. Default is 12.<br />
+		phiStart — the starting angle in radians. Default is 0.<br />
+		phiLength — the radian (0 to 2*PI) range of the lathed section 2*PI is a closed lathe, less than 2PI is a portion. Default is 2*PI
 		</div>
 		<div>
-		todo
+		This creates a LatheGeometry based on the parameters.
 		</div>
 
 

+ 13 - 7
docs/api/extras/geometries/OctahedronGeometry.html

@@ -1,18 +1,19 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:PolyhedronGeometry] &rarr;
-		
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">A class for generating an octahedron geometry.</div>
 
+		<iframe src='scenes/geometry-browser.html#OctahedronGeometry'></iframe>
 
 		<h2>Constructor</h2>
 
@@ -22,8 +23,13 @@
 		radius — Radius of the octahedron. Default is 1.<br />
 		detail — Default is 0.  Setting this to a value greater than zero add vertices making it no longer an octahedron.
 		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Object parameters]</h3>
 		<div>
-		todo
+		An object with all of the parameters that were used to generate the geometry.
 		</div>
 
 		<h2>Source</h2>

+ 11 - 14
docs/api/extras/geometries/ParametricGeometry.html

@@ -1,31 +1,28 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">Generate geometry representing a parametric surface.</div>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo func], [page:todo slices], [page:todo stacks], [page:Boolean useTris])</h3>
-		<div>
-		func — todo <br />
-		slices — todo <br />
-		stacks — todo <br />
-		useTris — todo
-		</div>
+		<h3>[name]([page:Function func], [page:Integer slices], [page:Integer stacks])</h3>
 		<div>
-		todo
+		func — A function that takes in a [page:Float u] and [page:Float v] value each between 0 and 1 and returns a [page:Vector3]<br />
+		slices — The count of slices to use for the parametric function <br />
+		stacks — The count of stacks to use for the parametric function
 		</div>
 
 

+ 18 - 6
docs/api/extras/geometries/PlaneGeometry.html

@@ -1,17 +1,29 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">A class for generating plane geometries</div>
+
+
+		<h2>Example</h2>
+
+		<iframe src='scenes/geometry-browser.html#PlaneGeometry'></iframe>
+
+		<code>var geometry = new THREE.PlaneGeometry( 5, 20, 32 );
+		var material = new THREE.MeshBasicMaterial( {color: 0xffff00, side: THREE.DoubleSide} );
+		var plane = new THREE.Mesh( geometry, material );
+		scene.add( plane );
+		</code>
 
 
 		<h2>Constructor</h2>

+ 39 - 11
docs/api/extras/geometries/PolyhedronGeometry.html

@@ -1,33 +1,61 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
 
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">
+			A polyhedron is a solid in three dimensions with flat faces. This class will take an array of vertices,
+			project them onto a sphere, and then divide them up to the desired level of detail. This class is used
+			by [page:DodecahedronGeometry], [page:IcosahedronGeometry], [page:OctahedronGeometry],
+			and [page:TetrahedronGeometry] to generate their respective geometries.
+		</div>
+
+		<h2>Example</h2>
+<code>
+var verticesOfCube = [
+    -1,-1,-1,    1,-1,-1,    1, 1,-1,    -1, 1,-1,
+    -1,-1, 1,    1,-1, 1,    1, 1, 1,    -1, 1, 1,
+];
+
+var indicesOfFaces = [
+    2,1,0,    0,3,2,
+    0,4,7,    7,3,0,
+    0,1,5,    5,4,0,
+    1,2,6,    6,5,1,
+    2,3,7,    7,6,2,
+    4,5,6,    6,7,4
+];
 
+var geometry = new THREE.PolyhedronGeometry( verticesOfCube, indicesOfFaces, 6, 2 );
+</code>
 
 		<h2>Constructor</h2>
 
 
 		<h3>[name]([page:Array vertices], [page:Array faces], [page:Float radius], [page:Integer detail])</h3>
 		<div>
-		vertices — todo <br />
-		faces — todo <br />
-		radius — todo <br />
-		detail — todo
+		vertices — [page:Array] of points of the form [1,1,1, -1,-1,-1, ... ] <br />
+		faces — [page:Array] of indices that make up the faces of the form [0,1,2, 2,3,0, ... ] <br />
+		radius — [page:Float] - The radius of the final shape <br />
+		detail — [page:Integer] - How many levels to subdivide the geometry. The more detail, the smoother the shape.
 		</div>
+
+		<h2>Properties</h2>
+
+		<h3>[property:Object parameters]</h3>
 		<div>
-		todo
+		An object with all of the parameters that were used to generate the geometry.
 		</div>
-		
+
 
 		<h2>Source</h2>
 

+ 16 - 6
docs/api/extras/geometries/RingGeometry.html

@@ -1,18 +1,28 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
 		<div class="desc">A class for generating a two-dimensional ring geometry.</div>
 
+		<iframe src='scenes/geometry-browser.html#RingGeometry'></iframe>
+
+		<h2>Example</h2>
+
+		<code>var geometry = new THREE.RingGeometry( 1, 5, 32 );
+		var material = new THREE.MeshBasicMaterial( { color: 0xffff00, side: THREE.DoubleSide } );
+		var mesh = new THREE.Mesh( geometry, material );
+		scene.add( mesh );
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -22,7 +32,7 @@
 		innerRadius — Default is 0, but it doesn't work right when innerRadius is set to 0.<br />
 		outerRadius — Default is 50. <br />
 		thetaSegments — Number of segments.  A higher number means the ring will be more round.  Minimum is 3.  Default is 8. <br />
-		phiSegments — Minimum is 3.  Default is 8.<br />
+		phiSegments — Minimum is 1.  Default is 8.<br />
 		thetaStart — Starting angle. Default is 0. <br />
 		thetaLength — Central angle.  Default is Math.PI * 2.
 		</div>

+ 39 - 27
docs/api/extras/geometries/ShapeGeometry.html

@@ -1,61 +1,73 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">Creates a one-sided polygonal geometry from one or more path shapes. Similar to [page:ExtrudeGeometry]</div>
 
+		<h2>Example</h2>
 
-		<h2>Constructor</h2>
 
+		<code>
+var rectLength = 120, rectWidth = 40;
 
-		<h3>[name]([page:Array shapes], [page:Object options])</h3>
-		<div>
-		shapes — todo <br />
-		options — todo
-		</div>
-		<div>
-		todo
-		</div>
+var rectShape = new THREE.Shape();
+rectShape.moveTo( 0,0 );
+rectShape.lineTo( 0, rectWidth );
+rectShape.lineTo( rectLength, rectWidth );
+rectShape.lineTo( rectLength, 0 );
+rectShape.lineTo( 0, 0 );
 
+var rectGeom = new THREE.ShapeGeometry( rectShape );
+var rectMesh = new THREE.Mesh( rectGeom, new THREE.MeshBasicMaterial( { color: 0xff0000 } ) ) ;
 
-		<h2>Properties</h2>
+scene.add( rectMesh );
+		</code>
 
+		<h2>Constructor</h2>
 
 
-		<h3>.[page:Object shapebb]</h3>
+		<h3>[name]([page:Array shapes], [page:Object options])</h3>
 		<div>
-		todo
-		</div> 
+		shapes — [page:Array] of shapes, or a single [page:Shape shape] <br />
+		options — Optional options [page:Object object]
+		<ul>
+		<li>curveSegments - [page:Integer] - Not used at the moment - defaults to 12</li>
+		<li>material - [page:Integer] - index of the material in a material list</li>
+		<li>UVGenerator - A UV generator, defaults to [page:ExtrudeGeometry]'s WorldUVGenerator</li>
+		</ul>
+		</div>
+
 
 		<h2>Methods</h2>
 
 
 
-		<h3>.addShapeList([page:todo shapes], [page:Object options]) [page:this]</h3>
+		<h3>.addShapeList([page:Array shapes], [page:Object options]) [page:this]</h3>
 		<div>
-		shapes — todo <br />
-		options — todo
+		shapes — [page:Array] of [page:Shape shapes] <br />
+		options — See options in constructor
 		</div>
 		<div>
-		todo
+		Adds a list of shapes to the geometry.
 		</div>
 
-		<h3>.addShape([page:todo shape], [page:Object options])</h3>
+		<h3>[method:null addShape]([page:Shape shape], [page:Object options])</h3>
 		<div>
-		shape — todo <br />
-		options — todo
+		shape — [page:Shape] <br />
+		options — See options in constructor
 		</div>
 		<div>
-		todo
+		Adds a single shape to the geometry
 		</div>
 
 		<h2>Source</h2>

+ 18 - 8
docs/api/extras/geometries/SphereGeometry.html

@@ -1,18 +1,28 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
 		<div class="desc">A class for generating sphere geometries</div>
 
+		<h2>Example</h2>
+
+		<iframe src='scenes/geometry-browser.html#SphereGeometry'></iframe>
+
+		<code>var geometry = new THREE.SphereGeometry( 5, 32, 32 );
+		var material = new THREE.MeshBasicMaterial( {color: 0xffff00} );
+		var sphere = new THREE.Mesh( geometry, material );
+		scene.add( sphere );
+		</code>
 
 		<h2>Constructor</h2>
 
@@ -28,18 +38,18 @@
 		thetaStart — specify vertical starting angle. Default is 0.<br />
 		thetaLength — specify vertical sweep angle size. Default is Math.PI.<br />
 		</div>
-		
+
 		<div>
 		The geometry is created by sweeping and calculating vertexes around the Y axis (horizontal sweep) and the Z axis (vertical sweep). Thus, incomplete spheres (akin to <em>'sphere slices'</em>) can be created through the use of different values of phiStart, phiLength, thetaStart and thetaLength, in order to define the points in which we start (or end) calculating those vertices.
 		</div>
 
 
 		<h2>Properties</h2>
-		
+
 		<div>
 		Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry.
 		</div>
-		
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 16 - 5
docs/api/extras/geometries/TetrahedronGeometry.html

@@ -1,18 +1,21 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:PolyhedronGeometry] &rarr;
-	
+
 		<h1>[name]</h1>
 
 		<div class="desc">A class for generating a tetrahedron geometries.</div>
 
+		<iframe src='scenes/geometry-browser.html#TetrahedronGeometry'></iframe>
+
 
 		<h2>Constructor</h2>
 
@@ -24,6 +27,14 @@
 		</div>
 
 
+		<h2>Properties</h2>
+
+		<h3>[property:Object parameters]</h3>
+		<div>
+		An object with all of the parameters that were used to generate the geometry.
+		</div>
+
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 93 - 10
docs/api/extras/geometries/TextGeometry.html

@@ -1,30 +1,39 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:ExtrudeGeometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">This object creates a 3D object of text as a single object.</div>
+
+		<h2>Example</h2>
+
+		<iframe src='scenes/geometry-browser.html#TextGeometry'></iframe>
 
+		<div>
+		[example:webgl_geometry_text geometry / text ]<br/>
+		[example:webgl_geometry_text2 geometry / text2 ]
+		</div>
 
 		<h2>Constructor</h2>
 
 
 		<h3>[name]([page:String text], [page:Object parameters])</h3>
 		<div>
-		text — todo <br />
-		parameters — Object that can contain the following parameters.
+		text — The text that needs to be shown. <br />
+		parameters — Object that can contains the following parameters.
 		<ul>
 			<li>size — Float. Size of the text.</li>
 			<li>height — Float. Thickness to extrude text.  Default is 50.</li>
-			<li>curveSegments — Integer. Number of points on the curves.</li>
+			<li>curveSegments — Integer. Number of points on the curves. Default is 12.</li>
 			<li>font — String. Font name.</li>
 			<li>weight — String. Font weight (normal, bold).</li>
 			<li>style —  String. Font style (normal, italics).</li>
@@ -33,7 +42,81 @@
 			<li>bevelSize — Float. How far from text outline is bevel. Default is 8.</li>
 		</ul>
 		</div>
-		
+
+		<h2>Available Fonts</h2>
+
+		<div>
+		TextGeometry uses <a href='http://gero3.github.io/facetype.js/' target="_top">typeface.js</a> generated fonts.
+		Some existing fonts can be found located in <b>/examples/fonts</b> and must be included in the page.
+		</div>
+		<table>
+			<tr>
+				<th>Font</th>
+				<th>Weight</th>
+				<th>Style</th>
+				<th>File Path</th>
+			</tr>
+			<tr>
+				<td>helvetiker</td>
+				<td>normal</td>
+				<td>normal</td>
+				<td>/examples/fonts/helvetiker_regular.typeface.js</td>
+			</tr>
+			<tr>
+				<td>helvetiker</td>
+				<td>bold</td>
+				<td>normal</td>
+				<td>/examples/fonts/helvetiker_bold.typeface.js</td>
+			</tr>
+			<tr>
+				<td>optimer</td>
+				<td>normal</td>
+				<td>normal</td>
+				<td>/examples/fonts/optimer_regular.typeface.js</td>
+			</tr>
+			<tr>
+				<td>optimer</td>
+				<td>bold</td>
+				<td>normal</td>
+				<td>/examples/fonts/optimer_bold.typeface.js</td>
+			</tr>
+			<tr>
+				<td>gentilis</td>
+				<td>normal</td>
+				<td>normal</td>
+				<td>/examples/fonts/gentilis_regular.typeface.js</td>
+			</tr>
+			<tr>
+				<td>gentilis</td>
+				<td>bold</td>
+				<td>normal</td>
+				<td>/examples/fonts/gentilis_bold.typeface.js</td>
+			</tr>
+			<tr>
+				<td>droid sans</td>
+				<td>normal</td>
+				<td>normal</td>
+				<td>/examples/fonts/droid/droid_sans_regular.typeface.js</td>
+			</tr>
+			<tr>
+				<td>droid sans</td>
+				<td>bold</td>
+				<td>normal</td>
+				<td>/examples/fonts/droid/droid_sans_bold.typeface.js</td>
+			</tr>
+			<tr>
+				<td>droid serif</td>
+				<td>normal</td>
+				<td>normal</td>
+				<td>/examples/fonts/droid/droid_serif_regular.typeface.js</td>
+			</tr>
+			<tr>
+				<td>droid serif</td>
+				<td>bold</td>
+				<td>normal</td>
+				<td>/examples/fonts/droid/droid_serif_bold.typeface.js</td>
+			</tr>
+		</table>
 
 		<h2>Source</h2>
 

+ 17 - 6
docs/api/extras/geometries/TorusGeometry.html

@@ -1,17 +1,28 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-	
+
 		<h1>[name]</h1>
 
-		<div class="desc">Creates a torus.</div>
+		<div class="desc">A class for generating torus geometries</div>
+
+		<iframe src='scenes/geometry-browser.html#TorusGeometry'></iframe>
+
+		<h2>Example</h2>
+
+		<code>var geometry = new THREE.TorusGeometry( 10, 3, 16, 100 );
+		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		var torus = new THREE.Mesh( geometry, material );
+		scene.add( torus );
+		</code>
 
 
 		<h2>Constructor</h2>

+ 18 - 6
docs/api/extras/geometries/TorusKnotGeometry.html

@@ -1,18 +1,30 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-	
+
 		<h1>[name]</h1>
 
 		<div class="desc">Creates a torus knot, the particular shape of which is defined by a pair of coprime integers, p and q.  If p and q are not coprime, the result will be a torus link.</div>
 
+		<iframe src='scenes/geometry-browser.html#TorusKnotGeometry'></iframe>
+
+
+		<h2>Example</h2>
+
+		<code>var geometry = new THREE.TorusKnotGeometry( 10, 3, 100, 16 );
+		var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+		var torusKnot = new THREE.Mesh( geometry, material );
+		scene.add( torusKnot );
+		</code>
+
 
 		<h2>Constructor</h2>
 
@@ -31,7 +43,7 @@
 
 		<h2>Properties</h2>
 
-		
+
 		<div>
 		Each of the contructor parameters is accessible as a property of the same name. Any modification of these properties after instantiation does not change the geometry.
 		</div>

+ 59 - 51
docs/api/extras/geometries/TubeGeometry.html

@@ -1,89 +1,97 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Geometry] &rarr;
-		
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">Creates a tube that extrudes along a 3d curve</div>
 
+		<h2>Example</h2>
 
-		<h2>Constructor</h2>
+<code>
+var CustomSinCurve = THREE.Curve.create(
+    function ( scale ) { //custom curve constructor
+        this.scale = (scale === undefined) ? 1 : scale;
+    },
 
+    function ( t ) { //getPoint: t is between 0-1
+        var tx = t * 3 - 1.5,
+            ty = Math.sin( 2 * Math.PI * t ),
+            tz = 0;
 
-		<h3>[name]([page:todo path], [page:Integer segments], [page:Float radius], [page:Integer radiusSegments], [page:Boolean closed], [page:Boolean debug])</h3>
-		<div>
-		path — todo <br />
-		segments — todo <br />
-		radius — todo <br />
-		radiusSegments — todo <br />
-		closed — todo <br />
-		debug — todo
-		</div>
+        return new THREE.Vector3(tx, ty, tz).multiplyScalar(this.scale);
+    }
+);
 
+var path = new CustomSinCurve( 10 );
 
-		<h2>Properties</h2>
+var geometry = new THREE.TubeGeometry(
+    path,  //path
+    20,    //segments
+    2,     //radius
+    8,     //radiusSegments
+    false  //closed
+);
+</code>
 
-		<h3>.[page:todo path]</h3>
-		<div>
-		todo
-		</div> 
+		<h2>Constructor</h2>
 
-		<h3>.[page:Integer segments]</h3>
-		<div>
-		todo
-		</div> 
 
-		<h3>.[page:Float radius]</h3>
+		<h3>[name]([page:Curve path], [page:Integer segments], [page:Float radius], [page:Integer radiusSegments], [page:Boolean closed])</h3>
 		<div>
-		todo
-		</div> 
+		path — [page:Curve] - A path that inherits from the [page:Curve] base class<br />
+		segments — [page:Integer] - The number of segments that make up the tube, default is 64<br />
+		radius — [page:Float] - The radius of the tube, default is 1<br />
+		radiusSegments — [page:Integer] - The number of segments that make up the cross-section, default is 8 <br />
+		closed — [page:Float] Is the tube open or closed, default is false <br />
+		</div>
 
-		<h3>.[page:Integer radiusSegments]</h3>
-		<div>
-		todo
-		</div> 
 
-		<h3>.[page:Boolean closed]</h3>
+		<h2>Properties</h2>
+
+		<h3>[property:Object parameters]</h3>
 		<div>
-		todo
-		</div> 
+		An object with all of the parameters that were used to generate the geometry.
+		</div>
 
-		<h3>.[page:Array tangents]</h3>
+		<h3>[property:Array tangents]</h3>
 		<div>
-		todo
-		</div> 
+		An array of [page:Vector3] tangents
+		</div>
 
-		<h3>.[page:Array normals]</h3>
+		<h3>[property:Array normals]</h3>
 		<div>
-		todo
-		</div> 
+		An array of [page:Vector3] normals
+		</div>
 
-		<h3>.[page:Array binormals]</h3>
+		<h3>[property:Array binormals]</h3>
 		<div>
-		todo
-		</div> 
+		An array of [page:Vector3] binormals
+		</div>
 
 
 		<h2>Methods</h2>
-		
 
-		<h3>.FrenetFrames([page:todo path], [page:Integer segments], [page:Boolean closed])</h3>
+
+		<h3>THREE.TubeGeometry.FrenetFrames([page:Curve path], [page:Integer segments], [page:Boolean closed])</h3>
 		<div>
-		path — todo <br />
-		segments — todo <br />
-		closed — todo
+		path — A path that inherits from the [page:Curve] base class <br />
+		segments — The number of segments that make up the tube <br />
+		closed — Is the tube open or closed
 		</div>
 		<div>
-		todo
+		A static method that generates the Frenet Frames. This is internally run on any new TubeGeometry and then the
+		generated tangents, normals, and binormals are exposed as properties on the TubeGeometry object.
 		</div>
-		
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 46 - 26
docs/api/extras/helpers/ArrowHelper.html

@@ -1,29 +1,47 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">An 3D arrow Object.</div>
+
+
+		<h2>Example</h2>
+
+		<code>var dir = new THREE.Vector3( 1, 0, 0 );
+		var origin = new THREE.Vector3( 0, 0, 0 );
+		var length = 1;
+		var hex = 0xffff00;
+
+		var arrowHelper = new THREE.ArrowHelper( dir, origin, length, hex );
+		scene.add( arrowHelper );
+		</code>
+
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo dir], [page:todo origin], [page:todo length], [page:todo hex])</h3>
+		<h3>[name]([page:Vector3 dir], [page:Vector3 origin], [page:Number length], [page:Number hex], [page:Number headLength], [page:Number headWidth] )</h3>
 		<div>
-		dir -- todo <br />
-		origin -- todo <br />
-		length -- todo <br />
-		hex -- todo
+		dir -- Vector3 -- direction from origin. Must be a unit vector. <br />
+		origin -- Vector3 <br />
+		length -- scalar <br />
+		hex -- hexadecimal value to define color ex:0xffff00<br />
+		headLength -- The length of the head of the arrow<br />
+		headWidth -- The length of the width of the arrow
 		</div>
 		<div>
-		todo
+		This creates an arrow starting in origin in the direction dir for a certain length. It is also possible to change color.
 		</div>
 
 
@@ -31,42 +49,44 @@
 
 
 
-		<h3>.[page:Line line]</h3>
+		<h3>[property:Line line]</h3>
 		<div>
-		todo
-		</div> 
+		Contains the line part of the arrowHelper.
+		</div>
 
-		<h3>.[page:Mesh cone]</h3>
+		<h3>[property:Mesh cone]</h3>
 		<div>
-		todo
-		</div> 
+		Contains the cone part of the arrowHelper.
+		</div>
 
 		<h2>Methods</h2>
 
 
 
-		<h3>.setColor([page:todo hex]) [page:todo]</h3>
+		<h3>[method:null setColor]([page:Number hex])</h3>
 		<div>
-		hex -- todo
+		hex -- The hexadicmal value of the color
 		</div>
 		<div>
-		todo
+		Sets the color of the arrowHelper.
 		</div>
 
-		<h3>.setLength([page:todo length]) [page:todo]</h3>
+		<h3>[method:null setLength]([page:Number length], [page:Number headLength], [page:Number headWidth])</h3>
 		<div>
-		length -- todo
+		length -- The desired length<br />
+		headLength -- The length of the head of the arrow<br />
+		headWidth -- The length of the width of the arrow
 		</div>
 		<div>
-		todo
+		Sets the length of the arrowhelper.
 		</div>
 
-		<h3>.setDirection([page:todo dir]) [page:todo]</h3>
+		<h3>[method:null setDirection]([page:Vector3 dir])</h3>
 		<div>
-		dir -- todo
+		dir -- The desired direction. Must be a unit vector.
 		</div>
 		<div>
-		todo
+		Sets the direction of the arrowhelper.
 		</div>
 
 		<h2>Source</h2>

+ 18 - 8
docs/api/extras/helpers/AxisHelper.html

@@ -1,26 +1,36 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Line] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">An axis object to visualize the the 3 axes in a simple way. <br />
+			The X axis is red. The Y axis is green. The Z axis is blue.</div>
+
+
+		<h2>Example</h2>
 
+                <code>var axisHelper = new THREE.AxisHelper( 5 );
+		scene.add( axisHelper );
+                </code>
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo size])</h3>
+		<h3>[name]([page:Number size])</h3>
 		<div>
-		size -- todo
+		size -- Define the size of the line representing the axes.
 		</div>
 		<div>
-		todo
+		Creates an axisHelper with lines of length size.
 		</div>
 
 		<h2>Source</h2>

+ 72 - 0
docs/api/extras/helpers/BoundingBoxHelper.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:Mesh] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">A helper object to show the world-axis-aligned bounding box for an object.</div>
+
+
+		<h2>Example</h2>
+
+		<code>var hex  = 0xff0000;
+
+		var sphereMaterial = new THREE.MeshLambertMaterial( {color: 0x00ff00} );
+		var sphere = new THREE.Mesh( new THREE.SphereGeometry( 30, 12, 12), sphereMaterial );
+		scene.add( sphere );
+
+		var bbox = new THREE.BoundingBoxHelper( sphere, hex );
+		bbox.update();
+		scene.add( bbox );
+		</code>
+		<div>Note that this helper will create a wireframe [page:Mesh] object with a [page:BoxGeometry]; the resulting bounding box object will therefore have face diagonals. You may want to use [page:BoxHelper], which generates a [page:Line] object without face diagonals.</div>
+
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]([page:Object3D object], [page:Number hex])</h3>
+		<div>
+		object -- Object3D -- the object3D to show the world-axis-aligned boundingbox.<br />
+		hex -- hexadecimal value to define color ex:0x888888
+		</div>
+		<div>
+		This creates an line object to the boundingbox.
+		</div>
+
+
+		<h2>Properties</h2>
+
+
+
+		<h3>[property:Object3D object]</h3>
+		<div>
+		Contains the object3D to show the world-axis-aligned boundingbox.
+		</div>
+
+		<h3>[property:Box3 box]</h3>
+		<div>
+		Contains the bounding box of the object.
+		</div>
+
+		<h2>Methods</h2>
+
+		<h3>[method:null update]()</h3>
+		<div>
+		Updates the BoundingBoxHelper based on the object property.
+		</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 22 - 25
docs/api/extras/helpers/BoxHelper.html

@@ -1,46 +1,43 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Line] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">Helper object to show a wireframe box (with no face diagonals) around an object</div>
 
 
-		<h2>Constructor</h2>
+		<h2>Example</h2>
 
+		<code>var sphere = new THREE.SphereGeometry();
+		var object = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial(0xff0000) );
+		var box = new THREE.BoxHelper( object );
+		scene.add( box );
+		</code>
 
-		<h3>[name]([page:todo size])</h3>
-		<div>
-		size -- todo
-		</div>
-		<div>
-		todo
-		</div>
 
-		<h2>Properties</h2>
+		<h2>Constructor</h2>
 
+		<h3>[name]( [page:Object3D object] )</h3>
+		<div>Creates a new wireframe box matching the size of the passed box.</div>
 
-		<h3>.[page:array vertices]</h3>
-		<div>
-		todo
-		</div> 
+		<h2>Properties</h2>
 
-		<h2>Methods</h2>
+		<div>(none)</div>
 
+		<h2>Methods</h2>
 
-		<h3>.update([page:todo object]) [page:todo]</h3>
-		<div>
-		object -- todo
-		</div>
+		<h3>[method:null update]( [page:Object3D object] )</h3>
 		<div>
-		todo
-		</div>
+		Updates the helper's geometry to match the dimensions of the [page:Geometry.boundingBox bounding box] of the passed object's geometry.
 
 		<h2>Source</h2>
 

+ 22 - 16
docs/api/extras/helpers/CameraHelper.html

@@ -1,48 +1,54 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Line] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">
+		The camera Helper is an Object3D which helps visualizing what a camera contains in its frustum.<br />
+		It visualizes the frustum with an line Geometry.
+		</div>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo camera])</h3>
+		<h3>[name]([page:Camera camera])</h3>
 		<div>
-		camera -- todo
+		camera -- The camera to visualize.
 		</div>
 		<div>
-		todo
+		This create a new [Name] for the specified camera.
 		</div>
 
 
 		<h2>Properties</h2>
 
 
-		<h3>.[page:object pointMap]</h3>
+		<h3>[property:object pointMap]</h3>
 		<div>
-		todo
-		</div> 
+		This contains the points to viualize the cameraHelper
+		</div>
 
-		<h3>.[page:PerspectiveCamera camera]</h3>
+		<h3>[property:Camera camera]</h3>
 		<div>
-		todo
-		</div> 
+		The camera to visualize.
+		</div>
 
 		<h2>Methods</h2>
 
 
-		<h3>.update() [page:todo]</h3>
+		<h3>[method:null update]()</h3>
 		<div>
-		todo
+		Updates the helper based on the projectionMatrix of the camera.
 		</div>
 
 		<h2>Source</h2>

+ 24 - 21
docs/api/extras/helpers/DirectionalLightHelper.html

@@ -1,54 +1,57 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">Visualize a [page:DirectionalLight]'s effect on the scene</div>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo light], [page:todo sphereSize])</h3>
+		<h3>[name]([page:DirectionalLight light], [page:Number size])</h3>
 		<div>
-		light -- todo <br />
-		sphereSize -- todo
+		light -- [page:DirectionalLight] -- Light to visualize <br />
+		size -- dimensions of the plane
 		</div>
 		<div>
-		todo
+		Creates a line and plane to visualize the light's position and direction
 		</div>
 
 
 		<h2>Properties</h2>
-		
 
-		<h3>.[page:Mesh lightSphere]</h3>
+
+		<h3>[property:Line lightPlane]</h3>
 		<div>
-		todo
-		</div> 
+		Contains the line mesh showing the location of the directional light.
+		</div>
 
-		<h3>.[page:DirectionalLight light]</h3>
+		<h3>[property:DirectionalLight light]</h3>
 		<div>
-		todo
-		</div> 
+		Contains the directionalLight.
+		</div>
 
-		<h3>.[page:Line targetLine]</h3>
+		<h3>[property:Line targetLine]</h3>
 		<div>
-		todo
-		</div> 
+		Contains the line mesh that shows the direction of the light.
+		</div>
 
 		<h2>Methods</h2>
 
 
-		<h3>.update() [page:todo]</h3>
+		<h3>.[method:null update]()</h3>
 		<div>
-		todo
+		Updates the helper to match the position and direction of the [page:.light].
 		</div>
 
 		<h2>Source</h2>

+ 57 - 0
docs/api/extras/helpers/EdgesHelper.html

@@ -0,0 +1,57 @@
+<!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:Line] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Creates a wireframe object that shows the "hard" edges of another object's geometry. To draw a full wireframe image of an object, see [page:WireframeHelper].</div>
+
+		<h2>Example</h2>
+
+		<code>
+		geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
+		material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		object = new THREE.Mesh( geometry, material );
+
+		edges = new THREE.EdgesHelper( object, 0x00ff00 );
+
+		scene.add( object );
+		scene.add( edges );
+		</code>
+
+		<h2>Constructor</h2>
+		<h3>[name]( [page:Object3D object], [page:Color color], [page:Float thresholdAngle] )</h3>
+		<div>
+		object -- Object of which to draw edges <br />
+		color -- Color of the edges.<br />
+		thresholdAngle -- the minimim angle (in degrees), between the face normals of adjacent faces, that is required to render an edge. Default is 0.1.
+
+		</div>
+		<div>
+		Creates a [page:Line], showing only the "hard" edges of the passed object; specifically, no edge will be drawn between faces which are adjacent and coplanar (or nearly coplanar).
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<div>none</div>
+
+
+		<h2>Methods</h2>
+
+		<div>none</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 61 - 0
docs/api/extras/helpers/FaceNormalsHelper.html

@@ -0,0 +1,61 @@
+<!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:Line] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Renders [page:ArrowHelper arrows] to visualize an object's [page:Face3 face] normals. Requires that the object's geometry be an instance of [page:Geometry] (does not work with [page:BufferGeometry]), and that face normals have been specified on all [page:Face3 faces] or calculated with [page:Geometry.computeFaceNormals computeFaceNormals].</div>
+
+		<h2>Example</h2>
+
+		<code>
+		geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
+		material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		object = new THREE.Mesh( geometry, material );
+
+		edges = new THREE.FaceNormalsHelper( object, 2, 0x00ff00, 1 );
+
+		scene.add( object );
+		scene.add( edges );
+		</code>
+		[example:webgl_helpers Example using various helpers]
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Object3D object], [page:Number size], [page:Color color], [page:Number linewidth] )</h3>
+		<div>object -- object for which to render face normals
+		size -- size (length) of the arrows
+		color -- color of the arrows
+		linewidth -- width of the arrow lines
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Object3D object]</h3>
+		<div>
+		The attached object
+		</div>
+
+
+		<h2>Methods</h2>
+
+
+		<h3>[method:null update]()</h3>
+		<div>Updates the face normal preview based on movement of the object.</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 33 - 9
docs/api/extras/helpers/GridHelper.html

@@ -1,27 +1,51 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Line] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">The GridHelper is an object to define grids. Grids are two-dimensional arrays of lines.</div>
+
+
+		<h2>Example</h2>
+
+		<code>var size = 10;
+		var step = 1;
+
+		var gridHelper = new THREE.GridHelper( size, step );
+		scene.add( gridHelper );
+		</code>
+		[example:webgl_helpers Example using various helpers]
 
 
 		<h2>Constructor</h2>
 
+		<h3>[name]([page:number size], [page:Number step])</h3>
+		<div>
+		size -- The size of the grid <br />
+		step -- The size of the step between 2 lines
+		</div>
+		<div>
+		Creates a new [name] of size 'size' and with steps of size 'step'.
+		</div>
+
+		<h2>Methods</h2>
 
-		<h3>[name]([page:todo size], [page:todo step])</h3>
+		<h3>[method:null setColors]([page:number colorCenterLine], [page:Number colorGrid])</h3>
 		<div>
-		size -- todo <br />
-		step -- todo
+		colorCenterLine -- The color of the centerline. This can be a [page:Color], a hexadecimal value and an CSS-Color name. <br />
+		colorGrid -- The color of the lines of the grid. This can be a [page:Color], a hexadecimal value and an CSS-Color name.
 		</div>
 		<div>
-		todo
+		Updates the color of the grid lines.
 		</div>
 
 

+ 21 - 22
docs/api/extras/helpers/HemisphereLightHelper.html

@@ -1,54 +1,53 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">Creates a visual aid for a [page:HemisphereLight HemisphereLight].</div>
 
 
 		<h2>Constructor</h2>
 
-
-		<h3>[name]([page:todo light], [page:todo sphereSize], [page:todo arrowLength], [page:todo domeSize])</h3>
+		<h3>[name]([page:HemisphereLight light], [page:Number sphereSize])</h3>
 		<div>
-		light -- todo <br />
-		sphereSize -- todo <br />
-		arrowLength -- todo <br />
-		domeSize -- todo
+		light -- The HemisphereLight. <br />
+		sphereSize -- The size of the sphere that shows the location.
 		</div>
 		<div>
-		todo
+		Creates an helper for the hemispherelight.
 		</div>
 
 
 		<h2>Properties</h2>
 
-
-		<h3>.[page:Mesh lightSphere]</h3>
+		<h3>[property:Mesh lightSphere]</h3>
 		<div>
-		todo
-		</div> 
+		The sphere mesh that shows the location of the hemispherelight.
+		</div>
 
-		<h3>.[page:HemisphereLight light]</h3>
+		<h3>[property:HemisphereLight light]</h3>
 		<div>
-		todo
-		</div> 
+		Contains the HemisphereLight.
+		</div>
 
 
 		<h2>Methods</h2>
 
-
-		<h3>.update() [page:todo]</h3>
+		<h3>[method:null update]()</h3>
 		<div>
-		todo
+		Updates the helper to match the position and direction of the [page:.light].
 		</div>
 
+
 		<h2>Source</h2>
 
 		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]

+ 29 - 23
docs/api/extras/helpers/PointLightHelper.html

@@ -1,49 +1,55 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Mesh] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">This displays a helper object for a [page:PointLight] </div>
 
 
-		<h2>Constructor</h2>
+		<h2>Example</h2>
 
+		<code>var pointLight = new THREE.PointLight( 0xff0000, 1, 100 );
+		pointLight.position.set( 10, 10, 10 );
+		scene.add( pointLight );
 
-		<h3>[name]([page:todo light], [page:todo sphereSize])</h3>
-		<div>
-		light -- todo <br />
-		sphereSize -- todo
-		</div>
+		var sphereSize = 1;
+		var pointLightHelper = new THREE.PointLightHelper( pointLight, sphereSize );
+		scene.add( pointLightHelper );
+		</code>
+		[example:webgl_helpers Example using various helpers]
+
+
+		<h2>Constructor</h2>
+
+		<h3>[name]([page:PointLight light], [page:Float sphereSize])</h3>
 		<div>
-		todo
+		light -- The [page:PointLight] to display. <br />
+		sphereSize -- The size of the sphere helper
 		</div>
 
 
 		<h2>Properties</h2>
 
-
-		<h3>.[page:Mesh lightSphere]</h3>
+		<h3>[property:PointLight light]</h3>
 		<div>
-		todo
-		</div> 
+		The [page:PointLight] that is being represented.
+		</div>
 
-		<h3>.[page:PointLight light]</h3>
-		<div>
-		todo
-		</div> 
 
 		<h2>Methods</h2>
 
-
-		<h3>.update() [page:todo]</h3>
+		<h3>[method:null update]()</h3>
 		<div>
-		todo
+		Updates the light helper.
 		</div>
 
 		<h2>Source</h2>

+ 29 - 27
docs/api/extras/helpers/SpotLightHelper.html

@@ -1,54 +1,56 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">This displays a cylinder helper object for a [page:SpotLight] </div>
+
+
+		<h2>Example</h2>
+
+		<code>
+		var spotLight = new THREE.SpotLight( 0xffffff );
+		spotLight.position.set( 10, 10, 10 );
+		scene.add( spotLight );
+
+		var spotLightHelper = new THREE.SpotLightHelper( spotLight );
+		scene.add( spotLightHelper );
+		</code>
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo light], [page:todo sphereSize])</h3>
-		<div>
-		light -- todo <br />
-		sphereSize -- todo
-		</div>
+		<h3>[name]([page:SpotLight light])</h3>
 		<div>
-		todo
+		light -- The [page:SpotLight] to display
 		</div>
-		
 
-		<h2>Properties</h2>
 
+		<h2>Properties</h2>
 
-		<h3>.[page:Mesh lightSphere]</h3>
-		<div>
-		todo
-		</div> 
 
-		<h3>.[page:SpotLight light]</h3>
+		<h3>[property:SpotLight light]</h3>
 		<div>
-		todo
-		</div> 
+		The [page:SpotLight]
+		</div>
 
-		<h3>.[page:Mesh lightCone]</h3>
-		<div>
-		todo
-		</div> 
 
 		<h2>Methods</h2>
-		
 
-		<h3>.update() [page:todo]</h3>
+
+		<h3>[method:null update]()</h3>
 		<div>
-		todo
+		Updates the light helper.
 		</div>
 
 		<h2>Source</h2>

+ 61 - 0
docs/api/extras/helpers/VertexNormalsHelper.html

@@ -0,0 +1,61 @@
+<!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:Line] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Renders [page:ArrowHelper arrows] to visualize an object's vertex normal vectors. Requires that normals have been specified in a [page:BufferAttribute custom attribute] or have been calculated using [page:Geometry.computeVertexNormals computeVertexNormals]. </div>
+
+		<h2>Example</h2>
+
+		<code>
+		geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
+		material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		object = new THREE.Mesh( geometry, material );
+
+		edges = new THREE.VertexNormalsHelper( object, 2, 0x00ff00, 1 );
+
+		scene.add( object );
+		scene.add( edges );
+		</code>
+		[example:webgl_helpers Example using various helpers]
+
+		<h2>Constructor</h2>
+
+
+		<h3>[name]( [page:Object3D object], [page:Number size], [page:Color color], [page:Number linewidth] )</h3>
+		<div>object -- object for which to render vertex normals
+		size -- size (length) of the arrows
+		color -- color of the arrows
+		linewidth -- width of the arrow lines
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<h3>[property:Object3D object]</h3>
+		<div>
+		The attached object
+		</div>
+
+
+		<h2>Methods</h2>
+
+
+		<h3>[method:null update]()</h3>
+		<div>Updates the vertex normal preview based on movement of the object.</div>
+
+
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 58 - 0
docs/api/extras/helpers/WireframeHelper.html

@@ -0,0 +1,58 @@
+<!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:Line] &rarr;
+
+		<h1>[name]</h1>
+
+		<div class="desc">Creates a wireframe object that shows the edges of another object's geometry. To draw a  wireframe image showing only "hard" edges (edges between non-coplanar faces), see [page:EdgesHelper].</div>
+
+		<h2>Example</h2>
+
+		<code>
+		geometry = new THREE.BoxGeometry( 10, 10, 10, 2, 2, 2 );
+		material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+		object = new THREE.Mesh( geometry, material );
+
+		wireframe = new THREE.WireframeHelper( object, 0x00ff00 );
+
+		scene.add( object );
+		scene.add( wireframe );
+
+		</code>
+		[example:webgl_helpers Example using various helpers], [example:webgl_materials_wireframe Alternative approach using a shader.]
+
+		<h2>Constructor</h2>
+		<h3>[name]( [page:Object3D object], [page:Color color] )</h3>
+		<div>
+		object -- Object of which to draw edges <br />
+		color -- Color of the edges.
+		</div>
+		<div>
+		Creates a [page:Line], showing only the edges between vertices of an object.
+		</div>
+
+
+		<h2>Properties</h2>
+
+		<div>none</div>
+
+
+		<h2>Methods</h2>
+
+		<div>none</div>
+
+
+		<h2>Source</h2>
+		<h2>Source</h2>
+
+		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+	</body>
+</html>

+ 12 - 9
docs/api/extras/objects/ImmediateRenderObject.html

@@ -1,15 +1,18 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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">todo</div>
+		<div class="desc">base class for immediate rendering objects.</div>
 
 
 		<h2>Constructor</h2>
@@ -17,19 +20,19 @@
 
 		<h3>[name]()</h3>
 		<div>
-		todo
+		This creates a new [name].
 		</div>
 
 
 		<h2>Methods</h2>
 
 
-		<h3>.render([page:todo renderCallback]) [page:todo]</h3>
+		<h3>[method:null render]([page:Function renderCallback])</h3>
 		<div>
-		renderCallback -- todo
+		renderCallback -- A function to render the generated object.
 		</div>
 		<div>
-		todo
+		This function needs to be overridden to start the creation of the object and should call renderCallback when finished.
 		</div>
 
 		<h2>Source</h2>

+ 0 - 63
docs/api/extras/objects/LensFlare.html

@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]([page:todo texture], [page:todo size], [page:todo distance], [page:todo blending], [page:todo color])</h3>
-		<div>
-		texture -- todo <br />
-		size -- todo <br />
-		distance -- todo <br />
-		blending -- todo <br />
-		color -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Properties</h2>
-
-
-
-		<h3>.[page:array lensFlares]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:Vector3 positionScreen]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:todo customUpdateCallback]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h2>Methods</h2>
-
-
-
-		<h3>.updateLensFlares() [page:todo]</h3>
-		<div>
-		todo
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 84 - 64
docs/api/extras/objects/MorphBlendMesh.html

@@ -1,156 +1,176 @@
 <!DOCTYPE html>
 <html lang="en">
 	<head>
-		<meta charset="utf-8" />
-		<script src="../../../list.js"></script>
-		<script src="../../../page.js"></script>
-		<link type="text/css" rel="stylesheet" href="../../../page.css" />
+		<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:Mesh] &rarr;
+
 		<h1>[name]</h1>
 
-		<div class="desc">todo</div>
+		<div class="desc">A mesh that can blend together multiple animated morph targets.</div>
+
+		<h2>Example</h2>
+		<div>
+		[example:webgl_morphtargets_md2_control morphtargets / md2 / controll]
 
 
 		<h2>Constructor</h2>
 
 
-		<h3>[name]([page:todo geometry], [page:todo material])</h3>
-		<div>
-		geometry -- todo <br />
-		material -- todo
-		</div>
+		<h3>[name]([page:Geometry geometry], [page:Material material])</h3>
 		<div>
-		todo
+		geometry — An instance of [page:Geometry].<br />
+		material — An instance of [page:Material] (optional).
 		</div>
-		
 
 		<h2>Properties</h2>
 
 
-		<h3>.[page:object animationsMap]</h3>
+		<h3>[property:object animationsMap]</h3>
 		<div>
-		todo
-		</div> 
+		An object of named animations as added by [page:MorphBlendMesh.createAnimation].
+		</div>
 
-		<h3>.[page:array animationsList]</h3>
+		<h3>[property:array animationsList]</h3>
 		<div>
-		todo
-		</div> 
+		The list of animations as added by [page:MorphBlendMesh.createAnimation].
+		</div>
 
 		<h2>Methods</h2>
 
 
 
-		<h3>.setAnimationWeight([page:todo name], [page:todo weight]) [page:todo]</h3>
+		<h3>[method:null setAnimationWeight]([page:String name], [page:Float weight])</h3>
 		<div>
-		name -- todo <br />
-		weight -- todo
+		name -- The name of the animation<br />
+		weight -- Weight of the animation, typically 0-1
 		</div>
 		<div>
-		todo
+		Set the weight of how much this animation will apply to the overall morph. 0 is off, 1 is full weight.
 		</div>
 
-		<h3>.setAnimationFPS([page:todo name], [page:todo fps]) [page:todo]</h3>
+		<h3>[method:null setAnimationFPS]([page:String name], [page:Float fps])</h3>
 		<div>
-		name -- todo <br />
-		fps -- todo
+		name -- The name of the animation <br />
+		fps -- The number of frames (morphTargets) per second
 		</div>
 		<div>
-		todo
+		A frame is typically 1 morph target.
 		</div>
 
-		<h3>.createAnimation([page:todo name], [page:todo start], [page:todo end], [page:todo fps]) [page:todo]</h3>
+		<h3>[method:null createAnimation]([page:String name], [page:Integer start], [page:Integer end], [page:Float fps])</h3>
 		<div>
-		name -- todo <br />
-		start -- todo <br />
-		end -- todo <br />
-		fps -- todo
+		name -- The name of the animation <br />
+		start -- The starting frame (morph)<br />
+		end -- The ending frame (morph)<br />
+		fps -- How many frames (morphs) to play per second
 		</div>
 		<div>
-		todo
+		Creates an animation object that gets added to both the [page:MorphBlendMesh.animationsMap animationsMap] and
+		[page:MorphBlendMesh.animationsList animationsList].<br/><br/>
+
+		Animation object:<br/><br/>
+		startFrame -- Starting frame<br/>
+		endFrame -- Ending frame<br/>
+		length -- The number of frames<br/>
+		fps -- The frames per second<br/>
+		duration -- The length of the animation in seconds<br/>
+		lastFrame -- The previous frame that was played<br/>
+		currentFrame -- The current frame<br/>
+		active -- Whether or not the animation is being played<br/>
+		time -- The time in seconds of the animation<br/>
+		direction -- Which way to play the animation<br/>
+		weight -- The weight of the animation<br/>
+		directionBackwards -- Is playing backwards<br/>
+		mirroredLoop -- Loop back and forth
 		</div>
 
-		<h3>.playAnimation([page:todo name]) [page:todo]</h3>
+		<h3>[method:null playAnimation]([page:String name])</h3>
 		<div>
-		name -- todo
+		name -- The name of the animation
 		</div>
 		<div>
-		todo
+		Sets the animation to active and animation time to 0
 		</div>
 
-		<h3>.update([page:todo delta]) [page:todo]</h3>
+		<h3>[method:null update]([page:Float delta])</h3>
 		<div>
-		delta -- todo
+		delta -- Time in seconds
 		</div>
 		<div>
-		todo
+		Updates and plays the animation
 		</div>
 
-		<h3>.autoCreateAnimations([page:todo fps]) [page:todo]</h3>
+		<h3>[method:null autoCreateAnimations]([page:Float fps])</h3>
 		<div>
-		fps -- todo
+		fps -- Frames per second
 		</div>
 		<div>
-		todo
+		Goes through the geometry's morphTargets and generates animations based on the morphTargets' names. Names
+		are of the form "walk_01", "walk_02", "walk_03", etc or "run001", "run002", "run003".
 		</div>
 
-		<h3>.setAnimationDuration([page:todo name], [page:todo duration]) [page:todo]</h3>
+		<h3>[method:null setAnimationDuration]([page:String name], [page:Float duration])</h3>
 		<div>
-		name -- todo <br />
-		duration -- todo
+		name -- The name of the animation <br />
+		duration -- How long in seconds to play the animation
 		</div>
 		<div>
-		todo
+		Updates the animation object with proper values to update the duration.
 		</div>
 
-		<h3>.setAnimationDirectionForward([page:todo name]) [page:todo]</h3>
+		<h3>[method:null setAnimationDirectionForward]([page:String name])</h3>
 		<div>
-		name -- todo
+		name -- The name of the animation
 		</div>
 		<div>
-		todo
+		Sets the animation to play forwards
 		</div>
 
-		<h3>.getAnimationDuration([page:todo name]) [page:todo]</h3>
+		<h3>[method:null setAnimationDirectionBackward]([page:String name])</h3>
 		<div>
-		name -- todo
+		name -- The name of the animation
 		</div>
 		<div>
-		todo
+		Sets the animation to play backwards
 		</div>
 
-		<h3>.getAnimationTime([page:todo name]) [page:todo]</h3>
+		<h3>[method:Float getAnimationDuration]([page:String name])</h3>
 		<div>
-		name -- todo
+		name -- The name of the animation
 		</div>
 		<div>
-		todo
+		Returns the duration in seconds of the animation. Returns -1 if it can't be found.
 		</div>
 
-		<h3>.setAnimationDirectionBackward([page:todo name]) [page:todo]</h3>
+		<h3>[method:Float getAnimationTime]([page:String name])</h3>
 		<div>
-		name -- todo
+		name -- The name of the animation
 		</div>
 		<div>
-		todo
+		Returns the current time position of the animation.
 		</div>
 
-		<h3>.setAnimationTime([page:todo name], [page:todo time]) [page:todo]</h3>
+		<h3>[method:null setAnimationTime]([page:String name], [page:Float time])</h3>
 		<div>
-		name -- todo <br />
-		time -- todo
+		name -- The name of the animation <br />
+		time -- The time in seconds
 		</div>
 		<div>
-		todo
+		Sets the current time position of the animation
 		</div>
 
-		<h3>.stopAnimation([page:todo name]) [page:todo]</h3>
+		<h3>[method:null stopAnimation]([page:String name])</h3>
 		<div>
-		name -- todo
+		name -- The name of the animation
 		</div>
 		<div>
-		todo
+		Stops the playback of the animation
 		</div>
 
 		<h2>Source</h2>

+ 0 - 72
docs/api/extras/renderers/plugins/DepthPassPlugin.html

@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Properties</h2>
-
-
-
-		<h3>.[page:boolean enabled]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:object renderTarget]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h2>Methods</h2>
-
-
-
-		<h3>.init([page:todo renderer]) [page:todo]</h3>
-		<div>
-		renderer -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.update([page:todo scene], [page:todo camera]) [page:todo]</h3>
-		<div>
-		scene -- todo <br />
-		camera -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.render([page:todo scene], [page:todo camera]) [page:todo]</h3>
-		<div>
-		scene -- todo <br />
-		camera -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 0 - 52
docs/api/extras/renderers/plugins/LensFlarePlugin.html

@@ -1,52 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<div>
-		todo
-		</div>
-
-
-
-		<h2>Methods</h2>
-
-
-
-		<h3>.init([page:todo renderer]) [page:todo]</h3>
-		<div>
-		renderer -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.render([page:todo scene], [page:todo camera], [page:todo viewportWidth], [page:todo viewportHeight]) [page:todo]</h3>
-		<div>
-		scene -- todo <br />
-		camera -- todo <br />
-		viewportWidth -- todo <br />
-		viewportHeight -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 0 - 58
docs/api/extras/renderers/plugins/ShadowMapPlugin.html

@@ -1,58 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Methods</h2>
-
-
-
-		<h3>.init([page:todo renderer]) [page:todo]</h3>
-		<div>
-		renderer -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.update([page:todo scene], [page:todo camera]) [page:todo]</h3>
-		<div>
-		scene -- todo <br />
-		camera -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.render([page:todo scene], [page:todo camera]) [page:todo]</h3>
-		<div>
-		scene -- todo <br />
-		camera -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 0 - 51
docs/api/extras/renderers/plugins/SpritePlugin.html

@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Constructor</h2>
-
-
-		<h3>[name]()</h3>
-		<div>
-		todo
-		</div>
-
-
-		<h2>Methods</h2>
-
-
-
-		<h3>.init([page:todo renderer]) [page:todo]</h3>
-		<div>
-		renderer -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h3>.render([page:todo scene], [page:todo camera], [page:todo viewportWidth], [page:todo viewportHeight]) [page:todo]</h3>
-		<div>
-		scene -- todo <br />
-		camera -- todo <br />
-		viewportWidth -- todo <br />
-		viewportHeight -- todo
-		</div>
-		<div>
-		todo
-		</div>
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

+ 0 - 33
docs/api/extras/shaders/ShaderFlares.html

@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-	<head>
-		<meta charset="utf-8" />
-		<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">todo</div>
-
-
-		<h2>Properties</h2>
-
-
-		<h3>.[page:object lensFlare]</h3>
-		<div>
-		todo
-		</div> 
-
-		<h3>.[page:object lensFlareVertexTexture]</h3>
-		<div>
-		todo
-		</div> 
-
-
-		<h2>Source</h2>
-
-		[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
-	</body>
-</html>

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff