GaussianSplats3D
GaussianSplats3D copied to clipboard
Feature: Randomly selected fraction of points
As far as I'm aware, splatting uses something like a point cloud. Could we allow the user to set a fraction of the points to be selected randomly for display?
The reason is primarily for speed when editing scenes: render a "simpler" fraction of the points, while manipulating the scene.
But there are obviously more uses, like reducing to a fraction until within a ball of viewer, etc.
And to do this you can (assuming there are points) shuffle the points, then use the first x%.
I have also thought about ways of doing this kind of thing -- Another approach might be to include a universal scaling factor for all the gaussians because simply making them smaller when rendering will also boost performance. I will definitely keep thinking about how to best support this capability, hopefully I can get something in an upcoming release.
Interesting. Maybe multiple methods can work together.
I just noticed that: the shuffle can be done once, and then the fraction can be changed smoothly (by people using the library) depending on proximity to the viewer or in animations!
If you're still interested, I recently added a function: SplatMesh.setSplatScale() to set the universal scaling factor for the splats. If you set the scale to be small, you should see a boost in performance. The viewer also has built-in keyboard controls to adjust the scale on-the-fly: - to decrease and = to increase.
Yes, I'm very interested. I think splatting will be a major way to get realistic elements in a scene.
The more flexibility we have in controlling the splats the better, because as I've said, there are many proximity (level of detail) optimizations that would be powerful -- especially since unlike a traditional model, there is a possibility to meaningfully take a random sample of the points, and it still work.
I'm going to close this for now, but eventually I'm going to (hopefully) add a dynamic level-of-detail system. Really I'm just waiting for the code for this project: https://repo-sam.inria.fr/fungraph/hierarchical-3d-gaussians/.
Great! Thanks for letting me know. That research looks powerful.