Microsoft has released Babylon.js v3.0, the newest and most complete version of their JavaScript 3D and game engine.
The raw technology behind this is WebGL which "is the technology that lets web pages talk to your GPU - and thus render 3D content with hardware acceleration," according to indie game developer Andy Hall.
While a developer could technically program against WebGL directly, Hall says that most developers use a 3D engine like Babylon.js to "take care of the messy details". We often think about using 3D in terms of building games, but the ability to build cross-browser 3D interactions opens up many possibilities. For example, Microsoft uses Babylon to drive the Xbox Design Lab where gamers can create customized Xbox controllers.
In a blog post announcing the release, David Catuhe, Babylon principal program manager, wrote that version 3 is "Babylon.js’s biggest version ever".
Babylon v3 keeps the framework up-to-date by supporting WebGL 2 when available. Currently, all browsers include support for WebGL 1, but WebGL 2 support is still in progress by most browsers. In addition there's now support for WebVR 1.1, which will let developers code for the upcoming Windows Mixed Reality headsets.
PBRMaterial, the Babylon component responsible for physically based rendering, was rewritten resulting in some flashy demos. Developer tools are also strong, including the playground, which lets developers tinker with an in-browser code editor, and Spector.js, which can aid in troubleshooting WebGL code.
Babylon is a major contender in a growing list of WebGL frameworks. One of the most popular 3D engines is three.js, but Babylon is more of a game engine. Over on Hacker News, Hall wrote about his switch away from three.js two years ago:
Babylon has a compact, active set of devs (I've made bug reports and seen the fix in the next nightly build multiple times). So it's been really easy to get help and get bugs fixed. Three has way more people working on/with it, but the flip side of that is that it's way harder to find help, unless you know a good forum where some experts hang out, or similar. The other big difference is that Babylon is more of a "game engine" than a "3D engine" - it has built-in subsystems for stuff like bone animations, audio triggers, etc.
For more information, check out www.babylonjs.com or the GitHub repository.