Nvidia's 3DGRUT hybridizes Gaussian splats with ray tracing
Official code for tracing rays through 3D Gaussian particles to render reflections, refraction, and rolling-shutter distortion without abandoning rasterization entirely.

What it does
3DGRUT is Nvidia’s official training and rendering stack for two research techniques: 3D Gaussian Ray Tracing (3DGRT) and the 3D Gaussian Unscented Transform (3DGUT). It renders volumetric Gaussian particles using either pure ray tracing or a hybrid pipeline that keeps primary views fast via rasterization while tracing secondary rays for reflections, refraction, and shadows. A separate rasterization-only mode, 3DGUT, handles distorted cameras and rolling-shutter effects without requiring RT hardware. The repository also bundles an interactive playground with PBR mesh and environment-map support, plus export to USDZ for Omniverse and Isaac Sim.
The interesting bit
The clever part is a unified mathematical formulation that lets the same Gaussian scene be rasterized for speed (3DGUT), fully ray-traced for accuracy (3DGRT), or hybridized into primary rasterization plus secondary ray tracing (3DGRUT). The authors are unusually candid that pure 3DGRT is slower than standard 3DGS and point users toward gsplat for production work.
Key highlights
- Supports distorted cameras and rolling-shutter effects in both ray-traced and rasterized modes.
- Simulates secondary rays—reflection, refraction, and shadows—via
3DGRTor the hybrid3DGRUTpipeline. - Includes an interactive playground GUI with PBR meshes and environment maps.
- Exports trained scenes to
USDZfor Nvidia Omniverse and Isaac Sim. - Runs on Linux and Windows across
CUDA11.8 through 13.0;3DGRTprefers RT cores.
Caveats
3DGRTrequires dedicated RT cores and remains slower than conventional 3DGS; the authors steer production users towardgsplat.CUDA13.0 support is experimental, and legacy installation paths demand manual GCC compatibility tweaks.
Verdict
Worth a look if you are building Gaussian-based renderers that need physically correct reflections, refraction, or rolling-shutter cameras. If you just need fast, conventional splatting, the authors themselves suggest using gsplat instead.
Frequently asked
- What is nv-tlabs/3dgrut?
- Official code for tracing rays through 3D Gaussian particles to render reflections, refraction, and rolling-shutter distortion without abandoning rasterization entirely.
- Is 3dgrut open source?
- Yes — nv-tlabs/3dgrut is open source, released under the Apache-2.0 license.
- What language is 3dgrut written in?
- nv-tlabs/3dgrut is primarily written in Python.
- How popular is 3dgrut?
- nv-tlabs/3dgrut has 2.3k stars on GitHub.
- Where can I find 3dgrut?
- nv-tlabs/3dgrut is on GitHub at https://github.com/nv-tlabs/3dgrut.