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:

    General scepticism is the live mental attitude of refusing to conclude. It is a permanent torpor of the will, renewing itself in detail towards each successive thesis that offers, and you can no more kill it off by logic than you can kill off obstinacy or practical joking.
    William James (1842–1910)