GLUTESSENDPOLYGON
Section: Misc. Reference Manual Pages (3G)
Page Index
NAME
gluTessEndPolygon
- delimit a polygon description
C SPECIFICATION
void
gluTessEndPolygon(
GLUtesselator*
tess )
delim $$
PARAMETERS
- tess
-
Specifies the tessellation object (created with gluNewTess).
DESCRIPTION
gluTessBeginPolygon and
gluTessEndPolygon delimit the definition of a
convex, concave or self-intersecting polygon. Within each
gluTessBeginPolygon/
gluTessEndPolygon
pair, there must be one or more calls to
gluTessBeginContour/
gluTessEndContour.
Within each contour, there are zero or more calls to
gluTessVertex. The vertices
specify a closed contour (the last vertex of each contour is automatically linked
to the first). See the
gluTessVertex,
gluTessBeginContour and
gluTessEndContour reference pages for more details.
Once gluTessEndPolygon is called, the polygon is tessellated, and the
resulting triangles are described through callbacks.
See gluTessCallback for descriptions of the callback functions.
EXAMPLE
A quadrilateral with a triangular hole in it can be described like this:
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);
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 gluTessEndPolygon is called.
SEE ALSO
gluNewTess(3G),
gluTessBeginContour(3G),
gluTessVertex(3G),
gluTessCallback(3G),
gluTessProperty(3G),
gluTessNormal(3G),
gluTessBeginPolygon(3G)