Skip to content

Releases: mrdoob/three.js

r60

23 Aug 01:17

Choose a tag to compare

r60

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r59--r60

(411,202 KB, gzip: 98,754 KB)

Source

  • Camera
  • Color
    • Added fromArray() and toArray() methods. (@mrdoob)
  • BufferGeometry
    • dynamic property set to true by default. (@mrdoob)
  • BufferGeometryLoader
    • First version. Designed structure. (@mrdoob)
  • Face4
    • Gone. Updated geometry generators and loaders to Face3 only. (@mrdoob)
  • FontUtils
  • Frustum
    • Support for boundingSphere with arbitrary center. (@jotinha)
  • GeometryUtils
    • Removed removeMaterials() and setMaterialIndex(). (@mrdoob)
  • Quaternion
    • Throwing new Error instead of just console.error in fromEuler(). (@danielribeiro)
  • Raycaster
    • Removed normalized ray checks and ray to triangle intersection refactoring. (@stephomi)
    • Bounding box intersection check. (@jotinha)
    • Moved moved ray triangle intersection to Ray. (@jotinha)
    • Initialising vA, vB and vC once instead of per object check. (@mrdoob)
    • Support for boundingSphere with arbitrary center. (@jotinha)
    • Support for Non-indexed BufferGeometries. (@mrdoob)
  • SpotlightHelper
  • WebGLRenderer
    • Forced shader precision for ints. (@MiiBond)
    • Enabled program log to determine cause of linking errors. (@MiiBond)
    • Refactored deallocateGeometry. (@MiiBond and @mrdoob)
    • Added support for default attribute values. (@MiiBond)
    • Fixed wrong counting of buffers stored into memory. (@CraigFeldspar)
    • Try to initialise "webgl" context too. (@paullewis and @mrdoob)
  • XHRLoader
    • Notify manager after executing callback. (@mrdoob)

Documentation

  • Raycaster page improvements. (@farism)
  • Color, Vector2, Vector3 pages improvements. (@walfly)

Examples

Editor

  • Added UUID fields to Geometry and Material panels. (@mrdoob)
  • Added File/Share. (@mrdoob)
  • Added File/Open. (@mrdoob)
  • Fixed TransformControls disabling when deleting an object while rollovering it. (@mrdoob)
  • Added BufferGeometry support. (@mrdoob)
  • Added Babylon.js files support. (@mrdoob)
  • Added material blending dropdown. (@mrdoob)
  • Improved UI.Texture and UI.CubeTexture. (@mrdoob)
  • Added option for converting Geometry to BufferGeometry. (@mrdoob)
  • Fixed non pickable objects when deleting object. (@mrdoob)

Known Issues

  • SubdivisionModifier is not as pretty as it used to be.

r59

15 Jul 18:20

Choose a tag to compare

r59

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r58--r59

