Babylon.js v2.0


Just saw the news that one of our favorite libs, Babylon.js has reached a new major milestone, v2.0!

Big updates to Babylon.js 2.0


Major updates

  • Support for WebAudio. More info here (davrous)
  • Support for Procedural Texture with standard usable samples and custom support. More info here (meulta)
  • Support for OES_element_index_uint extension in order to support 32 bits indices and then meshes with more than 65536 vertices (deltakosh)
  • Support for levels of detail (LOD) for meshes. More info here (deltakosh)
  • New Scene Optimizer tool. More here (deltakosh)
  • Support for user marks (deltakosh)
  • Using High Resolution Time for performance and FPS measurement (deltakosh)
  • Easing functions for animations. More info here (mimetis)
  • New debug layer than can be used to display debug informations. More info here(deltakosh)
  • New PolygonMeshBuilder object used to create mesh from polygons (ElemarJR)
  • New Mesh.simplify() function to automatically simplify meshes. More info here(raananw)
  • New scene.enableDepthRenderer() to register depth texture rendering. More info here(deltakosh)
  • New SSAORenderingPipeline to apply screen space ambient occlusion. More info here(julien-moreau)
  • New VolumetricLightScatteringPostProcess to simulate volumetric light scattering. More info here (julien-moreau)
  • 3dsMax exporter can now generate binary format files (deltakosh)

What’s new in Babylon.js v2.0

Well, a lot of things are new actually. You can find the complete “What’s new” here but I would like to take some time with you to showcase a few of the cool stuff that we cooked with love for you.

But before digging into these features, please let me share with you the fantastic demo that Michel Rousseau did for Babylon.js v2.0:



We added some interesting tools to help web developers debug or optimize their scenes. One of these tools is the debug layer. When activated, it will give you a lot of great information about the current scene. It allows you to enable/disable specific features of the engine and provides performance counters as well.


Special effects

Creating awesome visual effects is one of my biggest pleasure when I work with a 3D engine. However, a specific option was missing from Babylon.js to allow a huge variety of these effects: the DepthRenderer. Now with Babylon.js v2.0 we introduced a way for post process to read the depth buffer. This is why we were able to also ship the following effects:


Rendering optimizations

To allow you to create always more complex scenes, we added support for LOD (Level of Detail). This feature can select different mesh quality based on the distance to the viewer. And obviously this works well with hardware instancing:


New documentation site

We were previously using the wiki feature of GitHub to host our documentation. But some features were missing (control over display, documentation generation from TypeScript code, better rights managements, etc..).

With babylon.js v2.0, we also shipped our new documentation site: This site is community based as well because anyone can suggest a new page or revisions to any existing page. You can even add comments to API documentation (which obviously will be keep every time we will have to regenerate the API documentation).

And this is just the beginning

The complete change log will give you more insights about all the great stuff we added to Babylon.js.

I would like as well to thank a lot the community that works with us on this engine. Thank to them we added far more features that expected in this release. You guys rock!!!

What is Babylon.js?


Babylon.js is a 3D engine based on webgl and javascript. It supports the following features:
  • Complete scene graph with lights, cameras, materials and meshes
  • Collisions engine
  • Physics engine (thanks to cannon.js)
  • Scene picking
  • Antialiasing
  • Animations engine
  • Particles Systems
  • Sprites and 2D layers
  • Optimizations engines:
    • Frustum clipping
    • Sub-meshes clipping
    • Hardware scaling
    • Selection octrees
    • Offline mode (Assets are saved locally to prevent reloading them)
    • Incremental loading
    • Binary compressed format
    • Hardware accelerated instances
  • Standard material is a per pixel material that supports:
    • Diffuse lightning and texture
    • Ambient lightning and texture
    • Specular lightning
    • Opacity texture
    • Reflection texture (Spheric, planar, cubic and projection)
    • Mirror texture
    • Emissive texture
    • Specular texture
    • Bump texture
    • Up to 4 lights (points, directionals, spots, hemispherics)
    • Custom materials
    • Skybox
    • Vertex color
    • 4 bones per vertex
    • Fresnel term for diffuse, opacity, emissive and reflection
  • Special FX
    • Fog
    • Alpha blending
    • Alpha testing
    • Billboarding
    • Fullscreen mode
    • Shadow Maps and Variance Shadow Maps
    • Rendering layers
    • Post-processes (blur, refraction, black'n'white, fxaa, customs...)
    • Lens flares
    • Multi-views
  • Textures:
    • Render target textures
    • Dynamic textures (canvas)
    • Video textures
    • Compressed (DDS) textures
  • Cameras:
    • Arc rotate camera
    • Free camera
    • Touch camera
    • Virtual Joysticks camera
    • Oculus Rift camera
    • Gamepad camera
    • VR Device Oriention camera
    • WebVR camera
    • Follow camera
  • Meshes:
    • Mesh cloning
    • Dynamic meshes
    • Height maps
    • Bones
    • Constructive solid geometries
  • Import:
    • Babylon scene file can be converted from .OBJ, .FBX, .MXB
    • Exporter for Blender
    • Exporter for Cheetah3d
    • Exporter for 3ds max
    • Support for drag'n'drop
    • Assets manager

    Babylon.js team

    Lead developer: David CATUHE (@deltakosh)
    Developer: David ROUSSET (@davrous)
    Developer: Pierre LAGARDE (@pierlag)
    3D Artist: Michel ROUSSEAU (@rousseau_michel)
    Hill Valley scene: Camille JOLY and Enozone
    Train scene: Romuald ROUHIER and Progiss


If you are WebGL'ing, you need to be Babylon.js'ing...

Related posts you might find interesting;

The Discussion

  • User profile image

    The Mansion demo was pretty impressive. It ran super-smooth (60fps) even on my 4 year old laptop.

    Make sure you check out the cemetery: RIP In Loving Memory IE6, Schrödinger's cat, Clippy, and Hamlet.



Conversation locked

This conversation has been locked by the site admins. No new comments can be made.