← all repositories
nv-tlabs/3dgrut

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.

2.3k stars Python Computer VisionDomain Apps
3dgrut
Not currently ranked — collecting fresh signals.
star history

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 3DGRT or the hybrid 3DGRUT pipeline.
  • Includes an interactive playground GUI with PBR meshes and environment maps.
  • Exports trained scenes to USDZ for Nvidia Omniverse and Isaac Sim.
  • Runs on Linux and Windows across CUDA 11.8 through 13.0; 3DGRT prefers RT cores.

Caveats

  • 3DGRT requires dedicated RT cores and remains slower than conventional 3DGS; the authors steer production users toward gsplat.
  • CUDA 13.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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.