Skip to content

Releases: mrdoob/three.js

r80

23 Aug 19:49
Compare
Choose a tag to compare
r80

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r79--r80

(478,468 KB, gzip: 124,020 KB)

Thanks to @Rich-Harris, the library now uses ES6 Modules! 🎉 #9310

Source

Documentation

Examples

Editor

Exporters

r79

14 Jul 11:30
Compare
Choose a tag to compare
r79

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r78--r79

(510,888 KB, gzip: 120,561 KB)

Source

Documentation

Examples

Editor

Exporters

r78

20 Jun 20:14
Compare
Choose a tag to compare
r78

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r77--r78

(510,802 KB, gzip: 120,508 KB)

Source

  • Global
    • Removed remaining showStatus, statusDomElement and addStatusElement from Loaders. (@mrdoob)
    • Allow library to be used in non-HTML documents (like SVG). #9041 (@eligrey)
  • Animation/PropertyBinding
  • Audio
  • BoxHelper
  • BufferGeometry
    • Fixed computeBoundingSphere() crash with empty geometries. #9021 (@mrdoob)
  • CameraHelper
  • ImageLoader
    • Use XHRLoader internally so onProgress works. (@mrdoob)
  • Loader
  • Material
  • MaterialLoader
  • MeshPhysicalMaterial
  • OrthographicCamera
  • PolyhedronGeometry
  • Raycaster
    • Correct ray origin in setFromCamera() when using OrthographicCamera. #9098 (@WestLangley)
  • Scene
  • Skeleton
  • SkinnedMesh
  • Vector3
  • WebGLRenderer
    • Moved textures code to WebGLTextures. (@mrdoob)
    • Fixed empty texture handling. (@mrdoob)
    • Modularised normals code to normal_flip.glsl. (@mrdoob)
    • WebGLState null textures are now gl.RGBA. #9107 (@dphil)
    • Added support for custom defines in RawShaderMaterial. #9120 (@WestLangley)
    • Added support for scene.background.
    • Clear opaque and transparent arrays in dispose(). #8987 (@olivierchatry)

Documentation

Examples

  • Moved webgl_buffergeometry_instancing_billboards CPU code to the GPU. #8965 (@BrianCraig)
  • Added GPUComputationRenderer and new GPGPU demos. #9043 (@yomboprime)
  • Removed (no longer needed) uniform types from all examples. (@mrdoob)
  • Removed MaskPass dependency in EffectComposer. #9042 (@mrdoob)
  • Added webgl_panorama_cube example. (@mrdoob)
  • Removed unneeded method resetPose() from MMDHelper. #9085 (@takahirox)
  • Started new GLTFLoader (glTF-Embedded only so far). (@mrdoob)
  • Refactored PLYLoader. (@mrdoob)
  • Fixed touchend bug in TransformControls. (@mrdoob)
  • Support texture coordinates in PLYLoader #9121 (@makc)
  • Workaround for SkyShader in Galaxy S6. #8614 (@brianchirls)
  • Added THREE.ViveController. Used in webvr_vive. (@mrdoob)
  • Added clearColor/clearAlpha to ManualMSAARenderPass. #9124 (@bhouston)
  • Implemented Exit VR in WebVR.js. #8565 (@mrdoob)
  • Replaced custom skyboxes from examples with scene.background. (@mrdoob)

Editor

r77

03 Jun 23:07
Compare
Choose a tag to compare
r77

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r76--r77

(507,498 KB, gzip: 119,482 KB)

Source

Documentation

Examples

Editor

Exporters

  • Blender
    • Fixed issue when exporting mesh materials with Face Materials checkbox checked but there are no face materials to export. #8782 (@carlosanunes)
    • Fix rest export of individual skinned meshes. #8781 (@daniel-nth)

r76

19 Apr 22:10
Compare
Choose a tag to compare
r76

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r75--r76

(507,856 KB, gzip: 118,642 KB)

Source

Documentation

Examples

Editor

  • Fixed castShadow being added to objects with undefined castShadow. (@mrdoob)

Exporters

r75

15 Mar 22:52
Compare
Choose a tag to compare
r75

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r74--r75

(496,830 KB, gzip: 115,563 KB)

Source

Documentation

Examples

Exporters

r74

13 Feb 00:41
Compare
Choose a tag to compare
r74

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r73--r74

(476,935 KB, gzip: 110,774 KB)

Source

