Surfel-based global illumination on the web
8 days ago
- #Global Illumination
- #WebGPU
- #Surfels
- Exploration of using WebGPU for real-time global illumination with surfels (surface elements).
- Surfels are flat discs in 3D space, used to decouple lighting from screen resolution.
- Pipeline involves surfelization, grid construction for spatial indexing, ray tracing per surfel, and temporal stability techniques.
- Guiding light sampling with a directional grid to optimize ray tracing efficiency.
- Multi-scale mean estimator (MSME) for temporal stability to reduce noise and improve responsiveness.
- Radial depth atlas to prevent light leaks through walls by giving surfels a sense of distance.
- Resolve pass transfers surfel light estimates to screen pixels, considering orientation, age, and occlusion.
- Pipeline consists of 13+ compute passes per frame, achieving 60fps on complex scenes.
- Limitations include WebGPU's storage buffer constraints and lack of hardware ray tracing.
- Potential for future improvements like support for dynamic scenes, specular reflections, and more lights.