(422,285 KB, gzip: 99,988 KB)

  • Refactored the editor internal structure. (@arodic and @mrdoob)
  • Added TransformControls. (@arodic and @mrdoob)
  • Documentation improvements. (@erich666, @cjshannon, @ptone, @charlieschwabacher, @mrdoob and @Beuc)
  • Improvements to Blender exporter. (@samuelgrigolato and @gero3)
  • Performance improvements to STLLoader. (@gero3)
  • Fixed serialization error in Maya exporter. (@etic)
  • Added EventDispatcher to Object3D. So far it's just dispatching added and removed events. (@mrdoob)
  • Improvements to ColladaLoader. (@igorcamp, @mrdoob and @tparisi)
  • Corrected face normal calculation in PolyhedronGeometry. (@WestLangley)
  • Fixed SceneLoader with asynchronously loaded object with children. (@ZuBsPaCe)
  • Started VRMLLoader (will probably evolve to X3DLoader instead). (@mrdoob)
  • Added NURBSCurve and NURBSSurface. (@renej-github)
  • Removed Projector dependency in CSS3DRenderer. (@mrdoob)
  • Added FaceNormalsHelper. (@mrdoob)
  • Added Euler and made Object3D's rotation a instance of it. (@bhouston)
  • Improved performance of Geometry.mergeVertices() by 2x. (@bhouston)
  • Changed Material.overdraw from boolean to number. (@nhalloran)
  • Made WebGLRenderer z sorting truly stable. (@mrdoob)
  • Added BufferGeometry support to Raycaster. (@kevinoe and @insominx)
  • Added Oculus Rift headtracking example. (@possan)
  • Improved SpotLightHelper. (@WestLangley)
  • Improved TrackballControls element dimension handling. (@kevinoe)
  • Added uuid property to Object3D, Geometry, BufferGeometry, Material and Texture. (@arodic and @mrdoob)
  • Added Box3.setFromObject() and BoundingBoxHelper. (@WestLangley)
  • Added VertexTangentsHelper. (@WestLangley)
  • Added STLExporter. (@kovacsv)
  • Fixed SkinnedMesh so that it can be used with BufferGeometry. (@crobi)
  • Experimenting with LoadingManager. (@mrdoob)
  • Moved ObjectLoader into build. (@mrdoob)
  • Added .clone() to Scene. (@chmp)
  • Added WebGLRenderer support for LinePieces with BufferGeometry. (@WestLangley)
  • Added chroma aberration parameters to OculusRiftEffect. (@troffmo5)
  • Optimised TorusKnotGeometry. (@rhulha)
  • Fixed WebGLRenderer not disposing cubemap textures. (@MiiBond)
  • Added setColors() to GridHelper. (@verma)
  • Added rotateX(), rotateY() and rotateZ() to Object3D. (@WestLangley)
  • Added vertex/face colors support to GeometryExporter and MaterialExporter. (@mrdoob)
  • Added Object3D.setRotationFrom* routines. (@WestLangley)
  • Added Line support to Raycaster. (@stephomi)
  • Added intersectsBox() to Frustum. (@jotinha)
  • Made Projector z sort stable. (@mrdoob)
  • Added Octree example. (@collinhover)
  • Added uvs support to GeometryExporter. (@mrdoob)

r58

02 Jul 20:19

Choose a tag to compare

r58

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r57--r58

(411,339 KB, gzip: 97,298 KB)

  • Removed Matrix4's translate(), rotateX(), rotateY(), rotateZ() and rotateByAxis(). (@mrdoob)
  • Documentation improvements. (@yurifury, @tmcw, @deepan2k5, @cjshannon and @sh0ot1e)
  • Improvements to WebGLRenderer stable z sorting.(@wereHamster and @mrdoob)
  • Lots of progress in SceneLoader2 and SceneExporter2, now known as ObjectLoader and ObjectExporter. (@mrdoob)
  • Added morphTargets support to MeshNormalMaterial. (@mrdoob)
  • Renamed Matrix4's extractPosition() to copyPosition(). (@mrdoob)
  • Editor now using localStorage for keeping state. (@mrdoob and @sole)
  • Added MaterialLoader and MaterialExporter. (@mrdoob)
  • Renamed Matrix4's setRotationFrom*() to makeRotationFrom*(). (@bhouston)
  • Added setGeometry() and setMaterial() to Mesh. (@mrdoob)
  • Editor primitives can now have the parameters updated at any point. (@mrdoob)
  • Renamed Matrix4's compose() to makeFromPositionQuaternionScale() and added makeFromPositionEulerScale(). (@bhouston)
  • Added rotateOnAxis() and translateOnAxis() to Object3D. (@WestLangley)
  • Removed Matrix4's crossVector(). (@WestLangley)
  • Added PLYLoader (ASCII files). (@menway)
  • Added new BokehShader2. (@zz85)
  • Replaced recursive calls in PolyhedronGeometry with an analytical construction of the geometry. (@bhickey)
  • Renamed Object3D's getChildByName() to getObjectByName() and added getObjectById(). (@mrdoob)
  • Add materialOffset parameter to GeometryUtils's merge(). (@tapio)
  • Now using prototype based EventDispatcher. (@mrdoob)
  • Added linewidth to ShaderMaterial. (@mrdoob)
  • LOD support in Raycaster. (@mrdoob)
  • Added lights support to ColladaLoader. (@mrdoob)
  • Started WebGLRenderer3. Aiming to find better solutions for the WebGL layer. (@mrdoob)
  • Optimized the PCF shadow map filtering to use vector comparisons. (@MiiBond)
  • SoftwareRenderer now handles color changes at runtime. (@mrdoob)
  • Added BoxHelper. (@mrdoob)
  • Removed setClearColorHex(), parameters.clearColor and parameters.clearAlpha. (@mrdoob)
  • Refactored CameraHelper. (@mrdoob)
  • Fixed bug in DirectionalLightHelper and SpotLightHelper. (@mrdoob)
  • Fixed bug in Phong shader when using normal maps with derivative tangents. (@WestLangley)
  • Added support for FaceColors to SoftwareRenderer.
  • Updated convert_obj_three.py docstring with current loader interface. (@wilsaj)
  • Updated OculusRiftEffect. Now it should work with the original OculusRift. (@troffmo5)
  • Fixed vertex normals and UVs for CircleGeometry. (@WestLangley)
  • Added snapping to the editor. (@arodic)
  • Fixed SpotLight's angle and SpotlightHelper's cone size bug. (@WestLangley)
  • Using CanvasRenderer in the editor when there is no WebGL support. (@mrdoob)
  • Update STLLoader with github improvements. (@gero3)
  • Fixed UVs for faces that straddle the seam in PolyhedronGeometry. (@WestLangley)
  • Cleaned up ArrowHelper. (@WestLangley)
  • Added VertexColors support for Line in CanvasRenderer. (@gero3)
  • Fixed TrackballControls zoom increment to normalize responsiveness across various inputs. (@protometa)

