Full-Screen Antialiasing: the New Quality
Rotated-Grid Multisampling in Theory
ATI’s R3x0 GPUs and NVIDIA’s GeForce FX chips take different approaches to perform full-screen antialiasing (FSAA). The GeForce FX supports multisampling, supersampling and their combinations, placing pixels – as the tradition demands – on an ordered orthogonal grid, while graphics processors from ATI perform multisampling, placing sub-pixels on a rotated grid.
The rotated-grid FSAA method means a higher quality of smoothing the edges of polygons at the same computational cost.
The next illustration shows you roughly a pixel and its sub-pixels in two variants, on an ordered and on a rotated grid.
There can be several cases: no sub-pixel of a given pixel falls within a given polygon; one sub-pixel is in the polygon; two sub-pixels; three sub-pixels; or all four sub-pixels. The resulting color may take in 0%, 20%, 50%, 75% or 100% of the pixel’s color, as computed, for instance, in a pixel shader.
The two methods with their different placement of sub-pixels will actually produce the same results in most common cases, but this uniformity ends as soon as we deal with lines that are nearly horizontal or vertical. The traditional ordered-grid method smoothes such lines worse: the probability of one or three pixels getting beyond the polygon edge when the edge is nearly horizontal or vertical is much smaller than the probability of two or four sub-pixels getting there. Thus, most pixels will get 0%, 50% or 100% of the color calculated in the shader. That is, the 4x-level antialiasing produces the same results under such unfavorable conditions as the presumably lower-quality 2x-level one.
Doing the same antialiasing on a rotated grid we have about the same probability of getting 0%, 25%, 50%, 75% and 100% of color on nearly-horizontal and nearly-vertical lines; so this method gives a more satisfying result. By the way, pixels on our monitors are placed on an ordered orthogonal grid, too, and the annoying “jaggies” are most visible and most annoying exactly when the edges of polygons are near horizontal or vertical. This fact makes the rotated-grid FSAA method preferable over the ordinary ordered-grid one.
Graphics processors from ATI that use this rotated-grid FSAA used to provide a higher quality of jaggies-smoothing than NVIDIA chips, but at the same computational cost. The NV40 is going to change this situation as it boasts an improved FSAA method. Unlike graphics processors of the GeForce FX series, the NV40 places sub-pixels on a rotated grid. The following figure shows the placement of sub-pixels in the 4x FSAA method on the NVIDIA GeForce FX 5950 Ultra (left) and GeForce 6800 Ultra (right):
Using the rotated-grid method for 2x and 4x multisampling, the NV40, like the GeForce FX series processors, can mix up supersampling and multisampling. Thus, there are more variations of FSAA, besides 2x and 4x methods.