NVGS: Neural Visibility for Occlusion Culling in 3D Gaussian Splatting
Brent Zoomers, Florian Hahlbohm, Joni Vanherck, Lode Jorissen, Marcus Magnor, Nick Michiels
TL;DR
NVGS addresses the challenge of occlusion culling in 3D Gaussian Splatting by learning a viewer-dependent visibility function for Gaussians with a compact shared MLP. The pipeline extracts per-Gaussian visibility from trained assets, distills it into an MLP, and uses an occlusion-aware instanced rasterizer to prune Gaussians before instantiation, leveraging Tensor Cores for speed. The approach yields large VRAM reductions and high image quality, enabling real-time rendering of scenes with up to $10^8$ Gaussians and complementing existing LoD techniques. This has practical impact for scalable, high-fidelity rendering in games and film, reducing preprocessing and memory bottlenecks in large-scale composed scenes.
Abstract
3D Gaussian Splatting can exploit frustum culling and level-of-detail strategies to accelerate rendering of scenes containing a large number of primitives. However, the semi-transparent nature of Gaussians prevents the application of another highly effective technique: occlusion culling. We address this limitation by proposing a novel method to learn the viewpoint-dependent visibility function of all Gaussians in a trained model using a small, shared MLP across instances of an asset in a scene. By querying it for Gaussians within the viewing frustum prior to rasterization, our method can discard occluded primitives during rendering. Leveraging Tensor Cores for efficient computation, we integrate these neural queries directly into a novel instanced software rasterizer. Our approach outperforms the current state of the art for composed scenes in terms of VRAM usage and image quality, utilizing a combination of our instanced rasterizer and occlusion culling MLP, and exhibits complementary properties to existing LoD techniques.
