“d8b3a2bf189a9e7fea76454157b77fa71c9abc05”上不存在“builtin/fetch.c”
README.md 33.5 KB
Newer Older
M
testing  
Mr.doob 已提交
1 2 3
three.js
========

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

6
The aim of the project is to create a lightweight 3D engine with a very low level of complexity — in other words, for dummies. The engine can render using <canvas>, <svg> and WebGL.
7

M
Mr.doob 已提交
8
[Contributors](http://github.com/mrdoob/three.js/contributors)[Getting Started](http://www.aerotwist.com/lab/getting-started-with-three-js/)[API Reference](http://github.com/mrdoob/three.js/wiki/API-Reference)
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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" 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="109" height="82" alt="particles_wave"></a>
M
Mr.doob 已提交
62 63


64 65
### Featured projects ###

66
<a href="http://lights.elliegoulding.com/"><img src="http://mrdoob.github.com/three.js/assets/projects/20_lights.png" width="109" height="82" alt="Lights"></a>
M
Mr.doob 已提交
67 68 69 70 71 72 73 74 75 76 77 78
<a href="http://inear.se/beanstalk/"><img src="http://mrdoob.github.com/three.js/assets/projects/19_beanstalk.png" width="109" height="82" alt="Infinite beanstalk"></a>
<a href="http://superfad.com/missioncontrol/"><img src="http://mrdoob.github.com/three.js/assets/projects/18_missioncontrol.png" width="109" height="82" alt="Mission Control"></a>
<a href="http://ro.me/"><img src="http://mrdoob.github.com/three.js/assets/projects/17_rome.png" width="109" height="82" 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="109" height="82" alt="Globe"></a>
<a href="http://lab.aerotwist.com/webgl/photoparticles/"><img src="http://mrdoob.github.com/three.js/assets/projects/15_photoparticles.png" width="109" height="82" alt="Photoparticles"></a>
<a href="http://plumegraph.org/"><img src="http://mrdoob.github.com/three.js/assets/projects/14_plumegraph.png" width="109" height="82" alt="Plumegraph"></a>
<a href="http://helloracer.com/webgl/"><img src="http://mrdoob.github.com/three.js/assets/projects/13_helloracer.png" width="109" height="82" 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="109" height="82" alt="FastKat"></a>
<a href="http://antimatter15.com/wp/2010/11/digital-sculpting-with-three-js/"><img src="http://mrdoob.github.com/three.js/assets/projects/11_sculpt.png" width="109" height="82" alt="Sculpt"></a>
<a href="http://mrdoob.com/projects/voxels/"><img src="http://mrdoob.github.com/three.js/assets/projects/10_voxels.png" width="109" height="82" alt="Voxels"></a>
<a href="http://thewildernessdowntown.com/"><img src="http://mrdoob.github.com/three.js/assets/projects/09_arcadefire.png" width="109" height="82" 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="109" height="82" alt="Or so they say..."></a>
M
Mr.doob 已提交
79

M
Mr.doob 已提交
80

M
Mr.doob 已提交
81
### Usage ###
M
Mr.doob 已提交
82

M
Mr.doob 已提交
83
Download the [minified library](http://mrdoob.github.com/three.js/build/Three.js) and include it in your html.
M
Mr.doob 已提交
84

M
Mr.doob 已提交
85
	<script src="js/Three.js"></script>
M
Mr.doob 已提交
86

M
Mr.doob 已提交
87
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 已提交
88

M
Mr.doob 已提交
89
	<script>
M
Mr.doob 已提交
90

91 92
		var camera, scene, renderer,
		geometry, material, mesh;
93

M
Mr.doob 已提交
94
		init();
M
Mr.doob 已提交
95
		animate();
M
Mr.doob 已提交
96

M
Mr.doob 已提交
97
		function init() {
M
Mr.doob 已提交
98

M
Mr.doob 已提交
99
			camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 1, 10000 );
100
			camera.position.z = 1000;
M
Mr.doob 已提交
101

M
Mr.doob 已提交
102
			scene = new THREE.Scene();
M
Mr.doob 已提交
103

104
			geometry = new THREE.CubeGeometry( 200, 200, 200 );
105 106 107
			material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );

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

M
Mr.doob 已提交
110 111 112
			renderer = new THREE.CanvasRenderer();
			renderer.setSize( window.innerWidth, window.innerHeight );

113
			document.body.appendChild( renderer.domElement );
M
Mr.doob 已提交
114

115 116
		}

M
Mr.doob 已提交
117 118
		function animate() {

119 120
			// Include examples/js/RequestAnimationFrame.js for cross-browser compatibility.
			requestAnimationFrame( animate );
M
Mr.doob 已提交
121 122 123 124 125
			render();

		}

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

