Changelog

2011 11 17 - r46 (343.383 KB, gzip: 87.468 KB)

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

2011 10 06 - r45 (340.863 KB, gzip: 86.568 KB)

  • Object/Scene.add*() and Object/Scene.remove*() are now Object/Scene.add() and Object/Scene.remove(). (mrdoob)
  • LOD.add() is now LOD.addLevel(). (mrdoob)
  • Reworked CylinderGeometry. (mrdoob)
  • Added .depthWrite and .fog to Material. (alteredq)
  • Added .applyMatrix to Geometry. (mrdoob)
  • Improved postprocessing stack in /examples/js/postprocessing. (alteredq)
  • Added a realistic skin shading example. (alteredq)
  • Started of a GUI for composing scenes and autogenerate code. (mrdoob)
  • Added .center() to GeometryUtils. (alteredq)
  • Fixed buggy scenegraph manipulation (adding/removing objects). (jsermeno, alteredq and skython)
  • Renamed MeshShaderMaterial to ShaderMaterial. (alteredq)
  • Fixed CanvasRenderer ignoring color of SmoothShading``ed ``MeshLambertMaterial. (mrdoob)
  • Renamed renderer.data to renderer.info. (mrdoob)
  • Fixed ShadowMap aspect ratio. (kig and alteredq)
  • Fixed Loader‘s extractUrlbase() incorrect output for short urls. (rectalogic and alteredq)
  • Added .color and .visible support to Sprite. (alteredq)
  • Added Face4, Vertex Colors and Maya support to ColladaLoader. (mrdoob)
  • Rewrite of lighting shader code. (alteredq)
  • Improved internal array concatenation approach. (pyrotechnick)
  • WebGLRenderer performance improvements. (alteredq)
  • Added lower level immediate rendering support to WebGLRenderer. (NINE78 and alteredq)
  • Added CubeCamera for rendering cubemaps. (alteredq)
  • Improved GeometryUtils‘s .mergeVertices() performance. (zz85)
  • Removed Camera‘s .target. (mrdoob)
  • WebGLRenderer‘s .clear() is now .clear( color, depth, stencil ). (mrdoob)
  • Added .autoClearColor, .autoClearDepth and .autoClearStencil to WebGLRenderer. (mrdoob and alteredq)
  • Added OctahedronGeometry. (clockworkgeek)
  • Splitted Camera into PerspectiveCamera and OrthographicCamera. (mrdoob and alteredq)
  • Special cameras are now *Controls. (alteredq and mrdoob)
  • Added SubdivisionModifier. (zz85)
  • Projector‘s unprojectVector() now also works with OrthographicCamera. (jsermeno)
  • Added .setLens() method to PerspectiveCamera. (zz85)
  • Added Shadow Maps, Texture‘s .offset and .repeat and reflections support to Normal Map shader. (alteredq)

2011 09 04 - r44 (330.356 KB, gzip: 84.039 KB)

  • Added ColladaLoader. (timknip2)
  • Improved ExtrudeGeometry. (zz85)
  • Fixed CylinderGeometry normals. (alteredq)
  • Fixed issue with WebGLRenderer.setTexture (rectalogic)
  • Fixed TorusGeometry normals. (mrdoob)
  • Fixed Ray behind-ray intersects. (mrdoob)
  • Added OrthoCamera. (alteredq)
  • Refactored postprocessing effects used in some examples. (alteredq)
  • Added .deallocateObject() and .deallocateTexture() methods to WebGLRenderer. (mrdoob)
  • Fixed a glitch in normal and phong shader. (evanw and alteredq)
  • Added .frustumCulled property to Object3D. (alteredq and mrdoob)

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)
  • Added CORS to ImageUtils. (mrdoob)
  • Refactored TextGeometry and added Shape, Curve, Path, ExtrudeGeometry, TextPath. (zz85 and alteredq)
  • Added handling of custom attributes for ParticleSystems. (alteredq)
  • Fixed CanvasRenderer.setClearColor. (mrdoob, StephenHopkins and sebleedelisle)
  • Improved uniform handling in WebGLRenderer. (alteredq)
  • Implemented Shadow Mapping in WebGLRenderer. (alteredq)
  • Added Spotlight light type. (alteredq)
  • Fixed constructor-less prototypes. (pushmatrix)
  • Added DataTexture. (alteredq)
  • WebGLRenderer opaque pass now renders from front to back. (alteredq)
  • Simplified Color. (mrdoob)
  • Added preserveDrawingBuffer option to WebGLRenderer. (jeromeetienne)
  • Added UTF8Loader for loading the new, uber compressed, UTF8 format. (alteredq)
  • CanvasRenderer now supports RepeatWrapping, texture.offset and texture.repeat. (mrdoob)
  • Removed Stencil Shadows and Lensflare code. (mrdoob)

