3DGUT: Enabling Distorted Cameras and Secondary Rays in Gaussian Splatting

Qi Wu, J. M. Esturo, Ashkan Mirzaei, Nicolas Moënne-Loccoz, Zan Gojcic
2/9/2026

No official code found. Best implementation: nv-tlabs/3dgrut (2,343 stars, Apache-2.0, last commit 2026-04-30).

Abstract

3D Gaussian Splatting (3DGS) enables efficient reconstruction and high-fidelity real-time rendering of complex scenes on consumer hardware. However, due to its rasterization-based formulation, 3DGS is constrained to ideal pinhole cameras and lacks support for secondary lighting effects. Recent methods address these limitations by tracing the particles instead, but, this comes at the cost of significantly slower rendering. In this work, we propose 3D Gaussian Unscented Transform (3DGUT), replacing the EWA splatting formulation with the Unscented Transform that approximates the particles through sigma points, which can be projected exactly under any nonlinear projection function. This modification enables trivial support of distorted cameras with time dependent effects such as rolling shutter, while retaining the efficiency of rasterization. Additionally, we align our rendering formulation with that of tracing-based methods, enabling secondary ray tracing required to represent phenomena such as reflections and refraction within the same 3D representation. The source code is available at: https://github.com/nv-tlabs/3dgrut.

View on arXivView PDF

Code Implementations(1)

nv-tlabs/3dgrutCommunity100%
Apache-2.0

Ray tracing and hybrid rasterization of Gaussian particles

2,343271C, C++Mar 20, 20255 months agoApache-2.0
3d-reconstructioncomputer-visiongaussian-splattingray-tracing

Similar Papers

Cite this paper

@article{wu2026dgut,
  title  = {3DGUT: Enabling Distorted Cameras and Secondary Rays in Gaussian Splatting},
  author = {Qi Wu and J. M. Esturo and Ashkan Mirzaei and Nicolas Moënne-Loccoz and Zan Gojcic},
  year   = {2026},
  eprint = {2412.12507},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2412.12507},
  journal = {CVPR 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2412.12507.svg)](https://codeofpaper.com/paper/2412.12507)

Discussion