Lines are anti-aliased by drawing a multipixel-wide line that has higher weights for3.3.7 Slope Correction
pixels closer to the line in the minor axis and lower values toward the outer pixels.
Effectively, we are approximating the location of a line by a wide line that is filtered in
the minor axis. Similar to the points, RGB lines are blended into the frame buffer by
the weights, and the color indexed lines have replaced indexes for the lookup table.
As the slope of a line gets closer to 45 degrees, pixels that approximate the line should
get brighter, since fewer pixels span the same length on a raster screen.
To achieve this, the coverage terms are also adjusted by the slope of the line. The
weights are higher for diagonal lines and lower for horizontal and vertical lines. A
hardware look-up table in the scan-conversion subsystem uses the line slope to
correctly generate the weights ind later blend them into the frame buffer. For color
indexed lines, the slope is also a factor in determining the new color index value
3.3.8 Endpoint Filtering
So far, the weights of pixels that make up anti-aliased lines have been adjusted only in3.3.9 Polygons
the minor axis. The endpoints of the lines must also be ad'usted in the major axis to
avoid popping from one pixel to the next. To correct this, the hardware uses the
subpixel information in the ma'or axis to adjust the intensity of the endpoint color.
This way the apparent endpoint moves gradually from one pixel to the next.
To anti-alias polygons, a coverage term is computed for each pixel in a polygon. This
term is 1.0 for pixels in the interior; it varies between 0.0 and 1.0 for pixels on the
polygon edge. Pixel alpha is scaled by the coverage term, then used to blend the pixel
into the frame buffer. Pixel coverage calculations correctly handle the cases of adjacent
polygons of different colors, and of polygons on the silhouette of faceted objects.