'\" e '\"! eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 6 March 1997 .ds Re Release 1.2.0 .ds Dp May 02 11:53 .ds Dm 37 tessbegin .ds Xs 55678 4 tessbeginpolygon.gl .TH GLUTESSBEGINPOLYGON 3G .SH NAME .B "gluTessBeginPolygon \- delimit a polygon description .SH C SPECIFICATION void \f3gluTessBeginPolygon\fP( GLUtesselator* \fItess\fP, .nf .ta \w'\f3void \fPgluTessBeginPolygon( 'u GLvoid* \fIdata\fP ) .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\f2tess\fP\ \ 'u \f2tess\fP Specifies the tessellation object (created with \%\f3gluNewTess\fP). .TP \f2data\fP Specifies a pointer to user polygon data. .SH DESCRIPTION \%\f3gluTessBeginPolygon\fP and \%\f3gluTessEndPolygon\fP delimit the definition of a convex, concave or self-intersecting polygon. Within each \%\f3gluTessBeginPolygon\fP/\%\f3gluTessEndPolygon\fP pair, there must be one or more calls to \%\f3gluTessBeginContour\fP/\%\f3gluTessEndContour\fP. Within each contour, there are zero or more calls to \%\f3gluTessVertex\fP. The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the \%\f3gluTessVertex\fP, \%\f3gluTessBeginContour\fP, and \%\f3gluTessEndContour\fP reference pages for more details. .P \f2data\fP is a pointer to a user-defined data structure. If the appropriate callback(s) are specified (see \%\f3gluTessCallback\fP), then this pointer is returned to the callback function(s). Thus, it is a convenient way to store per-polygon information. .P Once \%\f3gluTessEndPolygon\fP is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See \%\f3gluTessCallback\fP for descriptions of the callback functions. .SH EXAMPLE A quadrilateral with a triangular hole in it can be described as follows: .sp .Ex gluTessBeginPolygon(tobj, NULL); gluTessBeginContour(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluTessEndContour(tobj); .bp gluTessBeginContour(tobj); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluTessEndContour(tobj); gluTessEndPolygon(tobj); .Ee .sp .SH SEE ALSO \%\f3gluNewTess(3G)\fP, \%\f3gluTessBeginContour(3G)\fP, \%\f3gluTessVertex(3G)\fP, \%\f3gluTessCallback(3G)\fP, \%\f3gluTessProperty(3G)\fP, \%\f3gluTessNormal(3G)\fP, \%\f3gluTessEndPolygon(3G)\fP