← all repositories
graphdeco-inria/gaussian-splatting

NeRF's fast cousin renders 3D scenes with fuzzy blobs

The reference implementation that replaced neural networks with millions of 3D Gaussians to achieve real-time radiance field rendering.

gaussian-splatting
Velocity · 7d
+21
★ / day
Trend
steady
star history

What it does

Takes a set of photos, runs them through COLMAP for camera calibration, then optimizes a scene representation made of millions of 3D Gaussians—no neural network required. The result renders at ≥30 fps at 1080p in the provided OpenGL viewer, and you can fly through the scene in real time. The repo includes the PyTorch optimizer, a training progress viewer, a real-time renderer, and a helper script to prep your own image sets.

The interesting bit

The trick is anisotropic splatting: each Gaussian can stretch and squish to match scene geometry, and the renderer only pays attention to what’s actually visible. The authors interleave optimization with density control, so Gaussians spawn, split, and die as needed. It’s essentially a particle system that learned to look like a photograph.

Key highlights

  • 24 GB VRAM recommended for paper-quality training (smaller configs exist, check the FAQ)
  • CUDA SDK 11 required for the default setup; CUDA 12 works but needs manual environment tweaks
  • Windows and Ubuntu 22.04 tested; submodules required, so clone --recursive
  • Post-release updates added depth regularization, anti-aliasing, exposure compensation, and OpenXR VR support
  • Pre-trained models and evaluation datasets available (14 GB and 7 GB respectively)

Caveats

  • Build issues on Windows are common enough that the README has a dedicated FAQ entry for cl.exe: File not found
  • The authors note “limited resources for maintaining and updating the code”
  • Training speed acceleration and newer features were only integrated as of October 2024

Verdict

Grab this if you need the ground-truth implementation to compare against, or if you’re building on 3D Gaussian Splatting and want the original training pipeline. Skip it if you just want to view splats—there are lighter viewers now, and this repo’s value is the optimizer, not the UX.

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