NAME

gluTessBeginPolygon - delimit a polygon description

C SPECIFICATION

void gglluuTTeessssBBeeggiinnPPoollyyggoonn( GLUtesselator* _t_e_s_s,
                          GLvoid* _d_a_t_a )

delim $$

PARAMETERS

_t_e_s_s
Specifies the tessellation object (created with gglluuNNeewwTTeessss).
_d_a_t_a
Specifies a pointer to user polygon data.

DESCRIPTION

gglluuTTeessssBBeeggiinnPPoollyyggoonn and gglluuTTeessssEEnnddPPoollyyggoonn delimit the definition of a convex, concave or self-intersecting polygon. Within each gglluuTTeessssBBeeggiinnPPoollyyggoonn/gglluuTTeessssEEnnddPPoollyyggoonn pair, there must be one or more calls to gglluuTTeessssBBeeggiinnCCoonnttoouurr/gglluuTTeessssEEnnddCCoonnttoouurr. Within each contour, there are zero or more calls to gglluuTTeessssVVeerrtteexx. The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the gglluuTTeessssVVeerrtteexx, gglluuTTeessssBBeeggiinnCCoonnttoouurr, and gglluuTTeessssEEnnddCCoonnttoouurr reference pages for more details.

_d_a_t_a is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see gglluuTTeessssCCaallllbbaacckk), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information.

Once gglluuTTeessssEEnnddPPoollyyggoonn is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See gglluuTTeessssCCaallllbbaacckk 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

gglluuNNeewwTTeessss((33GG)), gglluuTTeessssBBeeggiinnCCoonnttoouurr((33GG)), gglluuTTeessssVVeerrtteexx((33GG)), gglluuTTeessssCCaallllbbaacckk((33GG)), gglluuTTeessssPPrrooppeerrttyy((33GG)), gglluuTTeessssNNoorrmmaall((33GG)), gglluuTTeessssEEnnddPPoollyyggoonn((33GG))