Point gaussian improvements
In my current effort to make the point Gaussian mapper compatible with the new 3D Gaussians splatting technology, I improved several aspects of the current mapper:
- Use an index buffer instead of reordering VBOs on the CPU. One other advantage of doing that is if depth ordering per frame is needed (which is required if the splats are translucent), only the IBO has to be updated and the VBO can be left unmodified.
- Use a quad splat (2 triangles) instead of a single triangle. It makes the splat area much smaller, so there are fewer fragment shader invocations, improving the overall performance. Also, it fixes the hardware picking with a rectangle selection where some splats were picked because some parts of the triangle were crossing the selection bound.
- Rename
TriangleScale
toBoundScale
. This change is not backward compatible so let me know what to do.
Comparison of the unit circle in a single triangle bound (master), and a quad bound (this PR). The grey fragments are discarded in the fragment shader but still invoked.
Edited by Michael Migliore