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!
Supports Loose Octree front-to-back hierarchical frustum culling & sorting
(from Gauss-Opt, including dropping .ply checkpoints with embedded octrees or .octree.json files),
or CPU web-worker radix-sort + GPU incremental insertion-sort.
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.