A developer implements real-time surfel-based global illumination entirely in WebGPU, using surface elements to decouple lighting from screen resolution.
Key Takeaways
Surfels (oriented flat discs with position, normal, radius) cache expensive lighting work across frames, enabling GI with ~50k surfels vs. 2M screen pixels.
The pipeline requires 10+ compute passes: 7 for spatial grid maintenance, 4 for surfel lifecycle management including surfelization.
Without a spatial grid, brute-force surfel lookup causes severe performance collapse; even 512 surfels on a simple mesh is GPU-intensive in the demo.
The approach is inspired by EA SEED’s SIGGRAPH 2021 surfel GI technique and a SurfelPlus paper targeting low-end GPUs, which maps well to WebGPU constraints.
WebGPU compute pipelines proved capable of handling the full system, validating that compute-heavy rendering is now viable on the open web.