BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Three.js Releases 98 and 99 Improve WebGL Support

Three.js Releases 98 and 99 Improve WebGL Support

Leia em Português

This item in japanese

Bookmarks

The two most recent releases of Three.js, the JavaScript 3D library providing renderers in Canvas 2D, SVG, CSS3D, and WebGL, introduce hundreds of refinements and improvements.

With Three.js, the fundamental approach to viewing 3D objects is to render a scene with a camera. Animations may then get applied to objects within a scene. APIs are included to manage various geometry models, camera perspectives, lighting, textures, renderers, shaders, math utilities, resource loaders, audio, and more to build immersive 3D experiences.

The recent Three.js releases made many improvements and refinements to the WebGL renderer. Some of the WebGLBackground API improvements include support for the WebGLRenderTargetCube, clean up of the rendering order and vertex shading, and adding texture enhancements. The WebGLRenderer API improves its shader and tone mapping support.

Three.js also supports the WebAudio API with a non-positional, global audio object. Recent releases include support for AudioBufferSourceNode.detune and the use of linearRampToValueAtTime().

The recent releases applied numerous improvements across a wide variety of Three.js APIs.

Three.js releases roughly once a month, so each release includes a relatively small number of iterative changes and refinements, making it easier for developers to migrate between versions of Three.js. The types of changes made with each release are relatively minor given the overall capabilities of Three.js, showing the maturity and stability of the whole project.

Three.js provides support for WebVR and WebXR via its WebVRUtils, WebXRManager, and WebVRManager APIs. Three.js also provides the 3D rendering engine for many WebVR and WebXR packages including A-Frame and React 360.

Babylon.js is the other primary open source JavaScript 3D engine, with more of a focus on APIs for 3D game developers and WebXR experiences.

Hundreds of Three.js examples are available. Three.js is open source software available under the MIT license. Contributions and feedback are encouraged via the Three.js GitHub project.

Rate this Article

Adoption
Style

BT