nvpro-samples/vk_gaussian_splatting
Advanced viewer implementing several rendering methods for 3D gaussians using Vulkan API
What it solves
This project provides a high-performance real-time viewer for 3D Gaussian Splatting (3DGS) models. It addresses the need for a testbed to compare different visualization techniques—such as rasterization and ray tracing—to determine the best trade-offs between rendering speed, visual quality, and implementation complexity using the Vulkan API.
How it works
The application acts as a viewer rather than a reconstruction tool; it does not train or generate models. It implements several distinct rendering pipelines to visualize splats:
- Rasterization: Fast traditional rendering of Gaussian particles.
- Ray Tracing: High-fidelity visualization using ray-particle intersections.
- Hybrid: A combination of both approaches.
- Specialized Techniques: Includes implementations of the Unscented Transform (3DGUT), stochastic transparency, and billboard ray tracing.
It also integrates advanced graphics features like GGX PBR materials, DLSS for upscaling, and physically-based lighting (IBL environment maps and path tracing).
Who it’s for
- Graphics Developers: Those looking to implement or experiment with 3DGS rendering in Vulkan.
- Researchers: People comparing the performance and quality of different 3DGS visualization algorithms.
- End Users: Anyone who needs a fast, day-to-day viewer for existing 3DGS
.plymodels.
Highlights
- Multiple Rendering Paths: Supports rasterization, ray tracing, and hybrid pipelines.
- Advanced Lighting: Features physically-based rendering (PBR) with GGX materials and IBL environment maps.
- Performance Tools: Includes DLSS support and a dedicated billboard benchmark suite.
- Cross-Platform: Compatible with Windows and Linux on NVIDIA or Vulkan 1.4 enabled GPUs.
Related
- Project
- Project
- Project
- Project