tamethegamer :
Hey techies;
Could some one explain to me (or link me to a video/article) explain the differences between the anti aliasing types and ambient occlusion please?
Isn't ambient occlusion just the amount of environmental lighting on a particular object in the game?
Hi,
SSAA, or Super-Sample Anti-Aliasing is a brute force method of anti-aliasing. It results in the best image quality but comes at a tremendous resource cost. SSAA works by rendering the scene at a higher resolution, 2x SSAA renders the scene at twice the resolution along each axis (4x the pixel count), 4x SSAA renders the scene at four times the resolution along each axis (16x the pixel) count, and 8x SSAA renders the scene at eight times the resolution along each axis (64x the pixel count). The final image is produced by downsampling the massive source image using an averaging filter. This acts as a low pass filter which removes the high frequency components that caused the jaggedness.
MSAA, or Multi-Sample Anti-Aliasing is an optimization of SSAA that reduces the amount of pixel shader evaluations that need to be computed by focusing on overlapping regions of the scene. The result is antialiasing along edges that is on par with SSAA and less anti-aliasing along surfaces as these make up the bulk of SSAA computations. MSAA is substantially less computationally expensive than SSAA and results in comparable image quality.
FXAA, or Fast Approximate Anti-Aliasing is an Anti-Aliasing technique that is performed entirely in post processing. FXAA operates on the rasterized image rather than the scene geometry. As a consequence, forcing FXAA or using FXAA incorrectly can result in the FXAA filter smoothing out parts of the visual overlay that are usually kept sharp for reasons of clarity as well as smoothing out textures. FXAA is inferior to MSAA but is almost free computationally and is thus desirable on low end platforms.
Ambient Occlusion is a set of methods used to assist in simulating the effects of ambient light on geometry, in particular it is used to estimate how exposed a surface is to ambient light. The use of ambient light over point light allows designers to combine indoor and outdoor scenes and use variable day/night cycles without compromising the visual aspects of the scene.
Point light sources work very well indoors, but using a directional point light source to simulate the sun and various atmospheric effects doesn't work very well. Instead, the brightness of the entire scene can be adjusted based on the occlusion of various surfaces.
True Ambient Occlusion cannot currently be done in real time on modern gaming machines, it's too computationally complex. Instead, video games use several methods to approximate it. There are at least three main methods of approximating ambient occlusion, Screen-Space Ambient Occlusion (SSAO), Horizon-Based Ambient Occlusion (HBAO), and High Definition Ambient Occlusion (HDAO).
Like FXAA, SSAO is pixel shader based and works independently of the scene geometry. It examines the depth buffer to search for pixels that may cause occlusion. It's an older method, It does not have a high performance hit but it does improve visual quality somewhat.
HBAO and HDAO go a bit further and attempt to reconstruct a local part of the scene to obtain a better approximation. Both are more computationally expensive than SSAO and HDAO supposedly has a greater performance hit of the two, but I haven't done any experiments on my own.
I hope that this answers your question