Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Randomly selected fraction of points #126

Open
tom-adsfund opened this issue Feb 15, 2024 · 5 comments
Open

Feature: Randomly selected fraction of points #126

tom-adsfund opened this issue Feb 15, 2024 · 5 comments

Comments

@tom-adsfund
Copy link

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.

@tom-adsfund
Copy link
Author

And to do this you can (assuming there are points) shuffle the points, then use the first x%.

@mkkellogg
Copy link
Owner

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.

@tom-adsfund
Copy link
Author

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!

@mkkellogg
Copy link
Owner

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.

@tom-adsfund
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants