# WebGPU is coming to Babylon.js

**URL:** <https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122>\
**Category:** Announcements\
**Tags:** webgpu\
**Created:** [May 10, 2019, 3:10am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122 "2019-05-10T03:10:07Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [May 10, 2019, 3:10am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/1 "2019-05-10T03:10:07Z")

</div>

Hello Community,

It has been a while I was off from the community but mainly for the greater good 🙂

I have been working on an early support for WebGPU in Babylon.js: [David Catuhe on Twitter: "Yeah!!! #babylonjs featured during #GoogleIO2019 for our initial support for #webGPU More info here: https://t.co/vTNt66gYwX (including source, demos and even documentation :D) Thanks a lot @DaKangz… https://t.co/NWIpKoRmYj"](https://twitter.com/deltakosh/status/1126620850378043394)

About the article you can find the Google I/O presentation related to the announcement here: [YouTube](https://www.youtube.com/watch?v=K2JzIUIHIhc) with highlights of our amazing community at:

5:17 - 5:33 Babylon callout By the author of ThreeJS on WebGL 😊  
17:30 - 20:05 for the Babylon.js WebGPU part

Hope you will enjoy it as much as we did

---

<div class="post-metadata">

**Author:** ![oglu](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/oglu/32/1677_2.png) [@oglu](https://forum.babylonjs.com/u/oglu)\
**Post date:** [May 10, 2019, 5:36am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/2 "2019-05-10T05:36:14Z")

</div>

This is goin to be great. One day if we dont have to support 5 years old crappy hardware.

---

<div class="post-metadata">

**Author:** ![FurcaTomasz](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/furcatomasz/32/2256_2.png) [@FurcaTomasz](https://forum.babylonjs.com/u/FurcaTomasz)\
**Post date:** [May 10, 2019, 6:40am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/3 "2019-05-10T06:40:59Z")

</div>

Great news! 🙂

---

<div class="post-metadata">

**Author:** ![jerome](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jerome/32/22_2.png) [@jerome](https://forum.babylonjs.com/u/jerome)\
**Post date:** [May 10, 2019, 7:01am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/4 "2019-05-10T07:01:44Z")

</div>

IM  
PRES  
SI  
VE !!!

😊  
congratulations !!!

---

<div class="post-metadata">

**Author:** ![inteja](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/inteja/32/22553_2.png) [@inteja](https://forum.babylonjs.com/u/inteja)\
**Post date:** [May 10, 2019, 7:39am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/5 "2019-05-10T07:39:20Z")

</div>

Great! 🕶 “The future’s so bright, I have to wear shades”

---

<div class="post-metadata">

**Author:** ![pjoe](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/pjoe/32/1906_2.png) [@pjoe](https://forum.babylonjs.com/u/pjoe)\
**Post date:** [May 10, 2019, 8:08am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/6 "2019-05-10T08:08:05Z")

</div>

Fantastic news ☀

Can’t wait to play with this. Congrats 🍹

---

<div class="post-metadata">

**Author:** ![Vinc3r](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/vinc3r/32/25340_2.png) [@Vinc3r](https://forum.babylonjs.com/u/Vinc3r)\
**Post date:** [May 10, 2019, 8:20am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/7 "2019-05-10T08:20:49Z")

</div>

Interesting! That performance gain sounds attractive 😃

Just out of curiosity, why the webGPU dev starts on Mac?

---

<div class="post-metadata">

**Author:** ![Nodragem](https://avatars.discourse-cdn.com/v4/letter/n/3be4f8/32.png) [@Nodragem](https://forum.babylonjs.com/u/Nodragem)\
**Post date:** [May 10, 2019, 9:03am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/8 "2019-05-10T09:03:23Z")

</div>

I am so confused, I thought the “future” was about WebAssembly, and now there is “WebGPU”?

Would someone mind explaining a little bit, in few words, what’s the difference? 🙂 (going to google it meanwhile)

**EDIT:** and what about Vulkan? don’t they do a web version?  
**EDIT 2:** Re: why not a WebVulkan, see [NXT, a prototype WebGL Next - Google Docs](https://docs.google.com/document/d/1-lAvR9GXaNJiqUIpm3N2XuGUWv_JrkpGizDN0bNq7wY/edit#heading=h.jitoss3fehgf)  
**EDIT 3:** Re: WebAssembly and WebGPU, the difference seems to be that the first one is about going closer to the _CPU_, while the second is about going closer to the _GPU_, am I right?

---

<div class="post-metadata">

**Author:** ![nogalo](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/nogalo/32/120_2.png) [@nogalo](https://forum.babylonjs.com/u/nogalo)\
**Post date:** [May 10, 2019, 9:13am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/9 "2019-05-10T09:13:12Z")

</div>

Woooooow. I am so excited about this. So good to hear this news.

---

<div class="post-metadata">

**Author:** ![nogalo](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/nogalo/32/120_2.png) [@nogalo](https://forum.babylonjs.com/u/nogalo)\
**Post date:** [May 10, 2019, 9:40am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/10 "2019-05-10T09:40:38Z")

</div>

I am not sure if this is a stupid question. But will this somewhat enable implementing raytracing within the Babylon?

---

<div class="post-metadata">

**Author:** ![jerome](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jerome/32/22_2.png) [@jerome](https://forum.babylonjs.com/u/jerome)\
**Post date:** [May 10, 2019, 1:11pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/11 "2019-05-10T13:11:34Z")

</div>

- WebAssembly is a bytecode executed CPU side. It can replace some parts of JS by running faster (JS is still needed because only it can access to the DOM canvas and run the WASM process)
- WebGPU is the next API coming after WebGL to access the GPU. AFAIK, it’s still a W3C draft and uses some of the work already done by the Vulkan project, but also Direct3D or Apple Metal.

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [May 10, 2019, 3:02pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/12 "2019-05-10T15:02:18Z")

</div>

> [@Vinc3r](#):
>
> Just out of curiosity, why the webGPU dev starts on Mac?

Because most of the google devs are on Chrome 🙂

---

<div class="post-metadata">

**Author:** ![Vinc3r](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/vinc3r/32/25340_2.png) [@Vinc3r](https://forum.babylonjs.com/u/Vinc3r)\
**Post date:** [May 10, 2019, 3:15pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/13 "2019-05-10T15:15:08Z")

</div>

Ahah ok, but Chrome also works on Linux & Windows

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [May 10, 2019, 3:36pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/14 "2019-05-10T15:36:10Z")

</div>

Yes and WebGPU will come to these OS soon!

---

<div class="post-metadata">

**Author:** ![pjoe](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/pjoe/32/1906_2.png) [@pjoe](https://forum.babylonjs.com/u/pjoe)\
**Post date:** [May 10, 2019, 3:53pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/15 "2019-05-10T15:53:11Z")

</div>

From my understanding:

WebGPU is a standard in making. There was 3 proposals from Mozilla, Apple and Google. The Apple one formerly named WebGPU, now WebMetal, was chosen as the starting point for the spec (maybe because it had best xplatform abstraction?). I think that is the main reason for WebGPU development coming first to Mac.

Chrome is using a project called Dawn, which ‘translates’ WebGPU to Vulkan/D3D12/Metal respectively on different platforms (and this is why we have WebGPU and not WebVulkan - as Vulkan does not run on Mac/iOS). In a sense you can compare Dawn to what ANGLE did for WebGL (translate to DirectX).

Hope this makes sense 🙂

---

<div class="post-metadata">

**Author:** ![aFalcon](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/afalcon/32/7015_2.png) [@aFalcon](https://forum.babylonjs.com/u/aFalcon)\
**Post date:** [May 10, 2019, 5:06pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/16 "2019-05-10T17:06:31Z")

</div>

🖤 Likes:

- non redundant memory load and shared memory load on GPU

- freed up CPU cycles for logic rendering

- hybrid 2D (cpu) + 3D (gpu) concept at 6:00 ⭐ (double-like) ⭐

- Cnns, TensorFlow, GPU compute…

* * *

- New GPU Algorithms! : )

> “many more algorithms uploaded from JS to GPU.”

_What might those “new JS to GPU algorithms” be?_

Or what experiments might help?

Fluid dynamics, particles2.0, and … hair!?! 😁

* * *

LINK: [webgpu.io](https://github.com/gpuweb/gpuweb/wiki/Implementation-Status)

- stand clapping → babylon.js 👏

---

<div class="post-metadata">

**Author:** ![PichouPichou](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/pichoupichou/32/316_2.png) [@PichouPichou](https://forum.babylonjs.com/u/PichouPichou)\
**Post date:** [May 10, 2019, 10:33pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/17 "2019-05-10T22:33:55Z")

</div>

This is going to be awesome! No more limit in fluidity, rapidity for always more creativity! 🌈🌈🌈🌈

Even postprocesses will benefit from it! 😍😍😍😍

The face of internet will soon change and this is thanks to you guys! 🙌🙌🙌🙌

---

<div class="post-metadata">

**Author:** ![phaselock](https://avatars.discourse-cdn.com/v4/letter/p/da6949/32.png) [@phaselock](https://forum.babylonjs.com/u/phaselock)\
**Post date:** [May 11, 2019, 7:26am UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/18 "2019-05-11T07:26:01Z")

</div>

Wonderful news ! Now I have to go rewrite my design specs…

Any idea if webgpu will impact texture loading times or texture size limitations ? I’d love to work in the 4k zones. Eyeballing the demos and samples, there doesn’t seem to be anything on textures.

---

<div class="post-metadata">

**Author:** ![kutomer](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/kutomer/32/55_2.png) [@kutomer](https://forum.babylonjs.com/u/kutomer)\
**Post date:** [May 20, 2019, 2:07pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/20 "2019-05-20T14:07:19Z")

</div>

Do you think Babylon will be able to detect that the browser support WebGPU and use the right APIs? if so it can be used before Apple will finally to more their asses.  
I assume that if it’s already in chrome canary version it might not be that long before it gets to production.

@sebavan you’re really making a wonderful job, first tree-shaking and now this. 👍

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [May 20, 2019, 2:13pm UTC](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122/21 "2019-05-20T14:13:30Z")

</div>

Thanks a lot !!! I guess we ll wait for full stabilization and feature parity before automatically move to webgpu if available.

My target is feature parity in 4.1 in the limit of what GPU provides plus support for compute shaders and command buffer reuse 🙂

[Next page](https://forum.babylonjs.com/t/webgpu-is-coming-to-babylon-js/3122.md?page=2)
