Full-scene anti-aliasing (or "FSAA" for short, and also known as full-screen anti-aliasing) is the strategy of applying the technique of anti-aliasing to an entire three-dimensional scene. It is used in gaming and 3D visualization as a means of reducing jaggies produced in the rendering and/or output process as a result of limitations of the hardware as compared to the capabilities of the human eye.
Anti-aliasing is a technique used to overcome the fact that the majority of visual output devices are organized into visual elements known as pixels, which are physically segregated from one another. These pixels are generally square or rectangular in shape and have typically been offered at densities between sixty and about one hundred fifty per inch on both LCD and CRT displays. At this resolution a diagonal line appears as a tiny staircase, an effect which is technically known as stair-stepping, or colloquially as jaggies. Anti-aliasing helps reduce this visual effect by filling in the steps with less-colored pixels which consist of a less-saturated version of the line's color, and by making some of the line's pixels lighter as well, so that the pixels which would be least overlapped if you drew the actual line on your display are least colored.
Full-scene anti-aliasing applies this technique to every pixel in the "scene" — a distinction from "screen" which implies that the final output might be printed or otherwise represented without a computer screen. Nonetheless the two terms are often used interchangeably for the purpose of marketing. FSAA is extremely useful on "limited" hardware, especially low-resolution devices. The benefits are most apparent on SDTV television and on mobile devices with relatively low pixel counts, especially handheld gaming systems. In general, the fewer pixels are available, the greater the benefit to be derived from FSAA.
FSAA can have a transformative effect on gameplay. In games in which it is possible to shoot (or otherwise strike) people at long distances, it becomes increasingly difficult to do so as the resolution decreases. However all of the points I raise here can be carried to other types of games. For example, in many first-person shooter games, some weapons have no maximum range and instant hit tracking. That is to say that the game does not track ballistics — a hit is recorded at the time the player presses the fire button, if the player's line of fire intersects the target. Playing at 800x600 you might be getting shot by people right in front of you while they are nothing more than a couple of pixels. Bringing the resolution up to 1024x768 is enough to make them recognizable as a person, or at least as movement. People with 1600x1200 resolution displays can shoot you before you can even see them.
Complicating the problem is another property of jaggies. An aliased line is necessarily stair-stepped. Your brain will mostly ignore this sort of thing, but a significant problem remains in pixel flashing; As you move, the various jagged lines crossing each other, or crossing surfaces with high-contrast textures, will cause pixels to appear to wink on and off. This causes a flickering or blinking effect which is extremely distracting, and makes it harder to see what is actually happening.
Good FSAA solves or at least mitigates both of these problems. The human brain is excellent at extracting valid information from a noisy channel. The same person who was nothing but a flashing pixel at 800x600 becomes a moving blur with FSAA. While that doesn't sound like much of an improvement, your brain knows what to do with a moving blur; it's been learning since you were born and first opened your eyes. Anything that takes less time than a thirtieth of a second or so can be nothing more than the aforementioned blur, yet we can still perceive (and in some cases react to) such events. Similarly, the flashing and flickering jagged edges of polygons overload your brain with additional "movement", even though it's nothing more than the deficiencies of your video device.
The final problem mitigated by FSAA (but which would probably be solved with good edge anti-aliasing) is the issue of non-matching vertices, which represents itself as a bright spot on the edge of a three-dimensional object, or even being able to see through part of an object when viewing it edge-on. There are also sometimes geometry translation problems (in transferring from your internal object format to the 3D API's) which will result in a subpixel gap between polygons. This can result in an even worse version of the above effect in which the jagged edge becomes populated with white or black pixels (the background color.) This is almost unheard of today because 3d accelerators can solve this problem for you when properly used. On those upon which it is not solved for you, it is reduced or eliminated by FSAA.
Other related technologies for improving the quality of screen output include:
- Edge anti-aliasing, which utilizes information about object geometry to intelligently antialias vertices and edges
- subpixel rendering, which takes advantage of the inherent properties of color LCD displays to produce higher-resolution graphics than the panel's full-color native resolution, especially demonstrated by Microsoft's ClearType
- voxel rendering, which simulates three dimensional graphics in a way which is less precise but more visually appealing for a given amount of expended processing time