Signal Processing in Computer Graphics #6: AntiAliasing

Overview

Anti-aliasing is a technique used in computer graphics to reduce the alias we have described in the previous chapters.

Here there is an example in ShaderToy of three popular anti-aliasing algorithms: SSAA (Super-Sample Anti-Aliasing), MSAA (Multi-Sample Anti-Aliasing), and TAA (Temporal Anti-Aliasing).
Please check the shader code for further details.

SSAA (Super-Sample Anti-Aliasing)

Super-Sample Anti-Aliasing (SSAA) is one of the simplest forms of anti-aliasing. It works by rendering the scene at a higher resolution and then downscaling it to the desired display resolution. This method provides high-quality results but is computationally expensive.
The ShaderToy example alternates between a scene with SSAA enabled and one without it every few seconds.

An example in Shadertoy of SSAA

MSAA (Multi-Sample Anti-Aliasing)

Multi-Sample Anti-Aliasing (MSAA) improves performance compared to SSAA by only sampling multiple points within polygons where edges are detected, instead of the entire scene. This makes MSAA a more efficient solution, offering a good balance between performance and quality.
The ShaderToy example shows the same scene without MSAA on the left, and with it on the right.

An example in Shadertoy of MSAA

TAA (Temporal Anti-Aliasing)

Temporal Anti-Aliasing (TAA) uses information from previous frames to smooth out jagged edges. It is highly effective at reducing aliasing in motion, but it may cause ghosting artifacts in some cases. TAA is widely used in modern games due to its ability to provide high-quality results with relatively low computational cost.

The ShaderToy example alternates between a scene with TAA enabled and one without it every few seconds.

An example in Shadertoy of TAA

And these notes end here. It was just a brief journey into the realm of aliasing. Hope you enjoyed it, see you!

Posts in this series