Surfel-based global illumination on the web

· web · Source ↗

TLDR

  • 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.

Hacker News Comment Review

  • No substantive HN discussion yet.

Original | Discuss on HN