BT

Ready for InfoQ 3.0? Try the new design and let us know what you think!

Three.js Releases 98 and 99 Improve WebGL Support

| by Dylan Schiemann Follow 13 Followers on Dec 04, 2018. Estimated reading time: 1 minute |

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 Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss
BT