Gaussian Splat rendering with WebGPU
One-file Gaussian Splat rendering using WebGPU (WIP).
This WebGPU implementation uses a compute-shader to extract the splats'
parameters (position, axis, color) once for all.
The vertex shader generates a quad as triangle-strip.
The fragment shader has several 'visu' functions, other than the expected
'gaussian'. Try 'cone', it looks good too!
The exact depth-sort is done on CPU at regular intervals (it's a
web-worker), while the GPU is doing an incremental insertion-sort [WIP!]
to keep the splats approximately sorted while the CPU is working for real.
KNOWN BUGS / LIMITATIONS:
- z-sorting is imperfect, slow (see console with 'print timing'!), and
produces flickering. The bottleneck is the
writeBuffer()to send the sorted ids back to the GPU. - No Spherical Harmonics for now.