74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
'\" 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
|