r57

03 Jul 11:24

Choose a tag to compare

r57

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r56--r57

(403,818 KB, gzip: 96,416 KB)

  • Added Renderer panel to the editor. (@mrdoob)
  • Added support for custom attributes to BufferGeometry. (@zz85)
  • CanvasRenderer and SVGRenderer behave like WebGLRenderer with MeshLambertMaterial and no lights. (@mrdoob)
  • Added ColorConverter in examples folder. (@bhouston and @zz85)
  • Fixed SVGRenderer when autoClear false. (@mrdoob)
  • Made WebGLRenderer sorting truly stable. (@wereHamster and @mrdoob)
  • Improved Object3D and Camera lookAt(). (@WestLangley)
  • Added RingGeometry. (@merpnderp)
  • Made OBJLoader and OBJMTLLoader more robust. (@mrdoob)
  • Added pan to OrbitControls. (@WestLangley and @mrdoob)
  • Added .getColumnFromMatrix() to Vector3. (@WestLangley)
  • Renamed Object3D properties to userData. (@mrdoob)
  • Simplified PointLightHelper, DirectionalLightHelper, SpotLightHelper and HemisphereLightHelper. (@mrdoob)
  • Added GridHelper. (@mrdoob)
  • Added .clone() method to AmbientLight, PointLight, DirectionalLight, SpotLight and HemisphereLight. (@mrdoob)

r56

03 Jul 11:24

Choose a tag to compare

r56

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r55--r56

(408,927 KB, gzip: 97,095 KB)

r55

03 Jul 11:25

Choose a tag to compare

r55

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r54--r55

(406,462 KB, gzip: 96,542 KB)

  • Added set(), identity(), copy(), multiplyScalar(), determinant(), getInverse() and clone() to Matrix3. (@bhouston)
  • Added a refactored WebGLRenderer under the WebGLRenderer2 name (may become WebGLRenderer next release). (@gero3)
  • Optimised Matrix4's determinant(). (@bhouston)
  • Added negate() to Plane. (@bhouston)
  • Added containsPoint() and intersectsObject() to Frustum. (@bhouston)
  • Fixed MeshNormalMaterial rendering in CanvasRenderer and SVGRenderer. (@mrdoob)
  • Moved Matrix*/Quaternion's multiply* to Vector*'s .apply*. (@mrdoob)
  • Added MeshNormalMaterial with SmoothShading support to CanvasRenderer. (@mrdoob)
  • Added Edit / Clone to the editor. (@mrdoob)
  • Fixes to ArrowHelper. (@bhouston and @WestLangley)
  • Improved Geometry's mergeVertices(). (@bhouston)
  • Improved LatheGeometry. (@bhouston and @WestLangley)
  • Added insertPass to EffectComposer. (@alteredq)
  • Added support for BufferGeometry support to Line. (@arodic)
  • Added intersectsSphere to Sphere. (@Fox32)
  • Added Tone Mapping to WebGLDeferredRenderer. (@alteredq)
  • Made updateMorphTargets a public method of Mesh. (@jonobr1)
  • Added add(), addColors(), addScalar(), multiply() and multiplyScalar() to Color. (@mrdoob)
  • Renamed Vector*/Matrix*/Quaternion's add()/sub()/cross()... to addVectors()/subVectors()/crossVectors().... (@mrdoob)
  • Renamed Vector*/Matrix*/Quaternion's addSelf()/subSelf()/crossSelf()... to add()/sub()/cross().... (@mrdoob)
  • Moved GeometryUtils's explode() and tessellate() to ExplodeModifier and TessellateModifier. (@mrdoob)
  • Moved BinaryLoader out of the lib to examples folder. (@mrdoob)
  • Added OBJExporter. (@mrdoob)
  • Implemented pinch gesture to TrackballControls. (@ericnoble and @mrdoob)
  • Firefox support in OrbitControls.. (@mrdoob)
  • Added zbuffer to SoftwareRenderer and started adding material handling. (@rygorous and @mrdoob)
  • Moved CanvasRenderer/SVGRenderer x/y clipping to Projector. (@mrdoob)
  • Added applyEuler() and applyAxisAngle() in Vector3. (@WestLangley)
  • Improvements to FirstPersonControls. (@RommelVR)