M
Mr.doob 已提交
127 128 129
			mesh.rotation.x += 0.01;
			mesh.rotation.y += 0.02;

130
			renderer.render( scene, camera );
M
Mr.doob 已提交
131

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

M
Mr.doob 已提交
134
	</script>
135 136


137
### Change Log ###
138

M
Mr.doob 已提交
139
2011 10 06 - **r45** (340.863 KB, gzip: 86.568 KB)
M
Mr.doob 已提交
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172

* `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))
* Added a realistic sking shading example. ([alteredq](http://github.com/alteredq))
* 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))
173
* Added Shadow Maps, `Texture`'s `.offset` and `.repeat` and reflections support to Normal Map shader. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
174

M
Mr.doob 已提交
175

M
Mr.doob 已提交
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
2011 09 04 - **r44** (330.356 KB, gzip: 84.039 KB)

* Added `ColladaLoader`. ([timknip2](https://github.com/timknip2))
* Improved `ExtrudeGeometry`. ([zz85](http://github.com/zz85))
* Fixed `CylinderGeometry` normals. ([alteredq](http://github.com/alteredq))
* Fixed issue with `WebGLRenderer.setTexture` ([rectalogic](https://github.com/rectalogic))
* 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 已提交
191 192 193 194 195 196 197 198 199 200
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 已提交
201
* Fixed constructor-less prototypes. ([pushmatrix](http://github.com/pushmatrix))
M
Mr.doob 已提交
202 203 204 205 206 207 208 209
* 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 已提交
210

M
Mr.doob 已提交
211
2011 07 06 - **r42** (277.852 KB, gzip: 69.469 KB)
M
Mr.doob 已提交
212 213 214 215 216

* 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 已提交
217
* Improved Blender exporter. ([alteredq](http://github.com/alteredq), [sweetfish](http://github.com/sweetfish) and [Jhonnyg](http://github.com/Jhonnyg))
M
Mr.doob 已提交
218 219 220 221 222 223
* 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 已提交
224
* Removed most of `SceneUtils` methods. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
225 226 227
* Removed `Sound` object and `SoundRenderer`. ([mrdoob](http://github.com/mrdoob))


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

230
(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 已提交
231 232 233 234

* 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 已提交
235
* Added `Face4` support to `CollisionSystem`. ([NINE78](http://github.com/NINE78))
M
Mr.doob 已提交
236 237
* 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 已提交
238
* Improved `Ray.intersectObject` performance by checking boundingSphere first. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
239
* Added `TrackballCamera`. ([egraether](http://github.com/egraether))
M
Mr.doob 已提交
240
* Added `repeat` and `offset` properties to `Texture`. ([mrdoob](http://github.com/mrdoob) and [alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
241
* Cleaned up `Vector2`, `Vector3` and `Vector4`. ([egraether](http://github.com/egraether))
M
Mr.doob 已提交
242 243


M
Mr.doob 已提交
244 245 246 247
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 已提交
248
* Improved `CollisionSystem`. ([drojdjou](http://github.com/drojdjou) and [alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
249 250 251 252 253 254
* 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 已提交
255 256 257 258 259
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 已提交
260 261
* 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 已提交
262 263 264
* Added `THREE` namespace to all the classes that missed it. ([mrdoob](http://github.com/mrdoob))


265
2011 03 31 - **r38** (225.442 KB, gzip: 55.908 KB)
M
Mr.doob 已提交
266 267 268 269 270 271 272 273 274

* 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))
275
* Added internal program cache to WebGLRenderer (reuse already available programs). ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
276 277


M
Mr.doob 已提交
278 279 280 281 282 283 284 285 286 287
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 已提交
288
2011 03 14 - **r36** (194.547 KB, gzip: 48.608 KB)
M
Mr.doob 已提交
289

M
Mr.doob 已提交
290
* Added 3DSMAX exporter. ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
291 292 293 294
* 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 已提交
295
* Fixed `Camera.updateMatrix` method and `Object3D.updateMatrix`. ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
296 297


298
2011 03 06 - **r35** (187.875 KB, gzip: 46.433 KB)
M
Mr.doob 已提交
299 300 301 302 303 304 305

* 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 已提交
306 307
2011 03 02 - **r34** (186.045 KB, gzip: 45.953 KB)

M
Mr.doob 已提交
308
* Now using camera.matrixWorldInverse instead of camera.matrixWorld for projecting. ([empaempa](http://github.com/empaempa) and [mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
309 310 311 312
* 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 已提交
313 314

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

M
Mr.doob 已提交
316
* Changed build setup (**build/Three.js now also include extras**) ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
317 318 319 320 321 322 323
* 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 已提交
324
* Added hierarchies examples ([mrdoob](http://github.com/mrdoob))
M
Mr.doob 已提交
325 326


M
Mr.doob 已提交
327 328 329 330 331
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 已提交
332
* `Projector` now does frustum culling of all the objects using their sphereBoundingBox. (thx [errynp](http://github.com/errynp))
M
Mr.doob 已提交
333 334 335
* `material` property changed to `materials` globaly.


M
Mr.doob 已提交
336
2010 12 06 - **r31** (79.479 KB, gzip: 18.788 KB)
M
Mr.doob 已提交
337 338 339 340 341 342

* 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 已提交
343
2010 11 30 - **r30** (77.809 KB, gzip: 18.336 KB)
M
Mr.doob 已提交
344

M
Mr.doob 已提交
345
* Reflection and Refraction materials support in `WebGLRenderer` ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
346
* `SmoothShading` support on `CanvasRenderer`/`MeshLambertMaterial`
M
Mr.doob 已提交
347
* `MeshShaderMaterial` for `WebGLRenderer` ([alteredq](http://github.com/alteredq))
M
Mr.doob 已提交
348 349 350
* 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 已提交
351 352 353


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

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


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

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

M
Mr.doob 已提交
371

M
Mr.doob 已提交
372
2010 10 28 - **r25** (54.480 KB)
373 374 375 376 377 378 379 380

* `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 已提交
381
2010 10 06 - **r18** (44.420 KB)
M
Mr.doob 已提交
382 383 384 385 386 387 388

