WebGPU Support



As you might be aware, the next gen Web 3D is starting to rise.

Following the specification from the W3C group, we have started our journey to support this new tech. Our plan is to deliver a support with WebGL feature parity and the new WebGPU specifics in 5.0.


Why ?

The promise behind WebGPU is an awesomely faster API providing lower level control to the graphic resources from Javascript. We hope to bring those extra performances to you in order to create even bigger Web 3D experiences through an API you are already familiar with: Babylon.js.

Also this is brigging new cool toys to the table like Compute Shaders and more to come.

Where are we ?

See the dedicated page.

You can also follow our progress on out Github dedicated issue.

How ?

The current implementation is now merged in the main branch of the repo Github.

We are putting a big effort all along our next release to implement the support and every contribution is more than welcome; So feel free to create some PR if you are interested in contributing to a fresh engine implementation based on cutting edge tech.

What could go wrong ?

Even if we are now well in the development process, we are subject to potential changes as well as spec uncertainties. We will deal with them one at a time but we may be subject to change the release schedule at any time.

We have the full support from the amazing teams implementing the browsers support so it will be easier to directly chat with them when needed.

What would the migration look like for my app ?

As back compat is one of our pillar, the only difference we wish to have is the engine initialization which needs to be asynchronous:

const engine = new BABYLON.WebGPUEngine(canvas);
await engine.initAsync();

Will WebGL still be supported ?

FOR SURE :-) There is no change of plans and we will deliver both supports side by side.

I want to test it

You can refer to this page for detailed information on browser support.

Assuming you're using a browser that supports WebGPU, you can try it out yourself in the The Playground


You can follow the status from the dedicated Chrome Status Platform Page.

All the demos code is available on Github so that you could compare both the webgl and webgpu versions and notice there are currently no differences beside the initialization. We will try to keep it this way :-)

Coming next

WebGPU Status
Learn the current status of the port to WebGPU as well as the next steps and caveats to be aware of.
WebGPU Status
WebGPU Breaking Changes
Detail the breaking changes and differences in behaviour with WebGL
WebGPU Breaking Changes
Compute Shaders
Learn about the compute shaders in Babylon.js.
Compute Shaders
WebGPU Snapshot Rendering
Learn how to use snapshot rendering for faster scene display
WebGPU Snapshot Rendering
Writing shaders for WebGPU in WGSL
Explain how to use WGSL in shaders when using the WebGPU engine
Writing shaders for WebGPU in WGSL