There's a specific kind of defeat in layering transparent gradient planes on top of each other trying to fake a light shaft, and knowing...
There's a specific kind of defeat in layering transparent
gradient planes on top of each other trying to fake a light shaft, and knowing
the whole time that the moment someone moves the camera, the illusion
collapses. That hack has been the price of cinematic web 3D for years.
The Babylon.js 9.0 official release announcement, dropped March
26, 2026, closes a lot of those gaps. It's open source, Microsoft-backed, and
the most technically dense version of the engine yet. The headline
number: 40% GPU memory savings from the new Frame Graph alone.
Clustered Lighting, Volumetric Shaders, and Textured Area Lights
The lighting changes are the first thing anyone who's
shipped a real web 3D scene will want to read. Three additions, and they
compound:
Clustered lighting is the one you'll actually
feel in complex scenes. The frustum gets partitioned into screen-space tiles
and depth slices; each pixel only touches the lights hitting its cluster. Works
on WebGPU and WebGL 2.
Volumetric shafts and fog scattering. Tunable via extinction
coefficient and scattering phase parameters. WebGPU compute shaders primary,
WebGL 2 fallback, so nothing breaks for your existing users.
Any image can now be an emission source for area lights.
Stained glass, LED strips, architectural accent diffusers, and it works at
runtime, not just during scene setup. The offline processing tools shipped in
the same drop.
The days of bloom overuse as a substitute for real
volumetric light are numbered.
Frame Graph: Render Pipeline Control and GPU Memory Savings
The render pipeline in browser engines has always been
opaque. You work with what the engine hands you, tune what you can reach, and
everything else is off-limits. The Frame Graph, promoted from alpha
in 8.0 to a full v1 feature in Babylon.js 9.0, is the first time Babylon has
handed developers genuine control over that pipeline. Honestly, the Frame Graph
alone made this a worthwhile version bump for our kind of work.
Every rendering task declares its resource inputs and
outputs upfront. The engine reads that declaration graph to allocate, reuse,
and discard GPU textures across the frame intelligently, producing 40%+
GPU memory savings in tested scenes. The Node Render Graph Editor handles
visual pipeline composition; the class framework handles code-first teams.
Either way, the black box is gone.
Node Particle Editor, Flow Maps, and Attractors
The Node Particle Editor brings a visual
drag-and-connect interface to particle authoring. Emission shapes, sprite
sheets, sub-emitters, wired together without writing code. Non-destructive,
same interaction model as the Node Material Editor.
Particle Flow Maps use screen-aligned textures
encoding 3D direction vectors to steer particle movement at a spatial level
keyframes can't approximate easily. Particle Attractors let
you define a position and strength; flip the value negative and you've got
repulsion. Both are repositionable at runtime.
Animation Retargeting and Gaussian Splat Support
Animation retargeting solves something that's cost real
production hours: getting an animation authored for one skeleton to drive a
completely different one. Bone counts, naming, proportions, all handled by a
mathematical remapping system that compensates for reference pose mismatches
and hierarchy differences automatically. An interactive Animation
Retargeting Tool ships with it, no code required to start
experimenting.
Gaussian splat support now covers .PLY, .splat, .SPZ,
and .SOG/.SOGS, which are Self-Organizing Gaussians, a compressed splat
format built for efficient web delivery. Adobe contributed heavily: Triangular
Splatting, shadow casting, and multi-asset composite scenes with per-segment
control are all included. We haven't fully stress-tested the multi-splat
compositing in a live production scene yet. It's on the list.
Geospatial Camera, 3D Tiles, and Large World Rendering
Babylon.js isn't just a game engine anymore. This section is
the clearest evidence of that.
Large World Rendering handles floating-point
precision at massive coordinate scales by keeping the camera conceptually at
the world origin while offsetting all geometry around it. Jitter disappears.
Havok physics extends this through a multi-region architecture distributing
simulation bodies across multiple floating origins.
The Geospatial Camera is purpose-built for
globe navigation: anchored drag, tilt, altitude-scaled zoom, touch and keyboard
support. Programmatic navigation via flyToAsync is simpler than it
looks:
await camera.flyToAsync({
target: new BABYLON.Vector3(lat, alt, lon),
duration: 2000
});
It pairs directly with useLargeWorldRendering. 3D
Tiles support, the OGC standard from Cesium powered by NASA/AMMOS
3DTilesRendererJS, handles streaming real geospatial datasets with
camera-driven LOD. The Physically Based Atmosphere closes it
out: Rayleigh and Mie scattering, ozone absorption, multiple scattering passes,
accurate sunrise and sunset cycles, fully tunable for non-Earth environments.
Inspector v2, Playground Updates, and the Editor
Inspector v2 is a full React rebuild with
service-oriented architecture, overlay and inline layouts, light/dark themes,
and a clean extension API for custom panes, toolbar items, and property
editors. It's the kind of thing you notice in the first five minutes of
debugging a scene.
Developers coming from Three.js will feel the tooling gap
close noticeably here. The Inspector v2 and visual node editors cover ground
that Three.js users typically patch together from third-party tools. The Playground now
supports multi-file tabbed editing, ESM imports, and direct NPM package imports
via esm.sh with version pinning, contributed by knervous. Session
history auto-saves locally. The cross-platform Babylon.js Editor on
Windows, Mac, and Linux, contributed by Julien Moreau Mathis, adds full scene
editing, physics, scripting, and asset management in a desktop interface.
Also in 9.0: SDF Text, OpenPBR, Nav Mesh, and More
SDF text. Finally sharp at every scale, no blur on zoom, no
compromise for in-world UI or HUD.
Dynamic IBL shadows bring real-time environment
shadow response to changing IBL conditions. Adobe contribution building
directly on the 8.0 base.
OpenPBR support landed too, still alpha, but Adobe's
involvement makes it worth watching. Don't ship it to production without a
fallback plan yet.
The Outline Renderer from noname0310 adds
clean, customizable mesh outlines. Quiet feature with immediate utility for
selection states and stylized scenes.
Nav mesh accuracy and the 3MF Exporter both
improved. Neither flashy, both things you'll notice when you need them.
Audio Engine updates bring spatial audio,
ambient soundscapes, and interactive sound aligned with modern web-audio
standards.
Whether you're evaluating Babylon.js 9.0 for a greenfield
build or weighing whether to migrate an existing scene, the technical depth
here is real. We build product configurators, digital twins, and spatial web
experiences at atxsoft.com,
and several features in this release are going directly into the next project.
Reach out if you want to think through what's possible for your specific use
case.
References
- Babylon.js 9.0 Official Announcement – Windows Developer
Blog
- Welcome to Babylon.js 9.0 – Babylon.js on Medium
- Babylon.js Official
Documentation
- Babylon.js
GitHub Repository
![[feature] Babylon.js Feature Babylon.js Feature](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBmkEBN6w4uOsrGhj9Nn1fixMYEzljHguob0iAh2kIVth4k27SxM3qSYGW-EJBe9T_euBs7sgjPiCrjaVSY6f_cAxHDcBvVjZxWBx7RtaZNSgdQQBJBmccPzHMdgHwLI5O9DSMkCVWkXLcxtR3M1C41orjxOw5LOQjo5TNKapnQ_JneoeCutShNgHicSKS/s16000/announcing-babylon.js-9.webp)
