All Posts

Tutorials and paper breakdowns on 3D Gaussian Splatting — implementation details in PyTorch, rendering internals, and the research worth reading.

Start here

The map of the field, and where every other post fits on it.

Feed-Forward 3D Gaussian Splatting: From Proof of Concept to Productionion-Ready (2023–2026)

How feed-forward 3DGS went from 64×64 synthetic objects to metric-scale scenes from a single photograph in under a second — Splatter Image, pixelSplat, MVSplat, DUSt3R, NoPoSplat, VGGT, Depth Anything 3 and SHARP, told as six assumptions being removed.

Feed-forward and single-view 3D

Reconstructing a scene in one forward pass, without per-scene optimization.

pixelSplat vs MVSplat: How Feature Matching Beat Depth Regression

Two papers, one benchmark, opposite philosophies: probabilistic depth against plane-sweep cost volumes, the transplant experiment that settled it, and what each taught the field.

Apple SHARP Explained: How One Photo Becomes a 3D Scene in a Second

1.2 million metric-scale Gaussians from one photograph in under a second: the architecture, the two training tricks behind it, how to run it on a Mac, and what its license actually allows.

Depth Anything 3 Explained: Beating VGGT with a Plain Transformer

One prediction per pixel — a depth and a ray — and an unmodified DINO transformer beat VGGT by wide margins on pose and geometry. The representation, not the architecture, is the story.

VGGT Explained: One Transformer for Cameras, Depth and 3D Point Clouds

How one transformer predicts camera poses, depth, point maps and 3D tracks in a single forward pass — architecture, training, results, and why it replaced the specialized pipelines.

Single-Image 3D Gaussian Splatting in One Forward Pass

An introduction to feedforward 3DGS: Splatter Image implemented from scratch in PyTorch, including per-pixel Gaussian decoding and the output-head initialization that makes training stable from step zero.

Fast Single-View NeRF with Meta-Learning

Reptile meta-learning applied to coordinate networks, so a NeRF adapts to a new scene from a single view in a fraction of the usual iterations.

Is 3D Gaussian Splatting Beating NeRF on Everything?

Where 3DGS genuinely wins, where NeRF still holds an advantage, and why the honest answer in an interview is more nuanced than the headline.

Rendering and speed

Why splatting is fast, and how to make it faster.

Understanding 3DGS Rendering Speed

Tile-based rasterization, the debt 3DGS owes to decades of GPU pipeline design, and where the time actually goes during a render.

Accelerating 3DGS With Speedy Splat

Cutting the number of tiles each Gaussian touches, for faster rendering at identical image quality.

Training internals, in PyTorch

The engineering details that papers skip.

Implementing a Custom Backward Pass in PyTorch

Writing an autograd.Function with a manual backward that recomputes rasterization weights on the fly, instead of storing them.

Custom Gradients vs Autograd in 3DGS

Bitwise-identical gradients, dramatically different VRAM. Why tile-parallel backprop is what puts 1080p and 4K training on a 24GB card.

Data, initialization and depth

What goes into the model, and what you can read back out of it.

Initialization Sparsity in 3D Gaussian Splatting

Densification grows past a million Gaussians, and PSNR still drops when the initial point cloud is thin. An experimental look at why, and what to do about it.

Extracting Depth From Any Pretrained 3DGS

High-quality depth maps out of a trained model, with no retraining, no regularizers and no changes to the pipeline.

Perspective

Where this is all going.

Do World Models Replace 3D Reconstruction? Genie 3, Marble and SHARP

Genie-class models generate every frame as you move; reconstruction builds geometry you can keep. What separates the two paradigms, who ships which, and why they now meet at 3D Gaussians.

The Shift to Physical AI

Why the next wave of AI needs both a 3D representation of the world and a fast generative model, and what that means for what is worth learning now.

📘 Learn 3DGS Step-by-Step (PyTorch Only)

Want to truly understand 3D Gaussian Splatting—not just run a repo? My 3D Gaussian Splatting Course teaches the full pipeline from first principles in PyTorch only (no C++, no CUDA). You’ll learn initialization, rasterization, backward passes, training loops, and how to experiment with recent papers.

Explore the Course →

📩 Join the Newsletter

I share practical posts on 3DGS, NeRF, PyTorch implementations, research breakdowns, and the engineering details that usually get skipped in papers.

Subscribe →