r54

03 Jul 11:25

Choose a tag to compare

r54

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r53--r54

(411,352 KB, gzip: 98,639 KB)

  • Added nodejs, perl, python and ruby based localhost server. (@zz85)
  • Added support for alphaTest to Sprite. (@alteredq)
  • Added WebGLDeferredRenderer with all sorts of goodness. (@MPanknin and @alteredq)
  • Changed Sprite to use SpriteMaterial instead of custom object. (@alteredq)
  • Added sourcemap option to python and nodejs build systems. (@zz85 and @gero3)
  • Non-indexed BufferGeometry. (@benaadams)
  • Added support for loading cubemap DDS textures. (@MiiBond)
  • Added manual mipmapping support to Texture and DataTexture. (@benaadams and @alteredq)
  • Added style strings support Color. (@mrdoob)
  • Added new fbx converter. (@zfedoran)
  • Improvements to SceneLoader. (@RommelVR and @alteredq)
  • Added Plane class and implemented in Frustum. (@bhouston)
  • Added Box3, Sphere math classes and implemented in Geometry. (@bhouston)
  • Added bilinear filtered shadow map. (@MiiBond)
  • Added test framework. (@bhouston)
  • Replaced UV with Vector2. (@mrdoob)
  • Renamed Ray to Raycaster and added new Ray math class. (@bhouston)
  • Improvements to CSS3DRenderer. (@mrdoob, @benaadams and @zz85)
  • Implemented .dispose() to Geometry, BufferGeometry, Texture, Material and WebGLRenderTarget for deallocating from GPU. (@mrdoob and @alteredq)
  • Moved SubdivisionModifier out of the build to examples/js/modifiers. (@mrdoob)
  • Improvements to ColladaLoader. (@dgossow)
  • Added Blender 2.65 exporter. (@tapio)
  • Added .setMaterialIndex() to GeometryUtils. (@gero3)
  • Added benchmark framework. (@bhouston)
  • Fixed Blender scene exporter rotations. (@alteredq and @WestLangley)
  • Added devicePixelRatio support to CanvasRenderer and WebGLRenderer. (@mrdoob)

r53

03 Jul 11:26

Choose a tag to compare

r53

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r52--r53

(392,799 KB, gzip: 96,044 KB)

  • Lots of improvements to editor. Including possibility to export geometry and scene. (@alteredq and @mrdoob)
  • Sprite no longer gets its size from the texture. (@alteredq and @mrdoob)
  • Improved CSS3DRenderer. (@mrdoob and @alteredq)
  • Added support for vertex normals in Ribbon. (@alteredq)
  • Object3D's .clone() is now recursive. (@mrdoob)
  • Added support for fog in Sprite. (@alteredq)
  • Scene format now supports nested lights, cameras and SkinnedMesh, OBJ, VTK, STL, UTF8 and Collada files. (@alteredq)
  • Object3D's .lookAt() now working when using quaternions. (@motin)
  • Added touch support to TrackballControls. (@mrdoob)
  • Object sorting in WebGLRenderer is now stable, regardless of browser implementation. (@alteredq)
  • MeshPhongMaterial's perPixel is not true by default. (@alteredq)
  • Added LineDashedMaterial. (@alteredq)
  • Added .setContextStyle to Color. (@GreyScales)
  • Corrected normal matrix calculations. (@WestLangley)
  • Added KaleidoShader, MirrorShader and RGBShiftShader. (@felixturner)
  • Added area weighted vertex normals computation to Geometry. (@alteredq)
  • Moved geometry.materials to MeshFaceMaterial. (@gero3, @alteredq and @mrdoob)
  • Removed materials and sides from CubeGeometry. (@mrdoob)
  • Move GeometryUtils's .clone() to Geometry. (@mrdoob)

