Gaussian Splatting in Babylon.js

Hi Cedric, I have found one of the reasons of performance issue and have an improved version.

The idea is to avoid update instance matrix (covA, covB, centers, colors) after sorting, so the instance buffer could be set to static (dynamic is slow).

Gaussian info (covA, covB, centers, colors) are used as sampler2Ds, and a single splatIndex attribute is used to represent sorted index which is dynamic. In my case, the fps of 2.5 million truck.splat could be raised from 15 to 60.

I have submit a PR here. Could you review it?@Cedric @sebavan

2 Likes