next up previous contents
Next: 9.5 Antialiasing with Accumulation Up: 9 Antialiasing Previous: 9.3 Multisampling   Contents

9.4 Antialiasing With Textures

You can also antialias points and lines using the filtering provided by texturing using alpha textures. Simply create an image of a circle where the alpha values are one in the center and go to zero as you move from the center out to an edge. The alpha texel values would then be used to blend the point or rectangle fragments with the pixel values already in the framebuffer.

For example, to draw antialiased points, create a texture image containing a filled circle with a smooth (antialiased) boundary. Then draw a textured polygon at the point making sure that the center of the texture is aligned with the point's coordinates and using the texture environment GL_ MODULATE. This method has the advantage that any point shape may be accommodated simply by varying the texture image.

A similar technique can be used to draw antialiased line segments of any width. The texture image is a filtered circle as described above. Instead of a line segment, a texture mapped rectangle, whose width is the desired line width, is drawn centered on and aligned with the line segment. If line segments with round ends are desired, these can be added by drawing an additional textured rectangle on each end of the line segment.


next up previous contents
Next: 9.5 Antialiasing with Accumulation Up: 9 Antialiasing Previous: 9.3 Multisampling   Contents
2001-01-10