GLUTESSBEGINPOLYGON
Section: Misc. Reference Manual Pages (3G)
Index
Return to Main Contents
 
NAME
gluTessBeginPolygon
- delimit a polygon description
 
C SPECIFICATION
void gluTessBeginPolygon(
GLUtesselator* tess,
                            GLvoid* data )
delim $$
 
PARAMETERS
- tess
- 
Specifies the tessellation object (created with gluNewTess).
- data
- 
Specifies a pointer to user polygon data.
DESCRIPTION
gluTessBeginPolygon and gluTessEndPolygon delimit the definition of a
convex, concave or self-intersecting polygon. Within each gluTessBeginPolygon/gluTessEndPolygon
pair, there must be one or more calls to gluTessBeginContour/gluTessEndContour. 
Within each contour, there are zero or more calls to gluTessVertex. The vertices 
specify a closed contour (the last vertex of each contour is automatically linked 
to the first). See the gluTessVertex, gluTessBeginContour, and 
gluTessEndContour reference pages for more details.
data is a pointer to a user-defined data structure. If the appropriate callback(s) 
are specified (see gluTessCallback), then this pointer is returned to the 
callback function(s). Thus, it is a convenient way to store per-polygon information.
Once gluTessEndPolygon is called, the polygon is tessellated, and the
resulting triangles are described through callbacks.
See gluTessCallback for descriptions of the callback functions.
 
EXAMPLE
A quadrilateral with a triangular hole in it can be described as follows:
gluTessBeginPolygon(tobj, NULL);
 gluTessBeginContour(tobj);
   gluTessVertex(tobj, v1, v1);
   gluTessVertex(tobj, v2, v2);
   gluTessVertex(tobj, v3, v3);
   gluTessVertex(tobj, v4, v4);
 gluTessEndContour(tobj);
 gluTessBeginContour(tobj);
   gluTessVertex(tobj, v5, v5);
   gluTessVertex(tobj, v6, v6);
   gluTessVertex(tobj, v7, v7);
 gluTessEndContour(tobj);
gluTessEndPolygon(tobj);
 
SEE ALSO
gluNewTess(3G), gluTessBeginContour(3G), gluTessVertex(3G), 
gluTessCallback(3G),
gluTessProperty(3G), gluTessNormal(3G),
gluTessEndPolygon(3G)