Temporal Anti-Aliasing (TAA)
Accumulate information across frames so shimmering and unstable subpixel detail become calmer over time.
Post-processing is nested under Rendering pipeline , so the broader pipeline usually still applies here.
Interactive playground
Tweak the operator or scene live so the article connects to an immediate visual result.
Temporal anti-aliasing
Accumulate several jittered frames so thin high-frequency detail stops flickering as violently.
Current jittered frame
Scene viewAccumulated history
Result viewMore frames stabilize the pattern, but too much trust in history can also smear motion in a real renderer.
Family
Rendering pipeline -> Post-processing
Full-frame effects such as bloom and temporal anti-aliasing layered after base rendering.
Builds on
3 topics
Read these first if you want the surrounding pipeline context.
Unlocks
0 next topics
Use these follow-ups when you want to keep turning the image-processing pipeline forward.
Learning paths
1
This topic appears in curated graphics progressions so the next step is obvious.
Choose this over that
Temporal AA is for unstable detail, not every artifact
TAA stabilizes detail across frames, while mipmaps, bloom, and SSAO each solve different visual failures.
Temporal Anti-Aliasing (TAA)
Choose this when: Subpixel detail flickers across frames and temporal accumulation can stabilize it.
Choose something else when: The issue is static minification aliasing, glow, or missing occlusion.
Mipmaps
Choose this when: Texture minification aliasing is the main source of instability.
Choose something else when: The scene still shimmers even after good spatial sampling.
Bloom
Choose this when: Bright highlights need glow rather than temporal stabilization.
Choose something else when: Temporal instability is the visible issue.
Problem
A single frame often undersamples thin geometry, high-frequency textures, or noisy full-screen effects. The image looks stable when paused but shimmers badly in motion.
Intuition
TAA intentionally jitters sampling across frames and accumulates history. Over time, the history approximates a denser sampling pattern than any one frame could provide alone.
Core idea
- Jitter the camera or sample pattern slightly each frame.
- Render the current frame with that offset.
- Reproject history from previous frames into the current frame’s space.
- Blend current and historical samples while rejecting history that no longer matches well.
Worked example
A fence or thin wire may flicker from frame to frame under pure single-frame sampling. TAA calms that instability by accumulating information from multiple jittered views over time.
Complexity
TAA is a full-screen post-process with history buffers, reprojection, and rejection logic. The arithmetic is modest per pixel, but the correctness details are subtle.
When to choose it
- Choose it when temporal shimmer is one of the most visible quality problems.
- Choose mipmaps first for texture minification aliasing, because TAA works best when the spatial pipeline is already reasonable.
- Pair it carefully with effects like SSAO and bloom that may also carry noise or temporal instability.
Key takeaways
- TAA uses time as an extra sampling dimension.
- Reprojection and history rejection are just as important as the accumulation itself.
- It can dramatically improve stability, but poor history handling causes ghosting or blur.
- It is one of the major modern tools for real-time image stability.
Practice ideas
- Accumulate a jittered high-contrast pattern over several frames and compare against the raw current frame.
- Inspect the effect of stronger or weaker history blending on ghosting and stability.
- Compare a scene with mipmaps alone against mipmaps plus TAA.
Relation to other topics
- Mipmaps solve one major spatial aliasing source before TAA gets involved.
- The z-buffer and motion or reprojection information help align history correctly.
- SSAO and bloom often benefit from temporal stabilization but can also create extra ghosting challenges.
Build on these first
These topics supply the mental model or preceding stage that this page assumes.
Mipmaps
Precompute lower-resolution versions of a texture so minified sampling becomes far less aliased and unstable.
Z-Buffer
Resolve which fragment is actually visible at each pixel by keeping only the smallest depth seen so far.
Bloom
Make bright highlights glow by extracting them, blurring them, and compositing the result back onto the base frame.
Related directions
These topics live nearby conceptually, even if they are not strict prerequisites.
Screen-Space Ambient Occlusion (SSAO)
Approximate local ambient shadowing from the depth and normal buffers so creases and contact areas feel less flat.
Shadow Mapping
Use a depth map from the light’s point of view to decide whether a visible surface point is blocked from that light.
More from Post-processing
Stay in the same family when you want parallel operators built from the same mental model.
Paths that include this topic
Follow one of these sequences if you want a guided next step instead of open-ended browsing.
Raster pipeline
Follow the classic rendering path from clipping and rasterization into visibility, shadows, occlusion, and temporal cleanup.
From the blog
Pair the graphics atlas with recent writing from the broader site whenever you want a wider engineering lens.