Documentation

Examples

Editor

Exporters

Unit tests

r73

16 Oct 19:07
Compare
Choose a tag to compare
r73

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r72--r73

(430,630 KB, gzip: 99,996 KB)

Source

Documentation

Examples

  • Added rotation snap support to TransformControls. (@elisee)
  • MTLLoader clean up. (@dhritzkiv)
  • Made OrthographicTrackballControls zoom behaviour consistent with TrackballControls. (@NicolasRannou)
  • Added AMFLoader #7210 (@tamarintech)
  • SVGLoader robustness #7232 (@agnivade)
  • New version of SEA3DLoader #7253 (@sunag)
  • ColladaLoader.parse() now expects a string instead of xml. (@mrdoob)
  • Started BufferGeometry based ColladaLoader2. (@mrdoob)
  • Added KMZLoader (Sketchup, Google Earth). (@mrdoob)
  • Fixed interactive examples on retina displays. (@leitzler)
  • CanvasRenderer/SVGRenderer removed broken MeshDepthMaterial. (@mrdoob)
  • VRMLLoader robustness #7328 (@makc)
  • Fixed OrbitControls scroll in Firefox #7331 (@fkammer)

Editor

  • Fixed geometry and object export #7220 (@tschw and @mrdoob)
  • Removed object.parent select box (too slow). (@mrdoob)
  • Fixed File/New when autosave disabled. (@mrdoob)
  • Added basic shadow support. (@mrdoob)
  • Export no-pretty json if browser can't prettify #7349 (@makc)
  • Added version number. (@mrdoob)

Exporters

  • Blender
    • Improved performance by disabling logging. (@repsac)
    • Fixed indexed buffer export #7221 (@tschw)
    • Exported armatures are added to active selections #7259 (@repsac)

Unit tests

r72

28 Sep 23:14
Compare
Choose a tag to compare
r72

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r71--r72

(423,927 KB, gzip: 99,461 KB)

