News
- August 23, 2013Version 2.8 released, featuring a minor code clean-up and minor optimizations.
- May 16, 2012Slides from our Eurographics presentation uploaded!
- January 16, 2012Version 2.7 released, featuring SMAA S2x and 4x. Checkout the new Eurographics paper and supplementary material in the downloads section!
- November 30, 2011Andrej Dudenhefner released a SMAA 1x Injector! Kudos to Andrej.
- November 18, 2011Version 2.6 released, featuring GLSL support. Big thanks to Dmitriy Jdone!
- October 28, 2011Demo movie showing SMAA features and CryEngine 3 integration uploaded.
- October 27, 2011Version 2.5 released, featuring SMAA T2x and CryEngine temporal reprojection.
- September 6, 2011Version 2.4 released, featuring predicated thresholding (Killzone 3 edge detection method).
- September 3, 2011Version 2.3 released, featuring corner pattern processing.
- September 1, 2011Version 2.2 released, featuring diagonal pattern processing, quality presets and further optimizations.
- August 29, 2011Version 2.1 released, featuring better performance and easier integration.
- August 25, 2011Version 2.0 released, featuring local constrast adaptation and accurate searches.
- August 25, 2011Web launched!
Abstract
We present a new image-based, post-processing antialiasing technique, which offers practical solutions to the common, open problems of existing filter-based real-time antialiasing algorithms. Some of the new features include local contrast analysis for more reliable edge detection, and a simple and effective way to handle sharp geometric features and diagonal lines. This, along with our accelerated and accurate pattern classification allows for a better reconstruction of silhouettes. Our method shows for the first time how to combine morphological antialiasing (MLAA) with additional multi/supersampling strategies (MSAA, SSAA) for accurate subpixel features, and how to couple it with temporal reprojection; always preserving the sharpness of the image. All these solutions combine synergies making for a very robust technique, yielding results of better overall quality than previous approaches while more closely converging to MSAA/SSAA references but maintaining extremely fast execution times. Additionally, we propose different presets to better fit the available resources or particular needs of each scenario.
Movie
IMPORTANT: designed to viewed in HD at full screen. As compression hides aliasing, we encourage to download the HD movie in Downloads to better see the differences between the different techniques.
Downloads
- PDF [6.64 MB]
- Slides [170.33 MB]
- Movie [222.72 MB]
- Supplementary Material [0.00 ]
- Precompiled Demo [15.81 MB]
-
Github Repository
Direct Links
-
2.8 (August 23, 2013): better profile timers, moved vertex shader subpixel jitter to the transformation matrix and improvements in the SMAA C++ interface. DX9 demo now features all the controls DX10 version already had, thanks to kphillisjr.
Download Diff with v2.7 -
2.7 (January 16, 2012): added SMAA S2x and 4x modes. IMPORTANT: the textures have changed. Both SMAA.h and the textures should be uptaded.
Download Diff with v2.6 -
2.6 (November 18, 2011): added GLSL support.
Download Diff with v2.5 -
2.5 (October 27, 2011): added temporal supersampling (SMAA T2x).
Download Diff with v2.4 -
2.4 (September 6, 2011): added predicated thresholding.
Download Diff with v2.3 -
2.3 (September 3, 2011): added corner pattern processing.
Download Diff with v2.2 -
2.2 (September 1, 2011): added diagonal pattern processing, presets and optimized the neighborhood blending pass.
Download Diff with v2.1 -
2.1 (August 29, 2011): optimized the edge detection and blending weight calculation passes, by only marking pixels with edges on the top-left boundaries. Added .h versions of precomputed textures.
Download Diff with v2.0 -
2.0 (August 25, 2011): initial release, including accurate searches and local contrast adaptation. We revamped the shader interface, allowing a single .h file to work across platforms.
Download Diff with v1.5 - For older versions, checkout Jimenez's MLAA.
-
2.8 (August 23, 2013): better profile timers, moved vertex shader subpixel jitter to the transformation matrix and improvements in the SMAA C++ interface. DX9 demo now features all the controls DX10 version already had, thanks to kphillisjr.
Bibtex
@article{JIMENEZ2012_CGF, author = {Jorge Jimenez and Jose I. Echevarria and Tiago Sousa and Diego Gutierrez}, title = {SMAA: Enhanced Morphological Antialiasing}, journal = {Computer Graphics Forum (Proc. EUROGRAPHICS 2012)}, year = {2012}, volume = {31}, number = {2}, }
@inbook{JIMENEZ2011_GPUPRO2A, author = {Jorge Jimenez and Belen Masia and Jose I. Echevarria and Fernando Navarro and Diego Gutierrez}, editor = {Wolfgang Engel}, title = {{GPU} Pro 2}, chapter = {Practical Morphological Anti-Aliasing}, publisher = {{AK} Peters Ltd.}, year = {2011}, }
@inproceedings{JIMENEZ2011_SIGGRAPH11, author = {Jorge Jimenez and Diego Gutierrez and Jason Yang and Alexander Reshetov and Pete Demoreuille and Tobias Berghoff and Cedric Perthuis and Henry Yu and Morgan McGuire and Timothy Lottes and Hugh Malan and Emil Persson and Dmitry Andreev and Tiago Sousa}, title = {Filtering Approaches for Real-Time Anti-Aliasing}, booktitle = {ACM SIGGRAPH Courses}, year = {2011}, }