Representing surfaces and finding where a ray meets them.
Colour is the family; a dashed line is the second member of it.
Assigns surface parameters from an image indexed by per-vertex coordinates, decoupling material detail from geometric density. · 1974
Perturbs the shading normal from a height texture without moving any geometry. Almost free, and its limits are visible the moment a silhouette or a s… · 1978
Generalizes bicubic B-spline refinement to meshes of arbitrary topology. The standard modelling surface in film, and the reason quad topology is the… · 1978
Moves surface points along the normal by a stored height, producing detail that occludes itself and changes the silhouette because the geometry reall… · 1984
The triangle counterpart of Catmull-Clark, built on box splines, for pipelines whose base meshes are triangular rather than quad. · 1987
Extracts a triangle mesh from a scalar field by table lookup on the sign pattern at each cell's corners. The reason volume data can be handed to ordi… · 1987
Chooses each split by estimating traversal cost from the probability a random ray hits each child, which is proportional to its surface area. Still t… · 1990
Marches along a ray by exactly the distance value at each point, which can never overshoot the surface. Renders implicit geometry without ever tessel… · 1996
Solves for barycentric coordinates directly with a scalar triple product, needing no precomputed plane equation and therefore no per- triangle storag… · 1997
Places one vertex per cell by solving a least-squares fit to the surface normals it intersects, which lets it reproduce sharp creases that corner-sig… · 2002
Ray-marches the height field in tangent space so texture features shift with view angle and occlude each other, recovering the parallax that normals… · 2006
Sorts primitives along a Morton curve and builds the hierarchy from the resulting bit patterns, which parallelizes perfectly and rebuilds in millisec… · 2012
Reorders the arithmetic so that a ray crossing an edge shared by two triangles is guaranteed to hit exactly one of them, closing the pinhole leaks th… · 2013
Builds a hierarchy of pre-simplified clusters and chooses the cut through it per frame, so level of detail changes per cluster and streams from disk… · 2021
A tree of nested bounding boxes over primitives. Handles unevenly distributed geometry gracefully, refits cheaply under animation, and is what ray tr…
Recursively splits space rather than objects with axis-aligned planes. Nodes never overlap, which makes traversal tight, but primitives straddling a…
Swaps in coarser geometry as an object shrinks on screen, keeping triangle density roughly constant in screen space.
Splits a mesh into small vertex-and-triangle clusters that can be culled and dispatched independently, replacing the fixed vertex-fetch pipeline with…
Stores the perturbed normal directly in a tangent-space texture instead of deriving it from height differences, which removes the derivative computat…
Vertices, edges and faces. Explicit, cheap to rasterize and to intersect, and the representation essentially all hardware is built around.
Projects primitives to the screen and fills the pixels they cover. Cost scales with primitives times coverage, and visibility comes free from a depth…
The innermost operation of every ray tracer, so constant factors and numerical robustness here dominate both performance and correctness.
Stores distance to the nearest surface, negative inside. Booleans, offsets and blends become arithmetic on the field, and the distance value itself i…
Defines a smooth limit surface as the result of infinitely refining a control mesh, giving a single representation that is both editable at low resol…
How a surface is stored before anything is rendered: explicitly as primitives, or implicitly as a function whose zero set is the surface.