diff options
Diffstat (limited to 'doc/gl-docs/GLU/tessendpolygon.3gl')
-rw-r--r-- | doc/gl-docs/GLU/tessendpolygon.3gl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/gl-docs/GLU/tessendpolygon.3gl b/doc/gl-docs/GLU/tessendpolygon.3gl new file mode 100644 index 000000000..e334e401a --- /dev/null +++ b/doc/gl-docs/GLU/tessendpolygon.3gl @@ -0,0 +1,68 @@ +'\" 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 tessendpo +.ds Xs 16616 4 tessendpolygon.gl +.TH GLUTESSENDPOLYGON 3G +.SH NAME +.B "gluTessEndPolygon +\- delimit a polygon description + +.SH C SPECIFICATION +void \f3gluTessEndPolygon\fP( +GLUtesselator* \fItess\fP ) +.nf +.fi + +.EQ +delim $$ +.EN +.SH PARAMETERS +.TP \w'\f2tess\fP\ \ 'u +\f2tess\fP +Specifies the tessellation object (created with \%\f3gluNewTess\fP). +.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 +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 like this: +.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); + gluTessBeginContour(tobj); + gluTessVertex(tobj, v5, v5); + gluTessVertex(tobj, v6, v6); + gluTessVertex(tobj, v7, v7); + gluTessEndContour(tobj); +gluTessEndPolygon(tobj); +.Ee +.bp +In the above example the pointers, $v1$ through $v7$, +should point to different +addresses, +since the values stored at these addresses will not be read by +the tesselator until \%\f3gluTessEndPolygon\fP is called. +.SH SEE ALSO +\%\f3gluNewTess(3G)\fP, \%\f3gluTessBeginContour(3G)\fP, \%\f3gluTessVertex(3G)\fP, +\%\f3gluTessCallback(3G)\fP, +\%\f3gluTessProperty(3G)\fP, \%\f3gluTessNormal(3G)\fP, +\%\f3gluTessBeginPolygon(3G)\fP |