r52

03 Jul 11:27

Choose a tag to compare

r52

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r52--r53

(379,442 KB, gzip: 94,126 KB)

  • New node.js build system. (@gero3)
  • Proper edge handling in SubdivisionModifier. (@zz85)
  • Added defines parameter for adding preprocessor definitions to ShaderMaterial. (@alteredq)
  • Split ShaderExtras into single files (BasicShader, BlendShader, ConvolutionShader, ... ). (@mrdoob)
  • Added HueSaturationShader and BrightnessContrastShader. (@tapio)
  • Fixed ColladaLoader not loading sometimes. (@tapio)
  • Added material.vertexColors = THREE.FaceColor support to CanvasRenderer and SVGRenderer. (@mrdoob)
  • Added Object3D.defaultEulerOrder. (@mrdoob)
  • Replaced SceneUtils.traverseHierarchy and SceneUtils.showHierarchy with object.traverse. (@mrdoob)
  • Added PointerLockControls. (@mrdoob)
  • Completed more documentation pages. (@sole)
  • Split SceneUtils.cloneObject into *.clone(). (@mrdoob)
  • Simplified AxisHelper. (@mrdoob)
  • Added GeometryExporter. (@mrdoob)
  • Improved OrbitControls. (@WestLangley)
  • Added GeometryLibrary, MaterialLibrary, TextureLibrary and ObjectLibrary (bear in mind that you can't rely on the GC now. Call *.deallocate() for removing). (@mrdoob)
  • Moved *Controls out of the lib. (@mrdoob)
  • Fixed shadows getting animated when skinning / morphing was disabled. (@alteredq)
  • Added Manual section to the documentation pages. (@oal)
  • Added .angleTo() to Vector3. (@Wilt)
  • Many improvements to the editor. (@mrdoob and @alteredq)

r51

03 Jul 11:27

Choose a tag to compare

r51

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r50--r51

(405,491 KB, gzip: 99,389 KB)

  • Added STLLoader. (@aleeper and @mrdoob)
  • Optimised Ray (2x faster). (@gero3)
  • Added .getDescendants method to Object3D. (@gero3 and @mrdoob)
  • SkinnedMesh can now work with MorphAnimMesh. (@apendua)
  • Changed CameraHelper. Now it matches the camera independently of where it's in the scene graph. (@mrdoob)
  • Removed the need for manually setting texture units with ShaderMaterial. (@alteredq)
  • Added HemisphereLight. (@alteredq)
  • Fixed WebGLRenderer handling of flip sided materials. (@WestLangley and @alteredq)
  • Added support to normals maps in MeshPhongMaterial. (@crobi and @alteredq)
  • Added handling of BufferGeometry for ParticleSystems. (@alteredq)
  • Added support for compressed textures and cube maps to WebGLRenderer. (@alteredq)
  • Outliner and Material panel improvements to the editor. (@mrdoob)
  • Added material.emissive support to CanvasRenderer and SVGRenderer. (@mrdoob)
  • Added handling of multiple UV layers and anisotropy to Blender exporter. (@alteredq)
  • Handling bump and anisotropy in Loader and SceneLoader. (@alteredq)
  • Added mousewheel support to TrackballControls. (@jherrm)
  • Added MTLLoader and OBJMTLLoader. (@angelxuanchang)
  • Updated UTF8Loader to latest version. (@angelxuanchang and @alteredq)
  • Pluginized SceneLoader. (@alteredq)
  • Added support of object.renderDepth in Projector. (@mrdoob)
  • Made build system more flexible. (@mrdoob)
  • Many enhancements to SceneLoader. (@alteredq)
  • Experimenting with CSS3DRenderer. (@mrdoob)
  • Added ShapeGeometry. (@jonobr1)
  • Fixes to Vector3's .setEulerFromRotationMatrix method.(@WestLangley)