2011 07 06 - r42 (277.852 KB, gzip: 69.469 KB)

  • Added AnaglypWebGLRenderer and CrosseyedWebGLRenderer. (mrdoob, alteredq and marklundin)
  • Added TextGeometry. (zz85 and alteredq)
  • Added setViewOffset method to Camera. (greggman)
  • Renamed geometries to *Geometry. (mrdoob)
  • Improved Blender exporter. (alteredq, sweetfish and Jhonnyg)
  • Added Blender 2.58 exporter. (georgik)
  • Fixed Matrix4.multiply(). (thanks lukem1)
  • Added support for additional Euler rotation orders in Matrix4. (rectalogic)
  • Renamed QuakeCamera to FirstPersonCamera. (chriskillpack)
  • Improved Normal Map Shader. (alteredq)
  • Collision now supports Object3D.flipSided and Object3D.doubleSided. (NINE78)
  • Removed most of SceneUtils methods. (mrdoob)
  • Removed Sound object and SoundRenderer. (mrdoob)

2011 05 31 - r41/ROME (265.317 KB, gzip: 64.849 KB)

(Up to this point, some RO.ME specific features managed to get in the lib. The aim is to clean this up in next revisions.)

  • Improved Blender Object and Scene exporters. (alteredq)
  • Fixes on WebGL attributes. (alteredq and empaempa)
  • Reduced overall memory footprint. (mrdoob)
  • Added Face4 support to CollisionSystem. (NINE78)
  • Added Blender 2.57 exporter. (remoe)
  • Added Particle support to Ray. (mrdoob and jaycrossler)
  • Improved Ray.intersectObject performance by checking boundingSphere first. (mrdoob)
  • Added TrackballCamera. (egraether)
  • Added repeat and offset properties to Texture. (mrdoob and alteredq)
  • Cleaned up Vector2, Vector3 and Vector4. (egraether)

2011 04 24 - r40 (263.774 KB, gzip: 64.320 KB)

  • Fixed Object3D.lookAt. (mrdoob)
  • More and more Blender exporter goodness. (alteredq and mrdoob)
  • Improved CollisionSystem. (drojdjou and alteredq)
  • Fixes on WebGLRenderer. (empaempa)
  • Added Trident object. (sroucheray)
  • Added data object to Renderers for getting number of vertices/faces/callDraws from last render. (mrdoob)
  • Fixed Projector handling Particles with hierarchies. (mrdoob)

2011 04 09 - r39 (249.048 KB, gzip: 61.020 KB)

  • Improved WebGLRenderer program cache. (alteredq)
  • Added support for pre-computed edges in loaders and exporters. (alteredq)
  • Added Collisions classes. (drojdjou)
  • Added Sprite object. (empaempa)
  • Fixed *Loader issue where Workers were kept alive and next loads were delayed. (alteredq)
  • Added THREE namespace to all the classes that missed it. (mrdoob)

2011 03 31 - r38 (225.442 KB, gzip: 55.908 KB)

  • Added LensFlare light. (empaempa)
  • Added ShadowVolume object (stencil shadows). (empaempa)
  • Improved Blender Exporter plus added Scene support. (alteredq)
  • Blender Importer for loading JSON files. (alteredq)
  • Added load/complete callbacks to Loader (mrdoob)
  • Minor WebGL blend mode clean up. (mrdoob)
  • *Materials now extend Material (mrdoob)
  • material.transparent define whether material is transparent or not (before we were guessing). (mrdoob)
  • Added internal program cache to WebGLRenderer (reuse already available programs). (mrdoob)