* 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 已提交
389
2010 09 17 - **r17** (39.487 KB)
M
Mr.doob 已提交
390 391 392

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


M
Mr.doob 已提交
396
2010 08 21 - **r16** (35.592 KB)
397 398 399 400 401

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


M
Mr.doob 已提交
402
2010 07 23 - **r15** (32.440 KB)
403 404 405 406 407 408 409 410

* 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 已提交
411
2010 07 17 - **r14** (32.144 KB)
412 413 414 415 416 417 418 419 420 421 422 423 424

* 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 已提交
425
2010 07 12 - **r13** (29.492 KB)
426 427 428 429

* Added `ParticleCircleMaterial` and `ParticleBitmapMaterial`
* `Particle` now use `ParticleCircleMaterial` instead of `ColorFillMaterial`
* `Particle.size` > `Particle.scale.x` and `Particle.scale.y`
430
* `Particle.rotation.z` for rotating the particle
431 432 433
* `SVGRenderer` currently out of sync


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

436 437 438
* 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
439 440


M
Mr.doob 已提交
441
2010 07 03 - **r11** (23.541 KB)
M
Mr.doob 已提交
442 443

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


M
Mr.doob 已提交
448
2010 06 22 - **r10** (23.959 KB)
449 450

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


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

456
* JSLinted.
457
* `autoClear` property for renderers.
M
Mr.doob 已提交
458
* Removed SVG rgba() workaround for WebKit. (WebKit now supports it)
459
* Fixed matrix bug. (transformed objects outside the x axis would get infinitely tall :S)
M
Mr.doob 已提交
460 461


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

464 465 466
* Moved UVs to `Geometry`.
* `CanvasRenderer` expands screen space points (workaround for antialias gaps).
* `CanvasRenderer` supports `BitmapUVMappingMaterial`.
467 468


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

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


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

478 479
* 2d clipping on `CanvasRenderer` and `SVGRenderer`
* `clearRect` optimisations on `CanvasRenderer`
480 481


M
Mr.doob 已提交
482
2010 05 16 - **r5** (19.026 KB)
M
Mr.doob 已提交
483 484

* Removed Class.js dependency
485 486 487 488 489
* Added `THREE` namespace
* `Camera.x` -> `Camera.position.x`
* `Camera.target.x` > `Camera.target.position.x`
* `ColorMaterial` > `ColorFillMaterial`
* `FaceColorMaterial` > `FaceColorFillMaterial`
M
Mr.doob 已提交
490
* Materials are now multipass (use array)
491 492
* Added `ColorStrokeMaterial` and `FaceColorStrokeMaterial`
* `geometry.faces.a` are now indexes instead of references
M
Mr.doob 已提交
493 494


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

497 498
* `SVGRenderer` Particle rendering
* `CanvasRenderer` uses `context.setTransform` to avoid extra calculations
499 500


M
Mr.doob 已提交
501
2010 04 24 - **r3** (16.392 KB)
M
Mr.doob 已提交
502 503

* Fixed incorrect rotation matrix transforms
504
* Added `Plane` and `Cube` primitives
M
Mr.doob 已提交
505 506


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

509
* Improved `Color` handling
M
Mr.doob 已提交
510

M
Mr.doob 已提交
511

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

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