WebGPU Clustered Deferred Renderer
WebGPU, TypeScript. Fast real-time lighting in the browser. And an educational read-me!
WebGPU Clustered Deferred Renderer
See my GitHub Repo…
This is a clustered deferred renderer implemented in WebGPU, an explicit GPU API for the web.
The goal of this 1.5-week project was to:
- Learn the WebGPU API and develop a better understanding of explicit APIs.
- Understand clustered shading, which involves splitting up the camera frustum into bounding “clusters”, and assign the lights from the scene to them.
- Understand deferred shading, which involves splitting rendering in to a “G-Buffer” render pass and a “Full-screen” lighting render pass.
- “G-Buffer” geometry pass: process the geometry data and output seperate position, normal and albedo framebuffers
- “Full-screen” Lighting pass: using the framebuffers from the last pass, calculate the lighting for each pixel.
This post is licensed under CC BY 4.0 by the author.