2011 03 22 - r37 (208.495 KB, gzip: 51.376 KB)

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

2011 03 14 - r36 (194.547 KB, gzip: 48.608 KB)

  • Added 3DSMAX exporter. (alteredq)
  • Fixed WebGLRenderer aspect ratio bug when scene had only one material. (mrdoob)
  • Added sizeAttenuation property to ParticleBasicMaterial. (mrdoob)
  • Added PathCamera. (alteredq)
  • Fixed WebGLRenderer bug when Camera has a parent. Camera``Camera.updateMatrix`` method. (empaempa)
  • Fixed Camera.updateMatrix method and Object3D.updateMatrix. (mrdoob)

2011 03 06 - r35 (187.875 KB, gzip: 46.433 KB)

  • Added methods translate, translateX, translateY, translateZ and lookAt methods to Object3D. (mrdoob)
  • Added methods setViewport and setScissor to WebGLRenderer. (alteredq)
  • Added support for non-po2 textures. (mrdoob and alteredq)
  • Minor API clean up. (mrdoob)

2011 03 02 - r34 (186.045 KB, gzip: 45.953 KB)

  • Now using camera.matrixWorldInverse instead of camera.matrixWorld for projecting. (empaempa and mrdoob)
  • Camel cased properties and object json format (Re-exporting of models required) (alteredq)
  • Added QuakeCamera for easy fly-bys (alteredq)
  • Added LOD example (alteredq)

2011 02 26 - r33 (184.483 KB, gzip: 45.580 KB)

  • Changed build setup (build/Three.js now also include extras) (mrdoob)
  • Added ParticleSystem object to WebGLRenderer (alteredq)
  • Added Line support to WebGLRenderer (alteredq)
  • Added vertex colors support to WebGLRenderer (alteredq)
  • Added Ribbon object. (alteredq)
  • Added updateable textures support to WebGLRenderer (alteredq)
  • Added Sound object and SoundRenderer. (empaempa)
  • LOD, Bone, SkinnedMesh objects and hierarchy being developed. (empaempa)
  • Added hierarchies examples (mrdoob)

2010 12 31 - r32 (89.301 KB, gzip: 21.351 KB)

  • Scene now supports Fog and FogExp2. WebGLRenderer only right now. (alteredq)
  • Added setClearColor( hex, opacity ) to WebGLRenderer and CanvasRenderer (alteredq & mrdoob)
  • WebGLRenderer shader system refactored improving performance. (alteredq)
  • Projector now does frustum culling of all the objects using their sphereBoundingBox. (thx errynp)
  • material property changed to materials globaly.

2010 12 06 - r31 (79.479 KB, gzip: 18.788 KB)

  • Minor Materials API change (mappings). (alteredq & mrdoob)
  • Added Filters to WebGLRenderer
  • python build.py --includes generates includes string

2010 11 30 - r30 (77.809 KB, gzip: 18.336 KB)

  • Reflection and Refraction materials support in WebGLRenderer (alteredq)
  • SmoothShading support on CanvasRenderer/MeshLambertMaterial
  • MeshShaderMaterial for WebGLRenderer (alteredq)
  • Removed RenderableFace4 from Projector/CanvasRenderer (maybe just temporary).
  • Added extras folder with GeometryUtils, ImageUtils, SceneUtils and ShaderUtils (alteredq & mrdoob)
  • Blender 2.5x Slim now the default exporter (old exporter removed).

2010 11 17 - r29 (69.563 KB)

  • New materials API Still work in progress, but mostly there. (alteredq & mrdoob)
  • Line clipping in CanvasRenderer (julianwa)
  • Refactored CanvasRenderer and SVGRenderer. (mrdoob)
  • Switched to Closure compiler.

