A ground-up interactive journey through the math and algorithms needed to understand 3D Gaussian Splatting — from collision geometry to projections and beyond.
The Separating Axis Theorem — projections, edge normals, overlap detection, and the Minimum Translation Vector. Interactive draggable demos.
SAT · Projections · MTV · Physics ResponseHow OBBs represent anisotropic Gaussian blobs. Covers the rotation matrix convention, 4-axis SAT, and deriving an OBB from a covariance matrix.
OBB · Rotation Matrix · Gaussian CovarianceHermite interpolation for keeping optimisable parameters in valid ranges. Covers the formula, zero-derivative endpoints, automatic differentiation, and gradient descent simulation.
Calculus · Autodiff · OptimisationHow sorted Gaussian blobs are composited into a final pixel using premultiplied alpha. Includes the forward blend, the termination condition, and the backward undo pass for gradients.
Alpha · Compositing · Forward · Backward PassThe bivariate Gaussian formula, covariance matrix shapes, inverse covariance, and extracting an oriented bounding box via eigendecomposition.
Gaussian · Covariance · Eigenvalues · OBBThree workgroup-level algorithms: binary tree reduction for gradient accumulation, compare-and-swap floating-point atomics, and bitonic sort for depth ordering.
GPU · Bitonic Sort · CAS · ReductionHow the GPU divides the image into tiles and uses strided workgroup iteration to build a per-tile short-list of Gaussians via bounding-box intersection tests.
Tiles · coarseRasterize · calcUV · Strided LoopsHow the four pipeline stages chain together using phantom types to enforce order, which stages are differentiable and why, and the fineRasterize forward blend.
splatBlobs · Phantom Types · fineRasterize · PipelineWhy the blending loop needs a custom backward pass, the state-undo trick that avoids O(N) memory, Slang's auto-diff vocabulary, and the Adam optimizer.
Auto-diff · State Undo · bwd_diff · Adam