Back to topics

Fundamentals

2D Gaussian Splatting

What is a Gaussian Splat?

At its core, a Gaussian splat is a soft, fuzzy blob of color. Think of it as a spray paint dot — dense in the center and fading smoothly outward. Mathematically, it's a 2D Gaussian function that describes how "intense" the color is at every point.

Each splat is defined by a few key parameters: its position (where it sits), its covariance (how wide and in what direction it spreads), its color, and its opacity.

The 2D Gaussian Function

G(x) = exp( -½ (x - μ)T Σ-1 (x - μ) )

where μ is the mean (center), Σ is the 2×2 covariance matrix

Interactive Gaussian Playground

Click and drag to move gaussians. Adjust parameters to see how each property affects the shape.

Click & drag to move gaussians

Understanding Covariance

The covariance matrix Σ controls the shape and orientation of each Gaussian. It encodes three things:

  • σx — spread along the x-axis
  • σy — spread along the y-axis
  • rotation — the angle of the principal axes

When σx = σy with no rotation, you get a perfect circle. Different variances create an ellipse, and rotation tilts it.

Covariance Decomposition

Σ = R · S · ST · RT

R = rotation matrix, S = diagonal scaling matrix

Alpha Compositing: From Splats to Images

The real power emerges when you layer thousands of Gaussians together. Each one contributes its color weighted by its opacity, blending with what's behind it through alpha compositing.

The final color at any pixel is computed front-to-back: each Gaussian either blocks or blends with the ones behind it. This is the same principle used in traditional computer graphics for transparency.

Alpha Compositing

C = ∑i ci · αi · ∏j<i (1 - αj)

ci = color, αi = opacity of the i-th Gaussian (front to back)

Gaussian Composition

Watch how individual Gaussians compose into a coherent image. Move your mouse to disturb them.

From Splats to Portraits

How many Gaussians does it take to reconstruct a human face? It turns out that just a few hundred splats can capture the rough structure, and a couple thousand can produce a surprisingly detailed portrait. Drag the slider to add Gaussians one layer at a time and watch a face emerge from the noise.

Face Reconstruction

Drag the slider to add Gaussians and watch a face emerge from the splats.

Basic Structure100 / 9,910 gaussians

The Compression Insight

A 512×512 image has 262,144 pixels, each storing 3 color values — that's 786,432 numbers. A recognizable face emerges at around 500 Gaussians (just 4,500 numbers — a 175× compression). Even at full resolution with ~10,000 Gaussians and 9 parameters each, that's only ~90,000 numbers — still an 8× compression while capturing continuous structure that pixel grids waste bits repeating.

Why Gaussians?

Gaussians have special properties that make them ideal for this task:

  • Differentiable — gradients flow through every parameter, enabling optimization
  • Efficient to rasterize — no ray marching needed, just evaluate a simple formula
  • Smooth by nature — no aliasing artifacts from hard edges
  • Compact representation — few parameters per splat, yet highly expressive when combined

Next, we'll see how this extends to three dimensions, where Gaussians become the building blocks of photorealistic scene reconstruction.