README.md 47.4 KB
Newer Older
M
testing  
Mr.doob 已提交
1 2 3
three.js
========

M
Mr.doob 已提交
4
#### Javascript 3D library ####
M
Mr.doob 已提交
5

M
Mr.doob 已提交
6
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> and WebGL renderers.
7

M
r49  
Mr.doob 已提交
8
[Contributors](http://github.com/mrdoob/three.js/contributors)[Documentation](http://mrdoob.github.com/three.js/docs/latest/)[Getting Started](http://www.aerotwist.com/lab/getting-started-with-three-js/)
M
Mr.doob 已提交
9

M
Mr.doob 已提交
10
More? [#three.js on irc.freenode.net](http://webchat.freenode.net/?channels=three.js)
11

M
Mr.doob 已提交
12

M
Mr.doob 已提交
13
### Featured Examples ([View all](http://mrdoob.github.com/three.js/)) ###
M
Mr.doob 已提交
14

15

M
=_=  
Mr.doob 已提交
16
#### WebGL (Context 3D) ####
17

M
Mr.doob 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
<a href="http://mrdoob.github.com/three.js/examples/webgl_panorama_equirectangular.html"><img src="http://mrdoob.github.com/three.js/assets/examples/44_equirectangular.png" width="102" height="77" alt="equirectangular"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_texture_filters.html"><img src="http://mrdoob.github.com/three.js/assets/examples/42_scissors.png" width="102" height="77" alt="scissors"></a>
<a href="http://mrdoob.github.com/three.js/examples/misc_lookat.html"><img src="http://mrdoob.github.com/three.js/assets/examples/41_lookat.png" width="102" height="77" alt="lookat"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_video.html"><img src="http://mrdoob.github.com/three.js/assets/examples/40_video.png" width="102" height="77" alt="video"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_postprocessing_dof.html"><img src="http://mrdoob.github.com/three.js/assets/examples/39_dof.png" width="102" height="77" alt="dof"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_ribbons.html"><img src="http://mrdoob.github.com/three.js/assets/examples/38_ribbon.png" width="102" height="77" alt="ribbon"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_geometry_colors.html"><img src="http://mrdoob.github.com/three.js/assets/examples/37_vertexcolors.png" width="102" height="77" alt="vertexcolors"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_particles_billboards_colors.html"><img src="http://mrdoob.github.com/three.js/assets/examples/36_particles.png" width="102" height="77" alt="particles"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_lines_colors.html"><img src="http://mrdoob.github.com/three.js/assets/examples/35_lines.png" width="102" height="77" alt="lines"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_shader.html"><img src="http://mrdoob.github.com/three.js/assets/examples/34_shader.png" width="102" height="77" alt="shader"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_normalmap2.html"><img src="http://mrdoob.github.com/three.js/assets/examples/33_materials_normalmap2.png" width="102" height="77" alt="materials_normalmap2"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_grass.html"><img src="http://mrdoob.github.com/three.js/assets/examples/32_materials_grass.png" width="102" height="77" alt="materials_grass"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_normalmap.html"><img src="http://mrdoob.github.com/three.js/assets/examples/31_materials_normalmap.png" width="102" height="77" alt="materials_normalmap"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_geometry_terrain.html"><img src="http://mrdoob.github.com/three.js/assets/examples/30_geometry_terrain_gl.png" width="102" height="77" alt="geometry_terrain_gl"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_geometry_minecraft_ao.html"><img src="http://mrdoob.github.com/three.js/assets/examples/29_geometry_minecraft.png" width="102" height="77" alt="geometry_minecraft"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_shaders_fresnel.html"><img src="http://mrdoob.github.com/three.js/assets/examples/28_materials_shaders_fresnel.png" width="102" height="77" alt="materials_shader_fresnel"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_cars.html"><img src="http://mrdoob.github.com/three.js/assets/examples/25_materials_cars.png" width="102" height="77" alt="materials_cars"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_cubemap_refraction.html"><img src="http://mrdoob.github.com/three.js/assets/examples/18_materials_cubemap_refraction.png" width="102" height="77" alt="materials_cubemap_refraction"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_cubemap_balls_reflection.html"><img src="http://mrdoob.github.com/three.js/assets/examples/15_materials_cubemap_balls_reflection.png" width="102" height="77" alt="materials_cubemap_balls_reflection"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_cubemap_balls_refraction.html"><img src="http://mrdoob.github.com/three.js/assets/examples/16_materials_cubemap_balls_refraction.png" width="102" height="77" alt="materials_cubemap_balls_refraction"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_cubemap_escher.html"><img src="http://mrdoob.github.com/three.js/assets/examples/17_materials_cubemap_escher.png" width="102" height="77" alt="materials_cubemap_escher"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials_cubemap.html"><img src="http://mrdoob.github.com/three.js/assets/examples/14_materials_cubemap.png" width="102" height="77" alt="materials_cubemap"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_materials.html"><img src="http://mrdoob.github.com/three.js/assets/examples/20_materials_gl.png" width="102" height="77" alt="materials_gl"></a>
<a href="http://mrdoob.github.com/three.js/examples/webgl_geometry_large_mesh.html"><img src="http://mrdoob.github.com/three.js/assets/examples/12_large_mesh.png" width="102" height="77" alt="large_mesh"></a>
42 43


M
=_=  
Mr.doob 已提交
44
#### Canvas (Context 2D) ####
M
Mr.doob 已提交
45

M
Mr.doob 已提交
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
<a href="http://mrdoob.github.com/three.js/examples/canvas_materials_reflection.html"><img src="http://mrdoob.github.com/three.js/assets/examples/27_materials_reflection.png" width="102" height="77" alt="materials_reflection"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_materials.html"><img src="http://mrdoob.github.com/three.js/assets/examples/13_materials.png" width="102" height="77" alt="materials"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_materials_depth.html"><img src="http://mrdoob.github.com/three.js/assets/examples/19_materials_depth.png" width="102" height="77" alt="materials_depth"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_materials_normal.html"><img src="http://mrdoob.github.com/three.js/assets/examples/22_materials_normal.png" width="102" height="77" alt="materials_normal"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_lights_pointlights.html"><img src="http://mrdoob.github.com/three.js/assets/examples/09_walthead.png" width="102" height="77" alt="lights_pointlights"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_interactive_cubes.html"><img src="http://mrdoob.github.com/three.js/assets/examples/11_interactive.png" width="102" height="77" alt="interactive_cubes"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_camera_orthographic.html"><img src="http://mrdoob.github.com/three.js/assets/examples/10_orthographic.png" width="102" height="77" alt="camera_ortographic"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_geometry_birds.html"><img src="http://mrdoob.github.com/three.js/assets/examples/08_birds.png" width="102" height="77" alt="geometry_birds"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_geometry_earth.html"><img src="http://mrdoob.github.com/three.js/assets/examples/07_earth.png" width="102" height="77" alt="geometry_earth"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_geometry_terrain.html"><img src="http://mrdoob.github.com/three.js/assets/examples/06_terrain.png" width="102" height="77" alt="geometry_terrain"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_materials_video.html"><img src="http://mrdoob.github.com/three.js/assets/examples/24_materials_video.png" width="102" height="77" alt="materials_video"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_geometry_panorama.html"><img src="http://mrdoob.github.com/three.js/assets/examples/04_vr.png" width="102" height="77" alt="geometry_panorama"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_geometry_cube.html"><img src="http://mrdoob.github.com/three.js/assets/examples/03_cube.png" width="102" height="77" alt="geometry_cube"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_particles_sprites.html"><img src="http://mrdoob.github.com/three.js/assets/examples/26_particles_sprites.png" width="102" height="77" alt="particles_sprites"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_particles_random.html"><img src="http://mrdoob.github.com/three.js/assets/examples/02_random.png" width="102" height="77" alt="particles_random"></a>
<a href="http://mrdoob.github.com/three.js/examples/canvas_particles_waves.html"><img src="http://mrdoob.github.com/three.js/assets/examples/01_waves.png" width="102" height="77" alt="particles_wave"></a>
M
Mr.doob 已提交
62 63


64 65
### Featured projects ###

M
Mr.doob 已提交
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
<a href="http://triggerrally.com/"><img src="http://mrdoob.github.com/three.js/assets/projects/26_triggerrally.png" width="102" height="77" alt="Trigger Rally"></a>
<a href="http://yagiz.me/zombiesvscow/"><img src="http://mrdoob.github.com/three.js/assets/projects/25_zombiesvscow.png" width="102" height="77" alt="Zombies vs Cow"></a>
<a href="http://blackjk3.github.com/threefab/"><img src="http://mrdoob.github.com/three.js/assets/projects/24_threefab.png" width="102" height="77" alt="ThreeFab"></a>
<a href="http://dl.dropbox.com/u/6213850/WebGL/nyanCat/nyan.html"><img src="http://mrdoob.github.com/three.js/assets/projects/23_nyan.png" width="102" height="77" alt="Nyan Cat"></a>
<a href="http://idflood.github.com/ThreeNodes.js/public/index.html"><img src="http://mrdoob.github.com/three.js/assets/projects/22_threenodes.png" width="102" height="77" alt="ThreeNodes"></a>
<a href="http://www.adidas.com/football/uk/pages/f50/"><img src="http://mrdoob.github.com/three.js/assets/projects/21_f50.png" width="102" height="77" alt="f60"></a>
<a href="http://lights.elliegoulding.com/"><img src="http://mrdoob.github.com/three.js/assets/projects/20_lights.png" width="102" height="77" alt="Lights"></a>
<a href="http://inear.se/beanstalk/"><img src="http://mrdoob.github.com/three.js/assets/projects/19_beanstalk.png" width="102" height="77" alt="Infinite beanstalk"></a>
<a href="http://superfad.com/missioncontrol/"><img src="http://mrdoob.github.com/three.js/assets/projects/18_missioncontrol.png" width="102" height="77" alt="Mission Control"></a>
<a href="http://ro.me/"><img src="http://mrdoob.github.com/three.js/assets/projects/17_rome.png" width="102" height="77" alt="ROME"></a>
<a href="http://data-arts.appspot.com/globe"><img src="http://mrdoob.github.com/three.js/assets/projects/16_globe.png" width="102" height="77" alt="Globe"></a>
<a href="http://helloracer.com/webgl/"><img src="http://mrdoob.github.com/three.js/assets/projects/13_helloracer.png" width="102" height="77" alt="HelloRacer"></a>
<a href="http://www.omiod.com/games/fastkat.php"><img src="http://mrdoob.github.com/three.js/assets/projects/12_fastkat.png" width="102" height="77" alt="FastKat"></a>
<a href="http://mrdoob.com/projects/voxels/"><img src="http://mrdoob.github.com/three.js/assets/projects/10_voxels.png" width="102" height="77" alt="Voxels"></a>
<a href="http://thewildernessdowntown.com/"><img src="http://mrdoob.github.com/three.js/assets/projects/09_arcadefire.png" width="102" height="77" alt="The Wilderness Downtown"></a>
<a href="http://xplsv.com/prods/demos/xplsv_orsotheysay/"><img src="http://mrdoob.github.com/three.js/assets/projects/07_orsotheysay.png" width="102" height="77" alt="Or so they say..."></a>
M
Mr.doob 已提交
82

M
Mr.doob 已提交
83

M
Mr.doob 已提交
84
### Usage ###
M
Mr.doob 已提交
85

M
Mr.doob 已提交
86
Download the [minified library](http://mrdoob.github.com/three.js/build/Three.js) and include it in your html.
87
Alternatively see [how to build the library yourself](https://github.com/mrdoob/three.js/wiki/build.py,-or-how-to-generate-a-compressed-Three.js-file). 
M
Mr.doob 已提交
88

M
Mr.doob 已提交
89 90 91
```html
<script src="js/Three.js"></script>
```
M
Mr.doob 已提交
92

M
Mr.doob 已提交
93
This code creates a camera, then creates a scene, adds a cube on it, creates a &lt;canvas&gt; renderer and adds its viewport in the document.body element.
M
Mr.doob 已提交
94

M
Mr.doob 已提交
95 96
```html
<script>
M
Mr.doob 已提交
97

M
Mr.doob 已提交
98 99
	var camera, scene, renderer,
	geometry, material, mesh;
100

M
Mr.doob 已提交
101 102
	init();
	animate();
M
Mr.doob 已提交
103

M
Mr.doob 已提交
104
	function init() {
M
Mr.doob 已提交
105

M
Mr.doob 已提交
106 107
		scene = new THREE.Scene();

M
Mr.doob 已提交
108 109
		camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
		camera.position.z = 1000;
M
Mr.doob 已提交
110
		scene.add( camera );
M
Mr.doob 已提交
111

M
Mr.doob 已提交
112 113
		geometry = new THREE.CubeGeometry( 200, 200, 200 );
		material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
114

M
Mr.doob 已提交
115 116
		mesh = new THREE.Mesh( geometry, material );
		scene.add( mesh );
M
Mr.doob 已提交
117

M
Mr.doob 已提交
118 119
		renderer = new THREE.CanvasRenderer();
		renderer.setSize( window.innerWidth, window.innerHeight );
M
Mr.doob 已提交
120

M
Mr.doob 已提交
121
		document.body.appendChild( renderer.domElement );
M
Mr.doob 已提交
122

M
Mr.doob 已提交
123
	}
124

M
Mr.doob 已提交
125
	function animate() {
M
Mr.doob 已提交
126

M
r47  
Mr.doob 已提交
127
		// note: three.js includes requestAnimationFrame shim
M
Mr.doob 已提交
128 129
		requestAnimationFrame( animate );
		render();
M
Mr.doob 已提交
130

M
Mr.doob 已提交
131
	}
M
Mr.doob 已提交
132

M
Mr.doob 已提交
133
	function render() {
M
Mr.doob 已提交
134

M
Mr.doob 已提交
135 136
		mesh.rotation.x += 0.01;
		mesh.rotation.y += 0.02;
M
Mr.doob 已提交
137

M
Mr.doob 已提交
138
		renderer.render( scene, camera );
M
Mr.doob 已提交
139

M
Mr.doob 已提交
140
	}
141

M
Mr.doob 已提交
142 143
</script>
```
144

M
Mr.doob 已提交
145
### Change log ###
146

M
r49  
Mr.doob 已提交
147 148
2012 04 22 - **r49** (364,242 KB, gzip: 89,057 KB)

M
Mr.doob 已提交
149 150 151
* Yet more `ColladaLoader` improvements. ([ekitspn](http://github.com/ekitson), [AddictArts](http://github.com/AddictArts) and [pblasco](http://github.com/pblasco))
* Created documentation system. ([mrdoob](http://github.com/mrdoob))
* Added some documentation. ([mrdoob](http://github.com/mrdoob) and [sole](http://github.com/sole))
M
r49  
Mr.doob 已提交
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
* Added `MorphBlendMesh`. ([alteredq](http://github.com/alteredq))
* Added `emissive` component to WebGL Materials. ([alteredq](http://github.com/alteredq))
* Added `DepthPassPlugin`. ([alteredq](http://github.com/alteredq))
* Improvements to `Path`. ([asutherland](http://github.com/asutherland))
* Improvements to `Curve`. ([zz85](http://github.com/zz85))
* Added `ArrowHelper`. ([zz85](http://github.com/zz85) and [WestLangley](http://github.com/WestLangley))
* Changed depth sorting in `WebGLRenderer` to use world positions. ([alteredq](http://github.com/alteredq))
* Improved physically based shading in `WebGLRenderer`. ([WestLangley](http://github.com/WestLangley))
* Changed depth sorting in `Projector` to use world positions. ([mrdoob](http://github.com/mrdoob))
* Added physical specular term also to normal map shader. ([alteredq](http://github.com/alteredq))
* Added `TubeGeometry`. ([zz85](http://github.com/zz85) and [WestLangley](http://github.com/WestLangley))
* Added `needsUpdate` flag to `Material`. ([alteredq](http://github.com/alteredq))
* Fixed `GeometryUtils.triangulateQuads`. ([alteredq](http://github.com/alteredq))
* Improvements to `GeometryUtils.tessellate`. ([alteredq](http://github.com/alteredq))
* Change `PlaneGeometry` from XY to XZ. ([mrdoob](http://github.com/mrdoob))
* `WebGLRenderer` back to `highp` shader precision. ([mrdoob](http://github.com/mrdoob))
* Added `deallocateRenderTarget` to `WebGLRenderer. ([kovleouf](http://github.com/kovleouf))
M
Mr.doob 已提交
169
* Support zIndex and scale into `DOMRenderer`. ([ajorkowski](http://github.com/ajorkowski))
M
r49  
Mr.doob 已提交
170 171 172 173 174 175 176 177 178 179
* Improvements to `CameraHelper`. ([zz85](http://github.com/zz85))
* Added 3D spline path extrusion support to `ExtrudeGeometry`. ([zz85](http://github.com/zz85))
* `MarchingCubes` moved out of the lib into `/examples/js` folder. ([alteredq](http://github.com/alteredq))
* Added `ImmediateRenderObject`. ([alteredq](http://github.com/alteredq))
* Renamed `__dirty*` to `*NeedUpdate`. ([valette](http://github.com/valette) and [mrdoob](http://github.com/mrdoob))
* Added `CustomBlending` to `Material` and `premultiplyAlpha` to `Texture`.  ([alteredq](http://github.com/alteredq))
* Improvements to `CubeCamera`. ([alteredq](http://github.com/alteredq) and [mrdoob](http://github.com/mrdoob))
* `CanvasRenderer.setClearColor()` and `.setClearColorHex()` now sets `opacity` to 1 when null. ([mrdoob](http://github.com/mrdoob))
* Fixed broken UVs in `SubdivisionModifier`. ([zz85](http://github.com/zz85))
* Renamed `Matrix4`'s `setTranslation`, `setRotationX`, `setRotationY`, `setRotationZ`, `setRotationAxis` and `setScale` to `makeTranslation`, `makeRotationX`, `makeRotationY`, `makeRotationZ`, `makeRotationAxis` and `makeScale`. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
180
* `Matrix4` static methods `makeFrustum`, `makePerspective`, `makeOrtho` to non-static methods. ([mrdoob](http://github.com/mrdoob))
M
r49  
Mr.doob 已提交
181 182 183 184
* Refactore handling of `Matrix4` to `Matrix3` inversion. ([alteredq](http://github.com/alteredq))
* Added `GodRays` postprocessing. ([huwb](http://github.com/huwb))
* Added `LinePieces` support to `Projector`. ([mrdoob](http://github.com/mrdoob))
* Fixed UVs handling bug in `GeometryUtils.tessellate`. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
185
* Serious performance improvements to `Matrix4`, `Matrix3` and `Frustum`. ([gero3](http://github.com/gero3))
M
r49  
Mr.doob 已提交
186 187 188 189 190 191
* Fixes to `LatheGeometry`. ([zz85](http://github.com/zz85))
* Removed `Vertex`. Use `Vector3` instead. ([mrdoob](http://github.com/mrdoob))
* Implemented real `Spotlight`s. ([alteredq](http://github.com/alteredq))
* Added `ParametricGeometry`. ([zz85](http://github.com/zz85))
* Added basic `OBJLoader` in `/examples/js/loaders` folder. ([mrdoob](http://github.com/mrdoob))
* Moved `ColladaLoader` and `UTF8Loader` to `/examples/js/loaders` folder. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
192
* Added `VTKLoader` to `/examples/js/loaders` folder. ([valette](http://github.com/valette) and [mrdoob](http://github.com/mrdoob))
M
r49  
Mr.doob 已提交
193 194 195 196 197 198 199 200 201 202
* Blender exporter now supports linked groups. ([Druidhawk](http://github.com/Druidhawk))
* Added `visible` property to `Material`. ([mrdoob](http://github.com/mrdoob))
* Removed Lamber+Texture support in `CanvasRenderer`. ([mrdoob](http://github.com/mrdoob))
* Fixed normals in `CylinderGeometry`. ([qiao](http://github.com/qiao))
* Added floating point textures support to `WebGLRenderer`. ([mrdoob](http://github.com/mrdoob))
* Renamed `AnaglyphWebGLRenderer` and co. to `AnaglyphEffect` & co. and moved to `/examples/js/effects`. ([mrdoob](http://github.com/mrdoob))
* Improvements to documentation system. ([mrdoob](http://github.com/mrdoob) and [codler](http://github.com/codler))
* Added `AsciiEffect`. ([zz85](http://github.com/zz85))


M
Mr.doob 已提交
203
2012 03 04 - **r48** (393,626 KB, gzip: 99,395 KB)
204 205

* Added camera support to `ColladaLoader`. ([jbaicoianu](http://github.com/jbaicoianu))
M
Mr.doob 已提交
206 207
* More `ColladaLoader` improvements. ([mrdoob](http://github.com/mrdoob), [AddictArts](http://github.com/AddictArts), [kduong](http://github.com/kduong))
* Updated `IcosahedronGeometry` and `OctahedronGeometry` with [timothypratley](http://github.com/timothypratley)'s `PolyhedronGeometry` code which also brings `TetrahedronGeometry`. ([mrdoob](http://github.com/mrdoob))
208
* `LOD` should now behave as expected from anywhere in the scene graph. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
* Added `THREE.REVISION`. ([mrdoob](http://github.com/mrdoob))
* Fixed cancelRequestAnimationFrame polyfill. ([also](http://github.com/also))
* Improvements to convert_obj_three.py. ([alteredq](http://github.com/alteredq))
* Fixes to `Geometry`'s `.computeBoundingBox` and `.computeBoundingSphere`. ([alteredq](http://github.com/alteredq))
* Refactored ShadowMap shader. ([alteredq](http://github.com/alteredq))
* Fixed handling of meshes with multiple materials in `SceneLoader`. ([alteredq](http://github.com/alteredq))
* Changed `Material`'s default ambient color to 0xffffff. ([alteredq](http://github.com/alteredq))
* Added normals support to `MorphTarget`. ([alteredq](http://github.com/alteredq))
* Added `.setFrameRange` and `.setAnimationLabel` to `MorphAnimMesh`. ([alteredq](http://github.com/alteredq))
* Added handling of named animation sequences to `MorphAnimMesh`. ([alteredq](http://github.com/alteredq))
* Extended `MorphAnimMesh` to be able to play animations backwards. ([alteredq](http://github.com/alteredq))
* Added `.generateDataTexture` to `ImageUtils`. ([alteredq](http://github.com/alteredq))
* Removed hierarchy support and `.intersectScene()` from `Ray`. ([mrdoob](http://github.com/mrdoob))
* Added `.triangulateQuads` to `GeometryUtils`. ([alteredq](http://github.com/alteredq))
* `Projector` and `WebGLRenderer` now handles doubleSided lighting properly. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Fixed `MorphAnimMesh` playback bug where the last frame didn't display. ([alteredq](http://github.com/alteredq))
* `TrackballControls` implements `EventTarget`. ([mrdoob](http://github.com/mrdoob))
* Added `.clone` to `Vertex`, `Face3` and `Face4`. ([alteredq](http://github.com/alteredq))
* Added `.explode` and `.tessellate` to `GeometryUtils`. ([alteredq](http://github.com/alteredq))
* Added `.lerpSelf` to `Vector2`, `Vector3` and `UV`. ([alteredq](http://github.com/alteredq))
* Fixed `DOMRenderer` by using single-materials. ([ajorkowski ](http://github.com/ajorkowski ))
* Added `.setPrecision` to `Ray`. ([mrdoob](http://github.com/mrdoob))
* Blender exporter now honors the "Flip YZ" option. ([rectalogic](http://github.com/rectalogic))
* Added `NoBlending` to `Material` and `WebGLRenderer`. ([kovleouf](http://github.com/kovleouf))
* Added `.applyMatrix` to `Object3D`. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Added `.attach` and `.detach` to `SceneUtils` to retain position in space. ([alteredq](http://github.com/alteredq))
* Added `.sign` to `Math`. ([alteredq](http://github.com/alteredq))
* Implemented sphinx based documentation. ([ivankuzev](http://github.com/ivankuzev))
* Documented part of the API. ([ivankuzev](http://github.com/ivankuzev) and [alteredq](http://github.com/alteredq))
* Replaced sphinx based documentation with compilation-less sytem. ([mrdoob](http://github.com/mrdoob))
* Added default material to `Mesh`, `Line` and `ParticleSystem`. ([mrdoob](http://github.com/mrdoob))
240

M
r47  
Mr.doob 已提交
241 242 243 244 245 246

2012 01 14 - **r47** (378,169 KB, gzip: 96,015 KB)

* Resurrected lens flares as custom `WebGLRenderer` plugin. ([alteredq](http://github.com/alteredq))
* Fixed typos in `Matrix4`'s `transpose()` and `getInverse()`. ([ekitson](http://github.com/ekitson))
* "Pluginized" Sprites and ShadowMaps. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
247
* Added `Frustum` class. ([alteredq](http://github.com/alteredq))
M
r47  
Mr.doob 已提交
248 249 250 251 252 253 254 255
* `ColladaLoader` improvements. ([ekitson](http://github.com/ekitson), [jterrace](http://github.com/jterrace), [mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Lights in a hierarchy are now supported when using `WebGLRenderer`. ([alteredq](http://github.com/alteredq))
* Included requestAnimationFrame shim in the lib. ([mrdoob](http://github.com/mrdoob))
* Started documentation effort in `/doc` (using sphinx). ([jterrace](http://github.com/jterrace))
* Changed default shader precission to `mediump`. ([mrdoob](http://github.com/mrdoob))
* Added support for the format [OpenCTM](http://openctm.sourceforge.net/). ([alteredq](http://github.com/alteredq))
* Added `BufferGeometry` for direct rendering from typed arrays. ([alteredq](http://github.com/alteredq))
* Extended `Texture` class with `format` and `type` parameters. ([alteredq](http://github.com/alteredq))
256
* Automatically reducing texture to max size of WebGL hardware. ([greggman](http://github.com/greggman) and [alteredq](http://github.com/alteredq))
M
r47  
Mr.doob 已提交
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273
* Improved `WebGLRenderer`'s Shadow Map code. ([alteredq](http://github.com/alteredq))
* Checking for `xhr.overrideMimeType` before using it (fixing IE support). ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Improved ATI and ANGLE support in across `WebGLRenderer` shaders. ([alteredq](http://github.com/alteredq))
* Added `generateMipmaps` property to `Texture` and `RenderTarget`. ([alteredq](http://github.com/alteredq))
* `Frustum` properly handling children with scaled parents. ([avinoamr](http://github.com/avinoamr))
* Fixed `Ray` when dealing with big polygons. ([WestLangley](http://github.com/WestLangley))
* Fixed `WebGLRenderer` bug where depth buffer was not cleared. ([ekitson](http://github.com/ekitson))
* Added `CameraHelper` objects for visualising both Perspective and Orthographic cameras. ([alteredq](http://github.com/alteredq))
* Improvements to `Path`. ([zz85](http://github.com/zz85))
* Improvements to Postprocessing stack. ([alteredq](http://github.com/alteredq))
* Added shadows for `DirectionalLight`s. ([alteredq](http://github.com/alteredq))
* Added `Gyroscope` object. ([alteredq](http://github.com/alteredq))
* Added `alpha` and `premultipliedAlpha` parameters to `WebGLRenderer`. ([mrdoob](http://github.com/mrdoob))
* `Ray` properly handling children with scaled parents. ([mrdoob](http://github.com/mrdoob))
* Renamed `Axes` object to `AxisHelper`. ([mrdoob](http://github.com/mrdoob))


274
2011 11 17 - **r46** (343.383 KB, gzip: 87.468 KB)
M
r46  
Mr.doob 已提交
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293

* Added reflections to Normal Mapping. ([alteredq](http://github.com/alteredq))
* `Ray` now checks also object children. ([mrdoob](http://github.com/mrdoob))
* `*Loader.load( parameters )` to `*Loader( url, callback, texturePath )`. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Reworked scene graph setup. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Fixed `CanvasRenderer`'s `SphericalReflectionMapping` rendering. ([mrdoob](http://github.com/mrdoob))
* Improved `SubdivisionModifier`. ([zz85](http://github.com/zz85))
* Refactored `*Controls` to use externally supplied time delta. ([alteredq](http://github.com/alteredq))
* Improvements to `CombinedCamera`. ([zz85](http://github.com/zz85))
* `ColladaLoader` doesn't create extra `Object3D`. ([mrdoob](http://github.com/mrdoob))
* Improvements to Lambert and Phong materials. ([alteredq](http://github.com/alteredq))
* Removed multi-materials for simplicity reasons. (Multi-materials will come back with MeshLayerMaterial hopefully soon) ([alteredq](http://github.com/alteredq))
* Fixed `Ray` not considering edges. ([mrdoob](http://github.com/mrdoob))
* Massive cleanup to `WebGLRenderer`. ([alteredq](http://github.com/alteredq))
* `Ray` optimisations. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* JSON file format is now worker-less (this was crashing Chrome/Firefox with dealing with many assets). ([alteredq](http://github.com/alteredq))
* Improved `CubeGeometry`, `PlaneGeometry`, `IcosahedronGeometry` and `SphereGeometry`. ([mrdoob](http://github.com/mrdoob))
* Improvements to `Curve`. ([zz85](http://github.com/zz85))
* Removed `Collisions` code and focusing on `Ray`. ([mrdoob](http://github.com/mrdoob))
294
* Added `cloneObject()` method to `SceneUtils`. ([alteredq](http://github.com/alteredq))
M
r46  
Mr.doob 已提交
295 296


M
Mr.doob 已提交
297
2011 10 06 - **r45** (340.863 KB, gzip: 86.568 KB)
M
Mr.doob 已提交
298 299 300 301 302 303 304

* `Object/Scene.add*()` and `Object/Scene.remove*()` are now `Object/Scene.add()` and `Object/Scene.remove()`. ([mrdoob](http://github.com/mrdoob))
* `LOD.add()` is now `LOD.addLevel()`. ([mrdoob](http://github.com/mrdoob))
* Reworked `CylinderGeometry`. ([mrdoob](http://github.com/mrdoob))
* Added `.depthWrite` and `.fog` to `Material`. ([alteredq](http://github.com/alteredq))
* Added `.applyMatrix` to `Geometry`. ([mrdoob](http://github.com/mrdoob))
* Improved postprocessing stack in `/examples/js/postprocessing`. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
305
* Added a realistic skin shading example. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330
* Started of a GUI for composing scenes and autogenerate code. ([mrdoob](http://github.com/mrdoob))
* Added `.center()` to `GeometryUtils`. ([alteredq](http://github.com/alteredq))
* Fixed buggy scenegraph manipulation (adding/removing objects). ([jsermeno](http://github.com/jsermeno), [alteredq](http://github.com/alteredq) and [skython](http://github.com/skython))
* Renamed `MeshShaderMaterial` to `ShaderMaterial`. ([alteredq](http://github.com/alteredq))
* Fixed `CanvasRenderer` ignoring color of `SmoothShading`ed `MeshLambertMaterial`. ([mrdoob](http://github.com/mrdoob))
* Renamed `renderer.data` to `renderer.info`. ([mrdoob](http://github.com/mrdoob))
* Fixed ShadowMap aspect ratio. ([kig](http://github.com/kig) and [alteredq](http://github.com/alteredq))
* Fixed `Loader`'s `extractUrlbase()` incorrect output for short urls. ([rectalogic](http://github.com/rectalogic) and [alteredq](http://github.com/alteredq))
* Added `.color` and `.visible` support to `Sprite`. ([alteredq](http://github.com/alteredq))
* Added `Face4`, Vertex Colors and Maya support to `ColladaLoader`. ([mrdoob](http://github.com/mrdoob))
* Rewrite of lighting shader code. ([alteredq](http://github.com/alteredq))
* Improved internal array concatenation approach. ([pyrotechnick](http://github.com/pyrotechnick))
* `WebGLRenderer` performance improvements. ([alteredq](http://github.com/alteredq))
* Added lower level immediate rendering support to `WebGLRenderer`. ([NINE78](http://github.com/NINE78) and [alteredq](http://github.com/alteredq))
* Added `CubeCamera` for rendering cubemaps. ([alteredq](http://github.com/alteredq))
* Improved `GeometryUtils`'s `.mergeVertices()` performance. ([zz85](http://github.com/zz85))
* Removed `Camera`'s `.target`. ([mrdoob](http://github.com/mrdoob))
* `WebGLRenderer`'s `.clear()` is now `.clear( color, depth, stencil )`. ([mrdoob](http://github.com/mrdoob))
* Added `.autoClearColor`, `.autoClearDepth` and `.autoClearStencil` to `WebGLRenderer`. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Added `OctahedronGeometry`. ([clockworkgeek](http://github.com/clockworkgeek))
* Splitted `Camera` into `PerspectiveCamera` and `OrthographicCamera`. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Special cameras are now `*Controls`. ([alteredq](http://github.com/alteredq) and [mrdoob](http://github.com/mrdoob))
* Added `SubdivisionModifier`. ([zz85](http://github.com/zz85))
* `Projector`'s `unprojectVector()` now also works with `OrthographicCamera`. ([jsermeno](http://github.com/jsermeno))
* Added `.setLens()` method to `PerspectiveCamera`. ([zz85](http://github.com/zz85))
331
* Added Shadow Maps, `Texture`'s `.offset` and `.repeat` and reflections support to Normal Map shader. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
332

M
Mr.doob 已提交
333

M
Mr.doob 已提交
334 335
2011 09 04 - **r44** (330.356 KB, gzip: 84.039 KB)

M
r49  
Mr.doob 已提交
336
* Added `ColladaLoader`. ([timknip2](http://github.com/timknip2))
M
Mr.doob 已提交
337 338
* Improved `ExtrudeGeometry`. ([zz85](http://github.com/zz85))
* Fixed `CylinderGeometry` normals. ([alteredq](http://github.com/alteredq))
M
r49  
Mr.doob 已提交
339
* Fixed issue with `WebGLRenderer.setTexture` ([rectalogic](http://github.com/rectalogic))
M
Mr.doob 已提交
340 341 342 343 344 345 346 347 348
* Fixed `TorusGeometry` normals. ([mrdoob](http://github.com/mrdoob))
* Fixed `Ray` behind-ray intersects. ([mrdoob](http://github.com/mrdoob))
* Added `OrthoCamera`. ([alteredq](http://github.com/alteredq))
* Refactored postprocessing effects used in some examples. ([alteredq](http://github.com/alteredq))
* Added `.deallocateObject()` and `.deallocateTexture()` methods to `WebGLRenderer`. ([mrdoob](http://github.com/mrdoob))
* Fixed a glitch in normal and phong shader. ([evanw](http://github.com/evanw) and [alteredq](http://github.com/alteredq))
* Added `.frustumCulled` property to `Object3D`. ([alteredq](http://github.com/alteredq) and [mrdoob](http://github.com/mrdoob))


M
Mr.doob 已提交
349 350 351 352 353 354 355 356 357 358
2011 08 14 - **r43** (298.199 KB, gzip: 74.805 KB)

* Improved Blender exporter - 2.58 (and 2.59) support, normals maps, specular, ao maps... ([alteredq](http://github.com/alteredq))
* Added [CORS](http://www.w3.org/TR/cors/) to `ImageUtils`. ([mrdoob](http://github.com/mrdoob))
* Refactored `TextGeometry` and added `Shape`, `Curve`, `Path`, `ExtrudeGeometry`, `TextPath`. ([zz85](http://github.com/zz85) and [alteredq](http://github.com/alteredq))
* Added handling of custom attributes for `ParticleSystems`. ([alteredq](http://github.com/alteredq))
* Fixed `CanvasRenderer.setClearColor`. ([mrdoob](http://github.com/mrdoob), [StephenHopkins](http://github.com/StephenHopkins) and [sebleedelisle](http://github.com/sebleedelisle))
* Improved uniform handling in `WebGLRenderer`. ([alteredq](http://github.com/alteredq))
* Implemented Shadow Mapping in `WebGLRenderer`. ([alteredq](http://github.com/alteredq))
* Added `Spotlight` light type. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
359
* Fixed constructor-less prototypes. ([pushmatrix](http://github.com/pushmatrix))
M
Mr.doob 已提交
360 361 362 363 364 365 366 367
* Added `DataTexture`. ([alteredq](http://github.com/alteredq))
* `WebGLRenderer` opaque pass now renders from front to back. ([alteredq](http://github.com/alteredq))
* Simplified `Color`. ([mrdoob](http://github.com/mrdoob))
* Added `preserveDrawingBuffer` option to `WebGLRenderer`. ([jeromeetienne](http://github.com/jeromeetienne))
* Added `UTF8Loader` for loading the new, uber compressed, [UTF8 format](http://code.google.com/p/webgl-loader/). ([alteredq](http://github.com/alteredq))
* `CanvasRenderer` now supports `RepeatWrapping`, `texture.offset` and `texture.repeat`. ([mrdoob](http://github.com/mrdoob))
* Removed Stencil Shadows and Lensflare code. ([mrdoob](http://github.com/mrdoob))

M
Mr.doob 已提交
368

M
Mr.doob 已提交
369
2011 07 06 - **r42** (277.852 KB, gzip: 69.469 KB)
M
Mr.doob 已提交
370 371 372 373 374

* Added `AnaglypWebGLRenderer` and `CrosseyedWebGLRenderer`. ([mrdoob](http://github.com/mrdoob), [alteredq](http://github.com/alteredq) and [marklundin](http://github.com/marklundin))
* Added `TextGeometry`. ([zz85](http://github.com/zz85) and [alteredq](http://github.com/alteredq))
* Added `setViewOffset` method to `Camera`. ([greggman](http://github.com/greggman))
* Renamed geometries to `*Geometry`. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
375
* Improved Blender exporter. ([alteredq](http://github.com/alteredq), [sweetfish](http://github.com/sweetfish) and [Jhonnyg](http://github.com/Jhonnyg))
M
Mr.doob 已提交
376 377 378 379 380 381
* Added Blender 2.58 exporter. ([georgik](http://github.com/georgik))
* Fixed `Matrix4.multiply()`. (thanks [lukem1](http://github.com/lukem1)) 
* Added support for additional Euler rotation orders in `Matrix4`. ([rectalogic](http://github.com/rectalogic))
* Renamed `QuakeCamera` to `FirstPersonCamera`. ([chriskillpack](http://github.com/chriskillpack))
* Improved Normal Map Shader. ([alteredq](http://github.com/alteredq))
* `Collision` now supports `Object3D.flipSided` and `Object3D.doubleSided`. ([NINE78](http://github.com/NINE78))
M
Mr.doob 已提交
382
* Removed most of `SceneUtils` methods. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
383 384 385
* Removed `Sound` object and `SoundRenderer`. ([mrdoob](http://github.com/mrdoob))


386
2011 05 31 - **r41/ROME** (265.317 KB, gzip: 64.849 KB)
M
Mr.doob 已提交
387

388
(Up to this point, some [RO.ME](http://ro.me) specific features managed to get in the lib. The aim is to clean this up in next revisions.)
M
Mr.doob 已提交
389 390 391 392

* Improved Blender Object and Scene exporters. ([alteredq](http://github.com/alteredq))
* Fixes on WebGL attributes. ([alteredq](http://github.com/alteredq) and [empaempa](http://github.com/empaempa))
* Reduced overall memory footprint. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
393
* Added `Face4` support to `CollisionSystem`. ([NINE78](http://github.com/NINE78))
M
Mr.doob 已提交
394 395
* Added Blender 2.57 exporter. ([remoe](http://github.com/remoe))
* Added `Particle` support to `Ray`. ([mrdoob](http://github.com/mrdoob) and [jaycrossler](http://github.com/jaycrossler))
M
Mr.doob 已提交
396
* Improved `Ray.intersectObject` performance by checking boundingSphere first. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
397
* Added `TrackballCamera`. ([egraether](http://github.com/egraether))
M
Mr.doob 已提交
398
* Added `repeat` and `offset` properties to `Texture`. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
399
* Cleaned up `Vector2`, `Vector3` and `Vector4`. ([egraether](http://github.com/egraether))
M
Mr.doob 已提交
400 401


M
Mr.doob 已提交
402 403 404 405
2011 04 24 - **r40** (263.774 KB, gzip: 64.320 KB)

* Fixed `Object3D.lookAt`. ([mrdoob](http://github.com/mrdoob))
* More and more Blender exporter goodness. ([alteredq](http://github.com/alteredq) and [mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
406
* Improved `CollisionSystem`. ([drojdjou](http://github.com/drojdjou) and [alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
407 408 409 410 411 412
* Fixes on WebGLRenderer. ([empaempa](http://github.com/empaempa))
* Added `Trident` object. ([sroucheray](http://github.com/sroucheray))
* Added `data` object to Renderers for getting number of vertices/faces/callDraws from last render. ([mrdoob](http://github.com/mrdoob))
* Fixed `Projector` handling Particles with hierarchies. ([mrdoob](http://github.com/mrdoob))


M
Mr.doob 已提交
413 414 415 416 417
2011 04 09 - **r39** (249.048 KB, gzip: 61.020 KB)

* Improved WebGLRenderer program cache. ([alteredq](http://github.com/alteredq))
* Added support for pre-computed edges in loaders and exporters. ([alteredq](http://github.com/alteredq))
* Added `Collisions` classes. ([drojdjou](http://github.com/drojdjou))
M
Mr.doob 已提交
418 419
* Added `Sprite` object. ([empaempa](http://github.com/empaempa))
* Fixed `*Loader` issue where Workers were kept alive and next loads were delayed. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
420 421 422
* Added `THREE` namespace to all the classes that missed it. ([mrdoob](http://github.com/mrdoob))


423
2011 03 31 - **r38** (225.442 KB, gzip: 55.908 KB)
M
Mr.doob 已提交
424 425 426 427 428 429 430 431 432

* Added `LensFlare` light. ([empaempa](http://github.com/empaempa))
* Added `ShadowVolume` object (stencil shadows). ([empaempa](http://github.com/empaempa))
* Improved Blender Exporter plus added Scene support. ([alteredq](http://github.com/alteredq))
* Blender Importer for loading JSON files. ([alteredq](http://github.com/alteredq))
* Added load/complete callbacks to `Loader` ([mrdoob](http://github.com/mrdoob))
* Minor WebGL blend mode clean up. ([mrdoob](http://github.com/mrdoob))
* *Materials now extend Material ([mrdoob](http://github.com/mrdoob))
* `material.transparent` define whether material is transparent or not (before we were guessing). ([mrdoob](http://github.com/mrdoob))
433
* Added internal program cache to WebGLRenderer (reuse already available programs). ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
434 435


M
Mr.doob 已提交
436 437 438 439 440 441 442 443 444 445
2011 03 22 - **r37** (208.495 KB, gzip: 51.376 KB)

* Changed JSON file format. (**Re-exporting of models required**) ([alteredq](http://github.com/alteredq) and [mrdoob](http://github.com/mrdoob))
* Updated Blender and 3DSMAX exporters for new format. ([alteredq](http://github.com/alteredq))
* Vertex colors are now per-face ([alteredq](http://github.com/alteredq))
* `Geometry.uvs` is now a multidimensional array (allowing infinite uv sets) ([alteredq](http://github.com/alteredq))
* `CanvasRenderer` renders `Face4` again (without spliting to 2 `Face3`) ([mrdoob](http://github.com/mrdoob))
* `ParticleCircleMaterial` > `ParticleCanvasMaterial`. Allowing injecting any `canvas.context` code! ([mrdoob](http://github.com/mrdoob))


M
Mr.doob 已提交
446
2011 03 14 - **r36** (194.547 KB, gzip: 48.608 KB)
M
Mr.doob 已提交
447

M
Mr.doob 已提交
448
* Added 3DSMAX exporter. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
449 450 451 452
* Fixed `WebGLRenderer` aspect ratio bug when scene had only one material. ([mrdoob](http://github.com/mrdoob))
* Added `sizeAttenuation` property to `ParticleBasicMaterial`. ([mrdoob](http://github.com/mrdoob))
* Added `PathCamera`. ([alteredq](http://github.com/alteredq))
* Fixed `WebGLRenderer` bug when Camera has a parent. Camera`Camera.updateMatrix` method. ([empaempa](http://github.com/empaempa))
M
Mr.doob 已提交
453
* Fixed `Camera.updateMatrix` method and `Object3D.updateMatrix`. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
454 455


456
2011 03 06 - **r35** (187.875 KB, gzip: 46.433 KB)
M
Mr.doob 已提交
457 458 459 460 461 462 463

* Added methods `translate`, `translateX`, `translateY`, `translateZ` and `lookAt` methods to `Object3D`. ([mrdoob](http://github.com/mrdoob))
* Added methods `setViewport` and `setScissor` to `WebGLRenderer`. ([alteredq](http://github.com/alteredq))
* Added support for non-po2 textures. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
* Minor API clean up. ([mrdoob](http://github.com/mrdoob))


M
Mr.doob 已提交
464 465
2011 03 02 - **r34** (186.045 KB, gzip: 45.953 KB)

M
Mr.doob 已提交
466
* Now using camera.matrixWorldInverse instead of camera.matrixWorld for projecting. ([empaempa](http://github.com/empaempa) and [mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
467 468 469 470
* Camel cased properties and object json format (**Re-exporting of models required**) ([alteredq](http://github.com/alteredq))
* Added `QuakeCamera` for easy fly-bys ([alteredq](http://github.com/alteredq))
* Added `LOD` example ([alteredq](http://github.com/alteredq))

M
Mr.doob 已提交
471 472

2011 02 26 - **r33** (184.483 KB, gzip: 45.580 KB)
M
Mr.doob 已提交
473

M
Mr.doob 已提交
474
* Changed build setup (**build/Three.js now also include extras**) ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
475 476 477 478 479 480 481
* Added `ParticleSystem` object to `WebGLRenderer` ([alteredq](http://github.com/alteredq))
* Added `Line` support to `WebGLRenderer` ([alteredq](http://github.com/alteredq))
* Added vertex colors support to `WebGLRenderer` ([alteredq](http://github.com/alteredq))
* Added `Ribbon` object. ([alteredq](http://github.com/alteredq))
* Added updateable textures support to `WebGLRenderer` ([alteredq](http://github.com/alteredq))
* Added `Sound` object and `SoundRenderer`. ([empaempa](http://github.com/empaempa))
* `LOD`, `Bone`, `SkinnedMesh` objects and hierarchy being developed. ([empaempa](http://github.com/empaempa))
M
Mr.doob 已提交
482
* Added hierarchies examples ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
483 484


M
Mr.doob 已提交
485 486 487 488 489
2010 12 31 - **r32** (89.301 KB, gzip: 21.351 KB)

* `Scene` now supports `Fog` and `FogExp2`. `WebGLRenderer` only right now. ([alteredq](http://github.com/alteredq))
* Added `setClearColor( hex, opacity )` to `WebGLRenderer` and `CanvasRenderer` ([alteredq](http://github.com/alteredq) & [mrdoob](http://github.com/mrdoob))
* `WebGLRenderer` shader system refactored improving performance. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
490
* `Projector` now does frustum culling of all the objects using their sphereBoundingBox. (thx [errynp](http://github.com/errynp))
M
Mr.doob 已提交
491 492 493
* `material` property changed to `materials` globaly.


M
Mr.doob 已提交
494
2010 12 06 - **r31** (79.479 KB, gzip: 18.788 KB)
M
Mr.doob 已提交
495 496 497 498 499 500

* Minor Materials API change (mappings). ([alteredq](http://github.com/alteredq) & [mrdoob](http://github.com/mrdoob))
* Added Filters to `WebGLRenderer`
* `python build.py --includes` generates includes string


M
Mr.doob 已提交
501
2010 11 30 - **r30** (77.809 KB, gzip: 18.336 KB)
M
Mr.doob 已提交
502

M
Mr.doob 已提交
503
* Reflection and Refraction materials support in `WebGLRenderer` ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
504
* `SmoothShading` support on `CanvasRenderer`/`MeshLambertMaterial`
M
Mr.doob 已提交
505
* `MeshShaderMaterial` for `WebGLRenderer` ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
506 507 508
* Removed `RenderableFace4` from `Projector`/`CanvasRenderer` (maybe just temporary).
* Added extras folder with `GeometryUtils`, `ImageUtils`, `SceneUtils` and `ShaderUtils` ([alteredq](http://github.com/alteredq) & [mrdoob](http://github.com/mrdoob))
* Blender 2.5x Slim now the default exporter (old exporter removed).
M
Mr.doob 已提交
509 510 511


2010 11 17 - **r29** (69.563 KB)
M
Mr.doob 已提交
512 513

* **New materials API** Still work in progress, but mostly there. ([alteredq](http://github.com/alteredq) & [mrdoob](http://github.com/mrdoob))
514
* Line clipping in `CanvasRenderer` ([julianwa](http://github.com/julianwa))
M
Mr.doob 已提交
515 516 517 518
* Refactored `CanvasRenderer` and `SVGRenderer`. ([mrdoob](http://github.com/mrdoob))
* Switched to Closure compiler.


M
Mr.doob 已提交
519
2010 11 04 - **r28** (62.802 KB)
520

521
* `Loader` class allows load geometry asynchronously at runtime. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
522
* `MeshPhongMaterial` working with `WebGLRenderer`. ([alteredq](http://github.com/alteredq))
523
* Support for *huge* objects. Max 500k polys and counting. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
524
* `Projector.unprojectVector` and `Ray` class to check intersections with faces (based on [mindlapse](http://github.com/mindlapse) work)
525
* Fixed `Projector` z-sorting (not as jumpy anymore).
526 527
* Fixed Orthographic projection (was y-inverted).
* Hmmm.. lib file size starting to get too big...
528

M
Mr.doob 已提交
529

M
Mr.doob 已提交
530
2010 10 28 - **r25** (54.480 KB)
531 532 533 534 535 536 537 538

* `WebGLRenderer` now up to date with other renderers! ([alteredq](http://github.com/alteredq))
* .obj to .js python converter ([alteredq](http://github.com/alteredq))
* Blender 2.54 exporter
* Added `MeshFaceMaterial` (multipass per face)
* Reworked `CanvasRenderer` and `SVGRenderer` material handling


M
Mr.doob 已提交
539
2010 10 06 - **r18** (44.420 KB)
M
Mr.doob 已提交
540 541 542 543 544 545 546

* Added `PointLight`
* `CanvasRenderer` and `SVGRenderer` basic lighting support (ColorStroke/ColorFill only)
* `Renderer` > `Projector`. `CanvasRenderer`, `SVGRenderer` and `DOMRenderer` do not extend anymore
* Added `computeCentroids` method to `Geometry`


M
Mr.doob 已提交
547
2010 09 17 - **r17** (39.487 KB)
M
Mr.doob 已提交
548 549 550

* Added `Light`, `AmbientLight` and `DirectionalLight` ([philogb](http://github.com/philogb))
* `WebGLRenderer` basic lighting support ([philogb](http://github.com/philogb))
M
Mr.doob 已提交
551
* Memory optimisations
M
Mr.doob 已提交
552 553


M
Mr.doob 已提交
554
2010 08 21 - **r16** (35.592 KB)
555 556 557 558 559

* Workaround for Opera bug (clearRect not working with context with negative scale)
* Additional `Matrix4` and `Vector3` methods


M
Mr.doob 已提交
560
2010 07 23 - **r15** (32.440 KB)
561 562 563 564 565 566 567 568

* Using new object `UV` instead of `Vector2` where it should be used
* Added `Mesh.flipSided` boolean (false by default)
* `CanvasRenderer` was handling UVs at 1,1 as bitmapWidth, bitmapHeight (instead of bitmapWidth - 1, bitmapHeight - 1)
* `ParticleBitmapMaterial.offset` added
* Fixed gap when rendering `Face4` with `MeshBitmapUVMappingMaterial`


M
Mr.doob 已提交
569
2010 07 17 - **r14** (32.144 KB)
570 571 572 573 574 575 576 577 578 579 580 581 582

* Refactored `CanvasRenderer` (more duplicated code, but easier to handle)
* `Face4` now supports `MeshBitmapUVMappingMaterial`
* Changed order of `*StrokeMaterial` parameters. Now it's `color`, `opacity`, `lineWidth`.
* `BitmapUVMappingMaterial` > `MeshBitmapUVMappingMaterial`
* `ColorFillMaterial` > `MeshColorFillMaterial`
* `ColorStrokeMaterial` > `MeshColorStrokeMaterial`
* `FaceColorFillMaterial` > `MeshFaceColorFillMaterial`
* `FaceColorStrokeMaterial` > `MeshFaceColorStrokeMaterial`
* `ColorStrokeMaterial` > `LineColorMaterial`
* `Rectangle.instersects` returned false with rectangles with 0px witdh or height


M
Mr.doob 已提交
583
2010 07 12 - **r13** (29.492 KB)
584 585 586 587

* Added `ParticleCircleMaterial` and `ParticleBitmapMaterial`
* `Particle` now use `ParticleCircleMaterial` instead of `ColorFillMaterial`
* `Particle.size` > `Particle.scale.x` and `Particle.scale.y`
588
* `Particle.rotation.z` for rotating the particle
589 590 591
* `SVGRenderer` currently out of sync


M
Mr.doob 已提交
592
2010 07 07 - **r12** (28.494 KB)
593

594 595 596
* First version of the `WebGLRenderer` (`ColorFillMaterial` and `FaceColorFillMaterial` by now)
* `Matrix4.lookAt` fix (`CanvasRenderer` and `SVGRenderer` now handle the -Y)
* `Color` now using 0-1 floats instead of 0-255 integers
597 598


M
Mr.doob 已提交
599
2010 07 03 - **r11** (23.541 KB)
M
Mr.doob 已提交
600 601

* Blender 2.5 exporter (utils/export_threejs.py) now exports UV and normals (Thx [kikko](http://github.com/kikko))
602 603
* `Scene.add` > `Scene.addObject`
* Enabled `Scene.removeObject`
M
Mr.doob 已提交
604 605


M
Mr.doob 已提交
606
2010 06 22 - **r10** (23.959 KB)
607 608

* Changed Camera system. (Thx [Paul Brunt](http://github.com/supereggbert))
609
* `Object3D.overdraw = true` to enable CanvasRenderer screen space point expansion hack.
610 611


M
Mr.doob 已提交
612
2010 06 20 - **r9** (23.753 KB)
M
Mr.doob 已提交
613

614
* JSLinted.
615
* `autoClear` property for renderers.
M
Mr.doob 已提交
616
* Removed SVG rgba() workaround for WebKit. (WebKit now supports it)
617
* Fixed matrix bug. (transformed objects outside the x axis would get infinitely tall :S)
M
Mr.doob 已提交
618 619


M
Mr.doob 已提交
620
2010 06 06 - **r8** (23.496 KB)
621

622 623 624
* Moved UVs to `Geometry`.
* `CanvasRenderer` expands screen space points (workaround for antialias gaps).
* `CanvasRenderer` supports `BitmapUVMappingMaterial`.
625 626


M
Mr.doob 已提交
627
2010 06 05 - **r7** (22.387 KB)
M
Mr.doob 已提交
628

629 630
* Added Line Object.
* Workaround for WebKit not supporting rgba() in SVG yet.
631
* No need to call updateMatrix(). Use .autoUpdateMatrix = false if needed. (Thx [Gregory Athons](http://github.com/gregmax17)).
M
Mr.doob 已提交
632 633


M
Mr.doob 已提交
634
2010 05 17 - **r6** (21.003 KB)
635

636 637
* 2d clipping on `CanvasRenderer` and `SVGRenderer`
* `clearRect` optimisations on `CanvasRenderer`
638 639


M
Mr.doob 已提交
640
2010 05 16 - **r5** (19.026 KB)
M
Mr.doob 已提交
641 642

* Removed Class.js dependency
643 644 645 646 647
* Added `THREE` namespace
* `Camera.x` -> `Camera.position.x`
* `Camera.target.x` > `Camera.target.position.x`
* `ColorMaterial` > `ColorFillMaterial`
* `FaceColorMaterial` > `FaceColorFillMaterial`
M
Mr.doob 已提交
648
* Materials are now multipass (use array)
649 650
* Added `ColorStrokeMaterial` and `FaceColorStrokeMaterial`
* `geometry.faces.a` are now indexes instead of references
M
Mr.doob 已提交
651 652


M
Mr.doob 已提交
653
2010 04 26 - **r4** (16.274 KB)
654

655 656
* `SVGRenderer` Particle rendering
* `CanvasRenderer` uses `context.setTransform` to avoid extra calculations
657 658


M
Mr.doob 已提交
659
2010 04 24 - **r3** (16.392 KB)
M
Mr.doob 已提交
660 661

* Fixed incorrect rotation matrix transforms
662
* Added `Plane` and `Cube` primitives
M
Mr.doob 已提交
663 664


M
Mr.doob 已提交
665
2010 04 24 - **r2** (15.724 KB)
M
Mr.doob 已提交
666

667
* Improved `Color` handling
M
Mr.doob 已提交
668

M
Mr.doob 已提交
669

M
Mr.doob 已提交
670
2010 04 24 - **r1** (15.25 KB)
M
Mr.doob 已提交
671

M
Mr.doob 已提交
672
* First alpha release