Source

  • Global
    • Added toJSON() to all objects. (@kumavis)
    • Added EdgesGeometry and WireframeGeometry. (@mrdoob)
    • Added InstancedBufferAttribute, InstancedBufferGeometry, InstancedInterleavedBuffer, InterleavedBuffer and InterleavedBufferAttribute. (@benaadams, @brason)
    • Added DirectGeometry (basically, what Geometry should have been). (@mrdoob)
    • Added npm support. (@bripkens)
    • Added CatmullRomCurve3. (@zz85)
    • Added CircleBufferGeometry. (@benaadams, @brason)
    • Using copy() in clone() to avoid duplicated code. (@dubejf, @mrdoob)
    • Added native AMD support. (@missingdays)
    • Added clone() to all objects. (@dhritzkiv)
    • Added CanvasTexture object. (@mrdoob)
    • Removed DynamicBufferAttribute. (@mrdoob)
    • Removed AreaLight. (@mrdoob)
    • Removed tangents code. (@mrdoob, @tschw)
    • Removed groups/drawcalls/offsets code from raycast() mehotds. (@mrdoob)
    • Renamed PointCloud to Points. (@mrdoob)
  • ArrowHelper
    • Support arrows with zero-length tails. (@tinaun)
  • AudioListener
    • Removed calls to listener.setVelocity. (@mrdoob)
  • Bone
  • BoxHelper
  • BufferAttribute
  • BufferGeometry
  • Cache
    • Added enabled property (default false). (@dubejf)
  • Color
  • CubeCamera
    • Restore the default framebuffer in updateCubeMap(). (@WestLangley)
  • CubeTexture
  • DataTexture
    • flipY is now false by default. (@gero3)
    • generateMipmaps is now false by default. (@gero3)
    • magFilter is now NearestFilter by default. (@gero3)
    • minFilter is now NearestFilter by default. (@gero3)
  • EllipseCurve
  • Geometry
  • Group
  • Gyroscope
    • Moved to examples folder. (@mrdoob)
  • LensFlare
  • Line
  • LineSegments
  • Loader
  • LoadingManager
  • LOD
  • Material
    • Added depthFunc property. (@benaadams)
    • Warn user when property doesn't exist. (@mrdoob)
  • MaterialLoader
  • Matrix4
    • Only create internal vectors when needed. (@coballast)
  • Mesh
    • Removed morphTargetForcedOrder(). (@mrdoob)
    • Return uv in raycast(). (@rfm1201)
  • MeshBasicMaterial
  • MeshLambertMaterial
  • MeshPhongMaterial
  • MorphBlendMesh
  • Line
    • Return raycast() intersection distance in world space. (@jee7)
  • Object3D
    • Clone renderOrder. (@mrdoob)
    • parent is now null by default. (@mrdoob)
    • Added DefaultMatrixAutoUpdate static property. (@nhalloran)
  • ObjectLoader
    • Support castShadow and receiveShadow. (@IDWMaster)
    • Fixed bumpScale parsing. (@bhouston)
    • Support for TextGeometry. (@fraguada)
    • Moved relevant code to MaterialLoader. (@mrdoob)
  • Path
  • RawShaderMaterial
  • Ray
    • Added distanceSqToPoint(). (@dubejf)
  • Raycaster
  • ShaderMaterial
  • Skeleton
  • SkinnedMesh
  • Texture
  • Vector2
  • Vector3
    • Added addScaledVector(). (@gero3)
  • Vector4
    • Added addScaledVector(). (@gero3)
  • WebGLRenderer
    • Refactoring and clean up. (@mrdoob, @benaadams, @CodingFabian, @tschw)
    • Expose more shader errors in WebGLShader. (@delvarworld)
    • Added extensions property. (@mrdoob)
    • Added getSize(). (@mrdoob)
    • Moved relevant code to new WebGLBuffers, WebGLObjects and WebGLGeometries classes. (@mrdoob, @dubejf, @gero3)
    • Renamed ShadowMapPlugin to WebGLShadowMap. (@mrdoob)
    • Moved shadowMap* properties to WebGLShadowMap. (@mrdoob)
    • Fixed mipmaps being generate even with generateMipmaps set to false. (@shapespark)
    • Added instancing support via ANGLE_instanced_arrays. (@benaadams)
    • Removed Geometry render path. Now everything gets converted to BufferGeometry. (@mrdoob, @WestLangley, @benaadams, @Lowfab, @brason, @echevil, @ikerr, @box)
    • Cleaner glsl generation. (@benaadams, @tschw)
    • Cleaned up Lambert shader. (@WestLangley)
    • Added activeTexture() and bindTexture() to WebGLState. (@benaadams)
    • Reduced redundant texture binds. (@benaadams)
    • Fixed Sprites not being affected by FogExp2. (@mstrater)
    • Moved #extension directive before precision. (@mrdoob)
    • Replaced uniforms and attributes with getUniforms() and getAttributes() in WebGLProgram. (@tschw)
    • Added SHADER_NAME define to shaders. (@mrdoob)
    • Added WebGLProperties to allow same scene to be rendered in multiple renderers. (@fordacious, @mrdoob)
    • Cleaned up programs deallocation code. (@tschw)
    • Added version to relevant objects to allow multi rendering. (@dubejf, @mrdoob)
    • Added getContextAttributes(). (@mrdoob)
    • Removed (long-time broken) Cascaded ShadowMaps code. (@mrdoob)
    • Added dispose(). (@dubejf)
    • Deprecated supportsFloatTextures(), supportsHalfFloatTextures(), supportsStandardDerivatives(), supportsCompressedTextureS3TC(), supportsCompressedTexturePVRTC() and supportsBlendMinMax(). (@mrdoob)
    • Added material.wireframe support to WebGLShadowMap.
    • Reworked wireframe computing code. (@mrdoob, @arose)
    • Optimised per-pixel lighting calculations. (@tschw)
    • Deprecated supportsInstancedArray() and supportsVertexTextures(). (@mrdoob)
    • Allowing anisotropy for floating point textures. (@box)
    • Moved relevant code to new WebGLCapabilities and WebglPrograms. (@gero3, @tschw)
  • WebGLRenderTarget

Documentation

Read more

r71

16 Mar 16:05
Compare
Choose a tag to compare
r71

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r70--r71

(419,938 KB, gzip: 100,395 KB)

