huggingface / gsplat.js

JavaScript Gaussian Splatting library.
MIT License
1.26k stars 77 forks source link

Experimental feature: low quality sort and render #63

Open mateusz-malicki opened 4 months ago

mateusz-malicki commented 4 months ago

Im experimenting with low quality mode in cases when camera moves quickly to prevent rendering with stale sort order. Current implementation is available here. Its still very naive and kinda buggy, but shows the idea and tradeoffs. It can be improved with precomputing splats "weight" based on opacity and dimensions and/or non-linear depth/density. Currently low quality mode is enabled whenever camera moves, but ideally this decision should be made based on latency of sorting and writing depthIndex. What are you thinking about this feature/idea? Are tradeoffs worth it? EDIT: there is no progress bar, so you have to wait a little bit in darkness ;)

dylanebert commented 4 months ago

I think it's a good idea, but will need some work to feel less jarring, i.e. based on latency (or maybe even distance) And maybe with multiple quality levels to feel smoother (similar to LODs)