Buchon
04-15-2012, 05:18 AM
There a lot of confusion about this so I created this topic to explain this a bit better, how use it and share configurations and troughs.
What is and where is the difference between Morphological Anti-Aliasing and the usual Anti-Aliasing :
The main difference between the standard Anti-aliasing that we all know (FSAA) and the Morphological one is the performance, that is because FSAA is processed in the render pipeline directly over the geometry, this method produces a top quality anti-aliasing because fix the geometry directly but have a direct impact in performance by around a 30%, also if you want fix the aliasing of transparent textures that are used in trees, grass or instruments needles you should enable Transparency Adaptive AA, that sum other 20% of FPS drop.
The combination of FSAA + Transparency AA bring us the top eyecandy graphics but will crop down our FPS a 50%, the morphological AA born as a solution to systems that can´t afford that performance drop.
Morphological Anti Aliasing was initially created for his use in consoles, where you have very limited performance, but with the advent of deferred render pipelines (DX10,DX11) they are come to popular use due to the complexity of use FXAA in a separate processing of lighting and geometry (deferred render pipeline).
The morphological AA is a post-processed technique (post-pipeline), it takes the frames out from the end of pipeline and then run a search and fix of aliasing, this have the advantage of a very low impact in performance and also that it fix transparent textures too.
It does all with a performance impact of around 5%, or 10% in extreme cases.
But it also have problems caused by the obviously difficulty of disguise between what is a geometry and what is not in an a already rendered flat frame, that's why the apply of morphological AA in some cases tend to blur textures and text, basically because is fixing what should not.
SMAA was developed with the goal of offers the best quality in morphological AA, it gathers the latest techniques thereby offering better texture preserving and performance than MLAA and FXAA.
What is SMAA :
SMAA is a Morphological Anti Aliasing Technique just as MLAA and FXAA but unlike this ones is not proprietary of ATI or Nvidia, the source code can be consulted here :
https://github.com/iryoku/smaa
It was developed by the Zaragoza University (Spain) and Crytek (http://www.crytek.com/) and used in Crysis 2 (http://www.ea.com/es/crysis2).
The heads of the project was :
Jorge Jimenez (Zaragoza University) Jose I. Echevarria (Zaragoza University) Tiago Sousa (Crytek Development) Diego Gutierrez (Zaragoza University)
Website of the project :
http://iryoku.com/smaa/
White paper :
http://iryoku.com/smaa/downloads/SMAA-Enhanced-Subpixel-Morphological-Antialiasing.pdf
The latest version developed is ahead of what is used in Crysis 2, it features predicated thresholding that is a edge detection method that preserve textures and thereby improving the performance, letting us increase the quality even more, it was developed and used in Killzone 3 (http://www.killzone.com/kz3/agegate.html).
To test SMAA and show results the software engineers make injectors and build in a screenshot feature, I´ll show here the use of a injector know as mrhaandi´s SMAA injector and written by Andrej Dudenhefner, partner of Jorge Jimenez (SMAA developer).
Website of the mrhaandi´s SMAA injector :
http://mrhaandi.blogspot.com.es/p/injectsmaa.html
I made a configuration adapted to CLOD which unleash a upper level of quality, it don't blur textures as others AA techniques and is better in trees and distant objects with almost no performance hit because uses predicated thresholding, the Kill zone 3 technique to preserve textures and performance.
SMAA in IL-2 Sturmovik Cliffs of Dover (I´ll edit this to add comparative shots) :
Here two raw examples, no AA/SMAA, at close range that show almost no impact on textures although provides a anti-aliasing quality of almost 8xFSAA.
http://img7.imageshack.us/img7/2124/noaa.jpg
http://img171.imageshack.us/img171/9509/534523.jpg
Full size here (http://forum.1cpublishing.eu/showpost.php?p=409092&postcount=1278)
http://img20.imageshack.us/img20/5678/noaa1.jpg
http://img687.imageshack.us/img687/9958/63463.jpg
Full size here (http://forum.1cpublishing.eu/showpost.php?p=409105&postcount=1280)
Install the SMAA Cliff of Dover configuration and use :
-Download the attached file [SMAA]il-2 sturmovik cliffs of dover .zip, extract the files and move the files to the folder :
X:\Program Files (x86)\Steam\steamapps\common\il-2 sturmovik cliffs of dover
-To take screenshot press F12, the screenshots will be located in the same folder of the injector files.
-To switch on/off SMAA press Pause key.
Update 6/1/2012 :
I made a more balanced configuration with four selectable levels, Low-Medium-High and Ultra, The four levels use a high quality AA and Predication, offering in this way a better quality, less texture damaging and performance than the game´s AA, FXAA and MLAA solutions.
This levels don´t work as the usual anti-aliasing (FSAA), while the usual AA vary the quality of the anti-aliasing the difference between this four levels are the amount of aliasing detected, meaning that you will still have high quality anti-aliasing in the detected aliasing.
From Low to High you can increase the amount of aliasing detected, being High the standard balance Performance/Quality, Ultra is a special configuration.
SMAA_PRESET_CLOD_LOW :
This level is recommended for competitive online play, if you don't mind see a few jaggies because your priority is the target location then try this.
This configuration is fast, it is really fast, it will not blurry distant objects but you will still have high quality anti-aliasing in the cockpit view and external views.
SMAA_PRESET_CLOD_MEDIUM :
This level is the balance between the performance of LOW and a more deep fix of aliasing in High.
It does a better work in the cockpit view and external views and you can still use this for a competitive online play, the balance is just in the line of the aircraft visibility.
SMAA_PRESET_CLOD_HIGH :
This level offers quality, without lose performance and texture´s quality, through a standard use of Predication.
SMAA_PRESET_CLOD_ULTRA :
This configuration is what is close to the old file, it is a update version with a better balance in performance and quality.
Its is more a experiment than otherwise, it looks for the limit of the SMAA use in PC pushing the Predication tech to the limit while it is still crushing all the aliasing on the screen, even on distant objects, all done with a unrivaled preservation of textures.
It makes the game a bit different doing a pretty work on trees and distant mapping.
Can be a bit expensive.
Selecting levels :
The level selected by default is High, it have good balance performance/quality, but the most close configuration to the old file is Ultra so if you was using the old file then change it to Ultra.
To change between levels open the injector.ini file with notepad, look for the line preset = SMAA_PRESET_CLOD_HIGH and change it.
Save it and that´s it.
What is and where is the difference between Morphological Anti-Aliasing and the usual Anti-Aliasing :
The main difference between the standard Anti-aliasing that we all know (FSAA) and the Morphological one is the performance, that is because FSAA is processed in the render pipeline directly over the geometry, this method produces a top quality anti-aliasing because fix the geometry directly but have a direct impact in performance by around a 30%, also if you want fix the aliasing of transparent textures that are used in trees, grass or instruments needles you should enable Transparency Adaptive AA, that sum other 20% of FPS drop.
The combination of FSAA + Transparency AA bring us the top eyecandy graphics but will crop down our FPS a 50%, the morphological AA born as a solution to systems that can´t afford that performance drop.
Morphological Anti Aliasing was initially created for his use in consoles, where you have very limited performance, but with the advent of deferred render pipelines (DX10,DX11) they are come to popular use due to the complexity of use FXAA in a separate processing of lighting and geometry (deferred render pipeline).
The morphological AA is a post-processed technique (post-pipeline), it takes the frames out from the end of pipeline and then run a search and fix of aliasing, this have the advantage of a very low impact in performance and also that it fix transparent textures too.
It does all with a performance impact of around 5%, or 10% in extreme cases.
But it also have problems caused by the obviously difficulty of disguise between what is a geometry and what is not in an a already rendered flat frame, that's why the apply of morphological AA in some cases tend to blur textures and text, basically because is fixing what should not.
SMAA was developed with the goal of offers the best quality in morphological AA, it gathers the latest techniques thereby offering better texture preserving and performance than MLAA and FXAA.
What is SMAA :
SMAA is a Morphological Anti Aliasing Technique just as MLAA and FXAA but unlike this ones is not proprietary of ATI or Nvidia, the source code can be consulted here :
https://github.com/iryoku/smaa
It was developed by the Zaragoza University (Spain) and Crytek (http://www.crytek.com/) and used in Crysis 2 (http://www.ea.com/es/crysis2).
The heads of the project was :
Jorge Jimenez (Zaragoza University) Jose I. Echevarria (Zaragoza University) Tiago Sousa (Crytek Development) Diego Gutierrez (Zaragoza University)
Website of the project :
http://iryoku.com/smaa/
White paper :
http://iryoku.com/smaa/downloads/SMAA-Enhanced-Subpixel-Morphological-Antialiasing.pdf
The latest version developed is ahead of what is used in Crysis 2, it features predicated thresholding that is a edge detection method that preserve textures and thereby improving the performance, letting us increase the quality even more, it was developed and used in Killzone 3 (http://www.killzone.com/kz3/agegate.html).
To test SMAA and show results the software engineers make injectors and build in a screenshot feature, I´ll show here the use of a injector know as mrhaandi´s SMAA injector and written by Andrej Dudenhefner, partner of Jorge Jimenez (SMAA developer).
Website of the mrhaandi´s SMAA injector :
http://mrhaandi.blogspot.com.es/p/injectsmaa.html
I made a configuration adapted to CLOD which unleash a upper level of quality, it don't blur textures as others AA techniques and is better in trees and distant objects with almost no performance hit because uses predicated thresholding, the Kill zone 3 technique to preserve textures and performance.
SMAA in IL-2 Sturmovik Cliffs of Dover (I´ll edit this to add comparative shots) :
Here two raw examples, no AA/SMAA, at close range that show almost no impact on textures although provides a anti-aliasing quality of almost 8xFSAA.
http://img7.imageshack.us/img7/2124/noaa.jpg
http://img171.imageshack.us/img171/9509/534523.jpg
Full size here (http://forum.1cpublishing.eu/showpost.php?p=409092&postcount=1278)
http://img20.imageshack.us/img20/5678/noaa1.jpg
http://img687.imageshack.us/img687/9958/63463.jpg
Full size here (http://forum.1cpublishing.eu/showpost.php?p=409105&postcount=1280)
Install the SMAA Cliff of Dover configuration and use :
-Download the attached file [SMAA]il-2 sturmovik cliffs of dover .zip, extract the files and move the files to the folder :
X:\Program Files (x86)\Steam\steamapps\common\il-2 sturmovik cliffs of dover
-To take screenshot press F12, the screenshots will be located in the same folder of the injector files.
-To switch on/off SMAA press Pause key.
Update 6/1/2012 :
I made a more balanced configuration with four selectable levels, Low-Medium-High and Ultra, The four levels use a high quality AA and Predication, offering in this way a better quality, less texture damaging and performance than the game´s AA, FXAA and MLAA solutions.
This levels don´t work as the usual anti-aliasing (FSAA), while the usual AA vary the quality of the anti-aliasing the difference between this four levels are the amount of aliasing detected, meaning that you will still have high quality anti-aliasing in the detected aliasing.
From Low to High you can increase the amount of aliasing detected, being High the standard balance Performance/Quality, Ultra is a special configuration.
SMAA_PRESET_CLOD_LOW :
This level is recommended for competitive online play, if you don't mind see a few jaggies because your priority is the target location then try this.
This configuration is fast, it is really fast, it will not blurry distant objects but you will still have high quality anti-aliasing in the cockpit view and external views.
SMAA_PRESET_CLOD_MEDIUM :
This level is the balance between the performance of LOW and a more deep fix of aliasing in High.
It does a better work in the cockpit view and external views and you can still use this for a competitive online play, the balance is just in the line of the aircraft visibility.
SMAA_PRESET_CLOD_HIGH :
This level offers quality, without lose performance and texture´s quality, through a standard use of Predication.
SMAA_PRESET_CLOD_ULTRA :
This configuration is what is close to the old file, it is a update version with a better balance in performance and quality.
Its is more a experiment than otherwise, it looks for the limit of the SMAA use in PC pushing the Predication tech to the limit while it is still crushing all the aliasing on the screen, even on distant objects, all done with a unrivaled preservation of textures.
It makes the game a bit different doing a pretty work on trees and distant mapping.
Can be a bit expensive.
Selecting levels :
The level selected by default is High, it have good balance performance/quality, but the most close configuration to the old file is Ultra so if you was using the old file then change it to Ultra.
To change between levels open the injector.ini file with notepad, look for the line preset = SMAA_PRESET_CLOD_HIGH and change it.
Save it and that´s it.