Computer Graphics

Anti-Aliasing and Filtering

Reconstruction, in space and over time.

Colour is the family; a dashed line is the second member of it.

Drag to pan · scroll to zoom · click a node to open it · hover one for the reasons on its edges, and to bring it forward
G anisotropic-filtering Anisotropic Filtering mipmapping Mipmapping anisotropic-filtering->mipmapping antialiasing-over-time Temporal Sample Reuse supersampling Supersampling antialiasing-over-time->supersampling fxaa Fast Approximate Anti-Aliasing mlaa Morphological Anti- Aliasing fxaa->mlaa texture-mapping Texture Mapping mipmapping->texture-mapping msaa Multisample Anti- Aliasing mlaa->msaa msaa->supersampling neighborhood-clamping Neighborhood Clamping taa Temporal Anti- Aliasing neighborhood-clamping->taa smaa Subpixel Morphological Anti- Aliasing smaa->mlaa rasterization Rasterization supersampling->rasterization taa->antialiasing-over-time temporal-reprojection Temporal Reprojection taa->temporal-reprojection temporal-reprojection->antialiasing-over-time temporal-upscaling Temporal Upscaling temporal-upscaling->taa
The 13 reasons on these edges, as text

12 nodes

Mipmapping

Stores a prefiltered pyramid and picks the level matching the screen- space footprint, turning texture minification from a sampling problem into a lo… · 1983

Fast Approximate Anti-Aliasing

A single-pass luminance-gradient filter tuned to be almost free. Blurs some genuine detail, and shipped nearly everywhere because it needs nothing fr… · 2009

Morphological Anti-Aliasing

Finds edge patterns in the finished image and reconstructs a coverage estimate from their shape, adding anti-aliasing entirely as a post- process. · 2009

Subpixel Morphological Anti-Aliasing

Adds proper pattern classification, sharper edge detection and optional multi-sample or temporal inputs, recovering the detail that cheap morphologic… · 2012

Anisotropic Filtering

Takes several mip samples along the direction the footprint is stretched, instead of choosing one level from its widest extent.

Temporal Sample Reuse

The general idea that a frame is one sample of a continuously moving signal, so previous frames are usable samples if you can find the corresponding…

Multisample Anti-Aliasing

Samples coverage and depth at several points per pixel but shades only once per covered primitive, which fixes geometric edges at a fraction of the c…

Neighborhood Clamping

Constrains the reprojected history to the colour range of the current frame's neighbouring pixels, so a history sample that no longer describes this…

Supersampling

Render at higher resolution and downsample. Correct by construction, and linearly expensive in both shading and bandwidth, which is why everything be…

Temporal Anti-Aliasing

Jitters the projection each frame and blends the reprojected history, giving supersampled quality at one sample per pixel. Now the default, and the s…

Temporal Reprojection

Uses per-pixel motion vectors to find where this pixel's surface was in the previous frame, making last frame's result available as an input to this…

Temporal Upscaling

Renders below display resolution and reconstructs the full frame from jittered history, treating anti-aliasing and upscaling as the same reconstructi…