Even though Microsoft is very late to the WebGL party, support in IE 11 seems to have released some pent-up enthusiasm for the technology. Babylon.js is an open source 3D engine produced by Microsofties, mostly in their spare time.
WebGL which brings 3D to the Canvas element in most modern browsers, or will as soon as IE11 replaces IE10. WebGL is great but it isn't exactly easy to use. To do anything beyond a simple demonstration you need to use it via a graphics library - three.js for example. To create a game you really also need a games engine that includes additional features such as collision detection, particles and as many special effects as can be provided. This is what Babylon.js does for you.
It is a surprisingly complete game engine given that it seems to have been developed in a very short time. Its features include:
- Complete scene graph with lights, cameras, materials and meshes
- Collisions engine
- Scene picking
- Animations engine
- Particles Systems
- Sprites and 2D layers
- Optimizations engines
- Standard material is a per pixel material.
- Alpha blending
- Alpha testing
- Fullscreen mode
- Shadow Maps and Variance Shadow Maps
- Render target textures
- Dynamic textures (canvas)
- Video textures
- Cameras (Perspective and orthographic):
- Mesh cloning
- Dynamic meshes
- Height maps
- Babylon scene file can be converted from .OBJ, .FBX, .MXB
- Exporter for Blender
You can see the sort of performance and quality you can achieve in the following video:
However, it has to be said that the live demos on the Babylon.js web site are even more impressive.
The library is issued under a Microsoft Public License, which might worry some, but it is a valid open source license and allows you to reuse the code without many restrictions from Microsoft. The code is also hosted on GitHub rather than Codeplex.