Ken Russell and Corentin Wallez from the WebGPU team join Chet and Romain to discuss the genesis and capabilities of WebGPU, the state of WebGL, and the transition from WebGL to WebGPU. They explore the adoption of WebGPU in native applications and Android development, the development of Vulkan, the controversy surrounding shading languages for WebGPU, GPU programming, and the challenges faced by Java applets in web deployment. Discover the exciting future of WebGPU and its compatibility with different devices and browsers.
WebGPU is a new API that brings modern GPU rendering and compute functionality to the web and other platforms, offering a simpler and more portable API compared to WebGL.
WebGPU enables support for advanced functionalities like ray tracing and provides a more compatible and easier-to-use API compared to WebGL, with a focus on modern programming languages and asynchronous coding techniques.
Deep dives
WebGPU: The Successor to WebGL
WebGPU is a JavaScript API that exposes the GPU to JavaScript, allowing for computations and rendering on the web. Unlike WebGL, which is a native API ported onto the web, WebGPU is a new API that takes inspiration from modern APIs. It offers a simpler and more portable API, with features like Compute Shader and improved support for new technologies like ray tracing.
Advancements and Benefits of WebGPU
WebGPU brings new features and improvements to the web, such as Compute Shader for performing computations on the GPU. It also enables support for advanced functionalities like ray tracing, which WebGL may struggle to accommodate. The benefit for developers is that WebGPU provides a more compatible and easier-to-use API compared to WebGL, with a focus on modern programming languages and asynchronous coding techniques.
Compatibility and Implementation
WebGPU is designed to run on a wide range of devices, including Windows machines, Macs, Chromebooks, and Android devices with Vulkan or OpenGL ES 3.1 support. Major browsers like Chrome, Firefox, and WebKit (Safari) are actively implementing WebGPU, with Chrome being the most advanced in its support. WebGPU is also being integrated into libraries and tools, such as Dawn and Tint, to facilitate cross-platform development.
Future Developments
Future developments for WebGPU include the addition of a compatibility mode, allowing it to run on older graphics technologies like DirectX 11 and OpenGL ES 3.1. This would increase its reach and allow for wider adoption. Additionally, there are plans to explore and improve GNI bindings for WebGPU, making it more idiomatic and accessible in various programming ecosystems.
In this episode, Chet and Romain speak with Ken Russell and Corentin Wallez from the WebGPU team. WebGPU is a new API that brings modern GPU rendering and compute functionality to web and other platforms (including Android!). We talk about the genesis and capabilities of WebGPU, WGSL (WebGPU’s new shading language), the state of WebGL (the predecessor API for web GPU rendering), and lots of other fun related graphics topics.
Ken, Romain, and Chet (not pictured: Corentin, who is on the monitor behind the photographer)