Spatial Anti-aliasing - Practical Real-time Anti-aliasing Approximations

Practical Real-time Anti-aliasing Approximations

There are only a handful of primitives used at the lowest level in a real-time rendering engine (either software or hardware accelerated). These include "points", "lines" and "triangles". If one is to draw such a primitive in white against a black background, it is possible to design such a primitive to have fuzzy edges, achieving some sort of anti-aliasing. However, this approach has difficulty dealing with adjacent primitives (such as triangles that share an edge).

To approximate the uniform averaging algorithm, one may use an extra buffer for sub-pixel data. The initial (and least memory-hungry) approach used 16 extra bits per pixel, in a 4×4 grid. If one renders the primitives in a careful order, such as front-to-back, it is possible to create a reasonable image.

Since this requires that the primitives be in some order, and hence interacts poorly with an application programming interface such as OpenGL, the latest methods simply have two or more full sub-pixels per pixel, including full color information for each sub-pixel. Some information may be shared between the sub-pixels (such as the Z-buffer.)

Read more about this topic:  Spatial Anti-aliasing

Famous quotes containing the word practical:

    When ... I comprehended that poetry had no provision in it for ultimate practical attainment of the rightness of work that is truth, but led on ever only to a temporizing less- than-truth ... I stopped.
    Laura (Riding)