next up previous contents index
Next: 2.6.3 GL Commands within Up: 2.6 Begin/End Paradigm Previous: 2.6.1 Begin and End

2.6.2 Polygon Edges


Each edge of each primitive generated from a polygon, triangle strip, triangle fan, separate triangle set, quadrilateral strip, or separate quadrilateral set, is flagged as either boundary or non-boundary. These classifications are used during polygon rasterization; some modes affect the interpretation of polygon boundary edges (see section 3.5.4). By default, all edges are boundary edges, but the flagging of polygons, separate triangles, or separate quadrilaterals may be altered by calling

void EdgeFlag ( boolean flag ) ;
void EdgeFlagv ( boolean *flag ) ;

to change the value of a flag bit. If *flag is zero, then the flag bit is set to FALSE; if *flag is non-zero, then the flag bit is set to TRUE.

When Begin  is supplied with one of the argument values POLYGON, TRIANGLES, or QUADS, each vertex specified within a Begin  and End  pair begins an edge. If the edge flag bit is TRUE, then each specified vertex begins an edge that is flagged as boundary. If the bit is FALSE, then induced edges are flagged as non-boundary.

The state required for edge flagging consists of one current flag bit. Initially, the bit is TRUE. In addition, each processed vertex of an assembled polygonal primitive must be augmented with a bit indicating whether or not the edge beginning on that vertex is boundary or non-boundary.

David Blythe
Sat Mar 29 02:23:21 PST 1997