huggingface / gsplat.js

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

Frustum Culling #98

Open dylanebert opened 1 month ago

dylanebert commented 1 month ago

Frustum Culling could be beneficial if performed before sorting splats - less splats to sort (but we have to "pay" for index mapping), smaller buffer to write to gpu (if writebuffersubdata is being used), vertex shader has less work to do. BUT to do it reasonably fast splats needs to clustered, so we can discard many splats at once. Mkkellogg (in his threejs implementation) is wrapping splats in octree for exactly this reason. And yeah, no occlusion culling for splats ;)

Originally posted by @mateusz-malicki in https://github.com/huggingface/gsplat.js/issues/94#issuecomment-2066666505