Puneet Varma (Editor)

Fast approximate anti aliasing

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Fast Approximate Anti-Aliasing (FXAA) is an anti-aliasing algorithm created by Timothy Lottes under NVIDIA.

Contents

The main advantage of this technique over conventional anti-aliasing is that it does not require large amounts of computing power. It achieves this by smoothing jagged edges ("jaggies") according to how they appear on screen as pixels, rather than analyzing the 3D model itself as in conventional anti-aliasing. In addition it smooths edges in all pixels on the screen, including those inside alpha-blended textures and those resulting from pixel shader effects, which were previously immune to the effects of multisample anti-aliasing (MSAA).

The downsides are that textures may not appear as sharp if they are included in the edge detection, and it must be applied before rendering the HUD elements of a game, lest it affect them too.

Processes

The processes of FXAA are listed as follows:

Find all edges contained in the image

Finding edges is typically a depth-aware search, so that pixels which are close in depth are not affected. This helps to reduce blurring in textures, since edges in a texture have similar depths.

Smooth the edges

Smoothing is applied as a per-pixel effect. That is, there is no explicit representation of the edges. Rather, the first step is a depth-aware edge filter, which marks pixels as belonging to edges, and the second step filters the color image values based on the degree to which a pixel is marked as an edge.

References

Fast approximate anti-aliasing Wikipedia