TALLMOVE

Computer Graphics

From triangles to light: how math becomes the pictures on your screen.

Geometry

Bézier Curves & SplinesScene Graphs & Transform HierarchiesVoronoi Diagrams & DelaunayConvex Hulls

The Pipeline

The Graphics PipelineThe Z-Buffer: Hidden SurfacesTexture MappingAnti-Aliasing

Light & Color

Lighting: Lambert & PhongRay Tracing

Images

Animation

Easing FunctionsInverse KinematicsSkeletal Animation

3D from Images

Feature Matchingin progress

core · ~25 min

Find the same point in two photographs: corners where the picture changes in two directions, a descriptor per corner, distances between them, and a ratio test that refuses ambiguous matches.

Epipolar Geometryin progress

core · ~30 min

Two views of one scene are tied by a 3 by 3 matrix: a point in one image lies on a line in the other. Eight matches pin it, RANSAC survives the wrong ones, and the epipoles fall out.

Triangulationin progress

core · ~25 min

A pixel is a line of sight; two cameras give two lines that nearly cross. The point nearest every ray is the answer, the angle between the rays says how well it is pinned, and reprojection scores it.

Bundle Adjustmentin progress

advanced · ~30 min

Move every camera and every point at once so the points reproject onto the pixels that saw them: residuals, a Jacobian, one damped solve, and a step kept only if the error fell.

Structure from Motionin progress

advanced · ~30 min

Two views fix the frame: their essential matrix hides four poses and one puts the points in front. Each further camera is placed from points already in the world, then all is refined.

Multi-View Stereoin progress

core · ~25 min

With the cameras known, ask every pixel how far away it is: lift it to a sweep of depth planes, project into the other photo, score the patches, keep the best. A depth map, one row at a time.

Surface Reconstructionin progress

core · ~25 min

Depth maps become a solid: fuse them into a grid of signed distances, put a vertex in every cell the surface crosses, and join the cells around each crossing edge into quads. Unseen parts stay open.

Alpha Compositingin progress

intro · ~20 min

Painted sheets of glass, stacked: each pixel adds a sheet's brightness through the light the sheets in front let past. The over operator, front to back or back to front, is the same sum.

Volume Renderingin progress

core · ~25 min

No surface, only fog: march a ray from the eye, absorb a little at each step, add each step's glow through the light still left, and stop when none remains. The over operator, along a ray.

NeRFs: Neural Radiance Fieldsin progress

advanced · ~35 min

The scene is a function: a small network from position to density and brightness. Render it with the volume renderer, compare with the photographs, and let the error train the network.

Gaussian Splattingin progress

advanced · ~35 min

A scene as a cloud of fuzzy blobs: project each to an ellipse, sort nearest first, and composite the blobs covering each pixel front to back. Rasterized, not ray marched, and trained from photographs.