Anti-aliasing
![English (en) English (en)](/w/images/3/37/Flag-en.png)
Anti-aliasing is a graphics technique extensively employed in Valve video games, such as those in the Half-Life series, as well as in other software applications developed by Valve, including Steam and
Source Filmmaker, etc. This technique is utilized to enhance the visual quality and reduce the jagged edges, or jaggies, that can appear in computer-generated imagery.
Computer monitors are essentially a large grid of squares that can be set to any color or brightness. As such, it is impossible to draw a perfectly straight line, because no matter how many squares there are, it will never be able to make a perfectly smooth diagonal. This creates a stair-step pattern that is very noticeable the lower the resolution is, which is often referred to in the Video game world as "Aliasing". Spatial anti-aliasing, often referred to simply as Anti-aliasing, is designed to combat the problems of aliasing. In simple terms, Anti aliasing is designed to smooth out that stair-step pattern in images and make them look less pixelated, while not changing the resolution of the final image.
While anti-aliasing is available on PC, they are often not supported on consoles until the release of Portal 2 (which uses MLAA on PlayStation 3), as traditional methods like MSAA are very expensive, compared to post-processing methods like FXAA/TAA/MLAA used in later games.
Overview
MSAA
MultiSample Anti-Aliasing (MSAA) was the gaming industry standard of anti-aliasing (prior to the TAA gradually replacing MSAA in mid-late 2010s as games transitioned from forward rendering to deferred rendering), and as such is the only version available (alongside CSAA on NVIDIA cards prior to Maxwell) in all
Source games before
Counter-Strike: Global Offensive, and later available in
GoldSrc in 2013, with only MSAA 4X being available, which is enabled by default. Essentially, if a polygon is crossing a multisample point, or subpixel, it detects how many of its neighboring points are also being intersected, then takes the color of that polygon and adds it over the existing image to create a slightly smother line. This creates a smoother line, but does not completely remove the stair-step pattern (especially on alpha textures that does not use alpha to coverage) without combining FXAA/SMAA/other post-FX AA methods with MSAA, plus games that use deferred rendering and MSAA may not work properly and can cause various other issues. This is usually sufficient for most users, however.
All GoldSrc, Source and Source 2 games contain 3 different settings of MSAA, which include:
- 2x
- 4x - Default level in post-SteamPipe
GoldSrc (can be enhanced in GPU control panels)
- 8x - Introduced since Source 2006, you can enable 8X MSAA in previous branches (such as Source 2004) by using
mat_antialias 8
console command, or force it through driver settings.[1]
What this does is add more subpixels to a specified location and increases the accuracy of the multisampling, at the cost of performance. Some alternative anti-aliasing methods such as the post-processing one will be less demanding compared to MSAA or other methods.
![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Source 2004](/w/images/thumb/7/7d/Src04-16px.png/32px-Src04-16px.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
CSAA[
Deprecated]
Coverage Sampling Anti-Aliasing (CSAA) was a NVIDIA-exclusive method of anti-aliasing, introduced with GeForce 8000 Series. It aims to further reduce the additional stress that MSAA puts on the system, with NVIDIA claiming that a CSAA-rendered image will rival 8x-16x MSAA whilst only putting a load on the system comparable to 4x MSAA. It does this by reducing the number of settings each sample determines (by creating a new sample for coverage) whilst increasing the overall number of samples.
However, by the release of Maxwell based GPUs such as GTX 750 Ti, GTX 800M/900 series in 2014, and newer NVIDIA graphics card (or drivers released around Feb 2014 onwards which affects GeForce 400 series card and above) drops support for CSAA completely, and MFAA completely succeeded it, with lots of limitations however.
Source natively support CSAA since
Source 2007. Support for CSAA was broken on some newer NVIDIA GPUs starting with GeForce 400 series (or Maxwell and newer NVIDIA cards) with new driver update, or
Source 2013 update.[2]
FXAA
Fast Approximate Anti-Aliasing (FXAA) is a post-processing anti-aliasing with a low performance cost. The main advantage of this technique over regular anti-aliasing is that it does not require a lot of computing power. And also its capable of smoothing out alpha blended textures (aka Transparent textures).
Its main drawback it's that it blurs the final image, so textures will look less sharp, and plus, they do not recover the missing pixel (or Alpha to coverage) without using FXAA with MSAA simultaneously (or by downscaling).
Regular
Source (prior to
CS:GO engine branch, or in third-party engine branch such as
Xengine) doesn't have support for it but as FXAA is a postprocessing effect, it can easily be implemented like with the Source shader editor or with ReShade.
![Icon-Important.png](/w/images/thumb/5/5c/Icon-Important.png/10px-Icon-Important.png)
Additionally, using ReShade on Counter-Strike: Global Offensive and Counter-Strike 2 requires
-allow_third_party_software
and -insecure
command line options, which would preventing you from connecting to any VAC-secured servers.
MLAA
Morphological Anti-Aliasing (MLAA) is a post-processing anti-aliasing typically available on AMD cards, but it can be used with any other graphics card. It is similar to NVIDIA's FXAA but have higher performance cost, however they are less demanding compared to MSAA. It is used in
PlayStation 3 version of Portal 2.
![Confirm.png](/w/images/thumb/2/2e/Confirm.png/10px-Confirm.png)
![Counter-Strike: Global Offensive](/w/images/thumb/8/85/Csgo_icon.png/16px-Csgo_icon.png)
SMAA
Subpixel Morphological Anti-Aliasing (SMAA) works similarly to FXAA or MLAA (which is what SMAA was based off), but results in much better image quality than both FXAA and MLAA, while also taking little performance impact. There are currently no GoldSrc, Source or Source 2 games used this AA method, but users can add SMAA by using ReShade or Source Shader Editor.
TAA/TSSAA
Temporal Anti Aliasing (TAA) is a spatial anti-aliasing technique that combines information from past frames and the current frame, while also slightly jittering to smooth the current frame. TAA, each pixel is sampled once per frame but in each frame the sample is at a different location within the pixel. Pixels sampled in past frames are blended with pixels sampled in the current frame to produce an anti-aliased image.
While being cheaper to calculate then MSAA, its main drawback is that it can cause ghosting and blurriness to the image, noticeable with lower framerate or resolution, depending on the implementation (Example here).
As of mid 2010s, it is the current gaming industry standard of anti-aliasing (alongside FXAA for weaker hardware) with many modern games started to use TAA as most modern games transitioned from forward rendering to deferred rendering (except Valve games, which continued to use forward rendering, therefore, MSAA is still available as an option for anti-aliasing in
Source 2), allowing many lights to be rendered without significant performance hit.
The only Source engine game that supports TAA natively is Apex Legends, along with all
Titanfall engine branch games, through it uses TXAA instead and running on top of MSAA. Portal with RTX and all other RTX Remix games also uses TAA (or TSSAA) anti-aliasing.
TXAA
TXAA is a form of TAA that creates a smoother, clearer image than any other anti-aliasing solution by combining MSAA with Nvidia-designed temporal filters. TXAA can results in much sharper image quality compared to TAA, depending on the implementation in some games. TXAA is supported with Nvidia GeForce GTX 600 series or higher, and requires MSAA enabled in order to use.
CMAA
Conservative Morphological Anti Aliasing (CMAA)
is an image based, post processing technique originally developed by Filip Strugar at Intel. CMAA uses 4 main steps to reduce aliasing:
- Color break detection
- Locally dominant edge detection
- Simple shape handling
- Symmetrical long edge shape handling.
CMAA, while having slight performance impact compared to FXAA, but still has less performance impact than SMAA, CMAA manages high quality anti-aliasing while preserving text and without over blurring the geometry.
CMAA is currently on supported in games starting with Counter-Strike 2.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Counter-Strike: Global Offensive](/w/images/thumb/8/85/Csgo_icon.png/16px-Csgo_icon.png)
![Source 2](/w/images/thumb/5/52/Icon-Source_2.png/16px-Icon-Source_2.png)
![Counter-Strike 2](/w/images/thumb/5/52/Cs2_icon.png/16px-Cs2_icon.png)
Media
GoldSrc
![Blank image.png](/w/images/b/ba/Blank_image.png)
Source
![Blank image.png](/w/images/b/ba/Blank_image.png)
Source 2
![Blank image.png](/w/images/b/ba/Blank_image.png)
Support
GoldSrc
Source
Source 2
Console commands
Source
Source 2013 games and older Source engine games have two console commands dedicated to Anti-aliasing:
mat_antialias (0-8)
- Goes from 0x to 8x MSAA.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Source 2006](/w/images/thumb/e/e2/Src06-16px.png/32px-Src06-16px.png)
This command also does nothing in Black Mesa as MSAA has been removed.
On
![Source 2004](/w/images/thumb/7/7d/Src04-16px.png/32px-Src04-16px.png)
mat_aaquality (0-4)
- It was used to set CSAA antialiasing settings.
![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
![Nvidia](/w/images/thumb/b/b3/Logo-Nvidia.png/18px-Logo-Nvidia.png)
Source 2
Counter-Strike 2 only:
r_csgo_cmaa_enable (0-1)
- Enable CMAA2.
r_csgo_cmaa_extra_sharp (0-1)
- Enable sharpening when CMAA2 enabled.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
r_csgo_cmaa_quality (0-3)
- Adjust CMAA2 quality from Off, Low, Medium and High.
See also
External links
References
References | ||||
---|---|---|---|---|
|