Lines are anti-aliased by drawing a multipixel-wide line that has higher weights for

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

generated.

**3.3.8 Endpoint Filtering**

So far, the weights of pixels that make up anti-aliased lines have been adjusted only in

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.