gluTessEndPolygon() gluTessEndPolygon()
gluTessEndPolygon - delimit a polygon description
void gluTessEndPolygon(
GLUtesselator* tess );
Specifies the tessellation object (created with gluNewTess()).
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.
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.
gluNewTess(3), gluTessBeginContour(3), gluTessVertex(3),
gluTessCallback(3), gluTessProperty(3), gluTessNormal(3),
gluTessBeginPolygon(3)
gluTessEndPolygon()
[ Back ] |