2010 11 04 - r28 (62.802 KB)

  • Loader class allows load geometry asynchronously at runtime. (alteredq)
  • MeshPhongMaterial working with WebGLRenderer. (alteredq)
  • Support for huge objects. Max 500k polys and counting. (alteredq)
  • Projector.unprojectVector and Ray class to check intersections with faces (based on mindlapse work)
  • Fixed Projector z-sorting (not as jumpy anymore).
  • Fixed Orthographic projection (was y-inverted).
  • Hmmm.. lib file size starting to get too big...

2010 10 28 - r25 (54.480 KB)

  • WebGLRenderer now up to date with other renderers! (alteredq)
  • .obj to .js python converter (alteredq)
  • Blender 2.54 exporter
  • Added MeshFaceMaterial (multipass per face)
  • Reworked CanvasRenderer and SVGRenderer material handling

2010 10 06 - r18 (44.420 KB)

  • 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

2010 09 17 - r17 (39.487 KB)

  • Added Light, AmbientLight and DirectionalLight (philogb)
  • WebGLRenderer basic lighting support (philogb)
  • Memory optimisations

2010 08 21 - r16 (35.592 KB)

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

2010 07 23 - r15 (32.440 KB)

  • 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

2010 07 17 - r14 (32.144 KB)

  • 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

2010 07 12 - r13 (29.492 KB)

  • Added ParticleCircleMaterial and ParticleBitmapMaterial
  • Particle now use ParticleCircleMaterial instead of ColorFillMaterial
  • Particle.size > Particle.scale.x and Particle.scale.y
  • Particle.rotation.z for rotating the particle
  • SVGRenderer currently out of sync

2010 07 07 - r12 (28.494 KB)

  • 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

2010 07 03 - r11 (23.541 KB)

  • Blender 2.5 exporter (utils/export_threejs.py) now exports UV and normals (Thx kikko)
  • Scene.add > Scene.addObject
  • Enabled Scene.removeObject

2010 06 22 - r10 (23.959 KB)

  • Changed Camera system. (Thx Paul Brunt)
  • Object3D.overdraw = true to enable CanvasRenderer screen space point expansion hack.

2010 06 20 - r9 (23.753 KB)

  • JSLinted.
  • autoClear property for renderers.
  • Removed SVG rgba() workaround for WebKit. (WebKit now supports it)
  • Fixed matrix bug. (transformed objects outside the x axis would get infinitely tall :S)

2010 06 06 - r8 (23.496 KB)

  • Moved UVs to Geometry.
  • CanvasRenderer expands screen space points (workaround for antialias gaps).
  • CanvasRenderer supports BitmapUVMappingMaterial.

2010 06 05 - r7 (22.387 KB)

  • Added Line Object.
  • Workaround for WebKit not supporting rgba() in SVG yet.
  • No need to call updateMatrix(). Use .autoUpdateMatrix = false if needed. (Thx Gregory Athons).

2010 05 17 - r6 (21.003 KB)

  • 2d clipping on CanvasRenderer and SVGRenderer
  • clearRect optimisations on CanvasRenderer

2010 05 16 - r5 (19.026 KB)

  • Removed Class.js dependency
  • Added THREE namespace
  • Camera.x -> Camera.position.x
  • Camera.target.x > Camera.target.position.x
  • ColorMaterial > ColorFillMaterial
  • FaceColorMaterial > FaceColorFillMaterial
  • Materials are now multipass (use array)
  • Added ColorStrokeMaterial and FaceColorStrokeMaterial
  • geometry.faces.a are now indexes instead of references

2010 04 26 - r4 (16.274 KB)

  • SVGRenderer Particle rendering
  • CanvasRenderer uses context.setTransform to avoid extra calculations

2010 04 24 - r3 (16.392 KB)

  • Fixed incorrect rotation matrix transforms
  • Added Plane and Cube primitives

2010 04 24 - r2 (15.724 KB)

  • Improved Color handling

2010 04 24 - r1 (15.25 KB)

  • First alpha release

Table Of Contents

Previous topic

three.js - JavaScript 3D library

Next topic

Tutorials

This Page