GLUTESSBEGINPOLYGONMachTen Programmer’s ManuGLUTESSBEGINPOLYGON()

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 def-
inition of a convex, concave or self-intersecting polygon.
Within each gluTessBeginPolygon/gluTessEndPolygon pair,
there must be one or more calls to gluTessBeginCon-
tour/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 auto-
matically 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 gluTessCall-
back), then this pointer is returned to the callback func-
tion(s). Thus, it is a convenient way to store per-polygon
information.

Once gluTessEndPolygon is called, the polygon is tessel-
lated, 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, gluTessBeginContour, gluTessVertex, gluTess-
Callback, gluTessProperty, gluTessNormal,
gluTessEndPolygon

MachTen 2