Source

  • Audio
  • BufferGeometry
  • BufferGeometryLoader
    • Fixed data parsing. (@makc)
  • Cache
    • Global instead of per loader. (@mrdoob)
  • Color
    • Added array and offset parameters to toArray(). (@Wandalen)
  • DynamicBufferAttribute
  • EdgesHelper
    • BufferGeometry support. (@dubejf)
  • Euler
    • Added array and offset parameters to toArray(). (@Wandalen)
  • Geometry
  • EdgesHelper
    • Added thresholdAngle parameter. (@Lowfab)
  • Loader
  • Line
  • Material
  • Math
    • Added nextPowerOfTwo(). (@mrdoob)
  • MeshNormalMaterial
  • Object3D
  • ObjectLoader
  • PointLight
  • SpotLight
  • Texture
  • Vector2
  • Vector3
  • Vector4
  • WebGLRenderer
    • Refactoring and clean up. (@mrdoob, @WestLangley, @brason)
    • Added readRenderTargetPixels(). (@kurzemnieks)
    • Premultiply clearColor if renderer.premultipliedAlpha is true. (@WestLangley)
    • Added support for decay in lights. (@bhouston)
    • Added gammaFactor. (@bhouston)
    • Simplified gamma code. (@bhouston)
    • Added common.glsl to ShaderChunk. (@bhouston)
    • Added OES_texture_half_float and OES_texture_half_float_linear support. (@tsone)
    • Moved relevant code to new class WebGLState. (@mrdoob)
    • Added glColorMask support to WebGLState. (@Lowfab)
    • Derivatives based FlatShading. (@mrdoob)
    • Refactored light calculation shaders. (@bhouston, @WestLangley)

Documentation

Examples

  • Improvements to pixelRatio handling in EffectComposer. (@greggman)
  • Improvements to Mirror. (@Densaugeo)
  • Replaced PlaneGeometry with PlaneBufferGeometry in TransformControls. (@arodic)
  • Improvements to OrthographicTrackballControls. (@msmolens)
  • Removed OculusControls and OculusRihtEffect. (@mrdoob)
  • Added ShadowMapViewer util and webgl_shadowmapviewer example. (@arya-s)
  • Created VR sub-category. (@mrdoob)
  • Added map_bump and bump support to MTLLoader. (@tsone)
  • Deprecated SceneLoader. (@mrdoob)
  • Added failCallback to ColladaLoader. (@danschumann)
  • Added ShadowMesh class and webgl_shadowmesh example. (@erichlof)
  • Replaced rotation code in TrackballControls. (@daron1337)
  • Added OrthographicCamera zooming support in OrbitControls. (@WestLangley)
  • Dispatch complete event in RaytracingRenderer. (@chuckfairy)
  • Improved OBJLoader. (@arose)
  • Improved PLYLoader. (@arose)
  • Improved webgl_decals example. (@redsolarmoon)
  • Added vr_video example. (@mrdoob)

Editor

  • Added Arkanoid example. (@mrdoob)
  • Fixed EditorControls being off after clearing. (@mrdoob)
  • Added touch events to APP. (@mrdoob)
  • Added setClearColor() to APP. (@mrdoob)
  • Added actions (reset position/rotation/scale) to Object3D panel. (@mrdoob)
  • Improvements to EditorControls. (@arodic)
  • Renamed Renderer panel to Project. (@mrdoob)
  • Added basic VR support. (@mrdoob)
  • Added decay support. (@bhouston)
  • User friendly saving. (@QW0101)
  • Implemented sortable in outliner. (@mrdoob)
  • Published project now listen to window resize. (@mrdoob)
  • Added center action to Geometry panel. (@mrdoob)

Exporters

  • Blender
    • Fixed opacity. (@yomotsu)
    • Updated bl_info author, version, and blender metadata. (@repsac)
    • Fixed menu label to read "Three.js". (@repsac)
    • Reimplemented the "Frame index as time" option. (@repsac)
    • Animation data is an array of all actions in the scene. (@repsac)
    • Reimplemented the latest skeletal animation logic that had previously been missed. (@repsac)
    • When copying textures destination files will be removed first. (@repsac)
    • Return values of several mush functions were not consistent and causing errors. (@repsac)
    • Restored original scene logic and structure. (@repsac)
    • Added simple popups for error/info/warning dialogs. (@repsac)
    • Add logging handlers only once. (@rkusa)
    • Normalized quaternion for skeletal animation exports. (@repsac)
    • Fix for meshes visible on multiple layers. (@rkusa)
    • Export Hierarchy and transformation matrices. (@rkusa)
    • Improved the logic for float precision handling. (@repsac)
    • Improved the JSON serialization by using the "%g" formatter. (@repsac)
    • Added Preset Dropdown. (@repsac)
    • Added button to save settings to .blend file. (@rkusa)