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))