SMAA – Enhanced Subpixel Morphological Antialiasing

SMAA is based on Jorgen Jarmizes’s Practical MLAA (imporved version of MLAA, designed to run on a GPU). SMAA extends Practical MLAA by:

  • Increased number and type of edges patterns, which helps to preserve sharp geometric features and also to process diagonal geometry edges.
  • Improved pattern handling with a fast and accurate distance search for a more reliable edge detection.
  • Added multi/supersampling and temporal reprojection
  • Each feature can be enabled and disabled to match the desired result.

img01Edge re-vectorization. MLAA (left) and SMAA(right) with diagonal edge re-vectorization.


  • Designed to run on a GPU. SMAA 4x, less than 3 ms execution time on GeForce GTX 470.
  • Sharper re-vectorization than original MLAA.
  • Improved pattern search.
  • Integrated multisampling and temporal antialiasing (cures ghosting and preserves sub-pixel detail) which can be increased to preserve stability and increase sub-pixel quality for a more complex scenery.
  • Final image quality comparable to SSAA 16x (supersampling) with a much lower execution time and memory consumption.
  • Deferred rendering pipeline friendly.


  • Storing velocity module (for temporal antialiasing) in alpha channel of the color buffer may conflict with deferred rendering pipeline.


Note: Precompiled demo seems to display a more sharper and stable result with MSAA 4x in contrast to SMAA 4x setting.

Leave a Reply