gluTessEndPolygon.3G man page

gluTessEndPolygon — delimit a polygon description

C Specification

void gluTessEndPolygon(GLUtesselator* tess);

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(), gluTessBeginContour(), gluTessBeginPolygon(), gluTessCallback(), gluTessNormal(), gluTessProperty(), gluTessVertex()

Authors

opengl.org

Info

02/04/2016 opengl.org OpenGL Manual