On Chrome 113+, you need to enable the chrome://flags/#enable-webgpu-developer-features !!
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 back the sorted id back to the GPU.
- No Spherical Harmonics for now.