Skip to content
SpecializedSource checked

Temporal Anti-Aliasing

Reduces aliasing by accumulating jittered samples across frames.

Quick Facts

Compact metadata for implementation and discovery.

Category
Rendering
Difficulty
Advanced
Family
Temporal Filtering
Tier
Specialized
Status
Verified
Review
Source Checked
Sources
1
Formulas
1
Relationships
4
Code example
Ready
Visualization
Ready

Overview

Temporal Anti-Aliasing combines the current frame with reprojected history, using motion vectors and clamping to reduce ghosting.

Core Concepts

subpixel jitterhistory reprojectionmotion vectorneighborhood clamp

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(pixels)

Average

O(pixels)

Worst

O(pixels)

Space

O(pixels)

When to Use

  • Use when stable real-time images matter more than single-frame sharpness.
  • Use when real-time edge smoothing is a central requirement.

When Not to Use

  • Avoid when motion vectors are unavailable or ghosting is unacceptable.
  • Avoid when the renderer cannot provide the buffers, samples, or lighting data the technique needs.

What It Does

  • Jitters sample positions
  • Reprojects previous frame data
  • Blends current and historical color

Use Cases

  • Real-time edge smoothing
  • Shimmer reduction
  • Stable rendered images

Inputs

  • Current frame
  • History frame
  • Motion vectors
  • Jitter pattern

Outputs

  • Anti-aliased frame

Key Formulas (1)

Temporal blend

color = α · current + (1 − α) · history
color = alpha * current + (1 - alpha) * history

Combines current and reprojected historical color.

Pseudocode

  1. 1.Render with a subpixel jitter
  2. 2.Use motion vectors to find the previous sample position
  3. 3.Fetch history color
  4. 4.Clamp history against current neighborhood
  5. 5.Blend current and history colors

Canonical Example

Input
current color = 0.6, history color = 0.5
Output
output = blended color near 0.53
Explanation
The frame uses history to approximate more samples than one frame contains.

Implementation Notes

  • Visualize motion vectors and rejected history regions during debugging.
  • Debug with simple geometry, known lights, and visualized intermediate buffers.
  • Keep a tiny example with expected output beside the implementation.

Common Pitfalls

  • Blending invalid history creates trails behind moving objects.
  • Coordinate-space mismatches often cause artifacts that look like math errors.
  • Not defining boundary, empty, or degenerate inputs before implementation.

Interactive Mechanism Walkthrough

Spatial Primitive & Sweep-Line Canvas

Show jittered samples over multiple frames accumulating into a smoother edge.

Temporal Anti-Aliasing mechanism walkthrough step 1 of 5
Step 1 of 5: Render with a subpixel jitter
rendering-pipeline

Notes

TAA quality depends on motion vectors, history validation, and neighborhood clamping.

Sources (1)

What each reference supports for this entry.

Temporal Antialiasing Survey

Paper

Computer Graphics Forum survey covering temporal accumulation, history validation, and TAA variants.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Alternative toFXAA

TAA and FXAA are both post-process antialiasing strategies.

Alternative toMSAA

TAA accumulates samples over time while MSAA stores multiple samples per pixel.

Tags

GraphicsAnti-AliasingScreen-SpaceFiltering