gluTessBeginPolygon - delimit a polygon description
void gluTessBeginPolygon( GLUtesselator *tess, void *polygon_data )
tess Specifies the tessellation object (created with gluNewTess). polygon_data Specifies a pointer to user polygon data.
gluTessBeginPolygon and gluTessEndPolygon delimit the definition of a nonconvex 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. polygon_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.
A quadrilateral with a triangular hole in it can be described like this: 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);
gluNewTess, gluTessBeginContour, gluTessVertex, gluTessCallback, gluTessProperty, gluTessNormal gluTessEndPolygon
Introduction | Alphabetic | Specification
Last Edited: Fri, May 26, 1995