gluBeginPolygon, gluEndPolygon

The gluBeginPolygon and gluEndPolygon functions delimit a polygon description.

void gluBeginPolygon(
  GLUtesselator *tess

void gluEndPolygon(
  GLUtesselator *tess


The tessellation object (created with gluNewTess).


Use gluBeginPolygon and gluEndPolygon to delimit the definition of a nonconvex polygon.

To define a nonconvex polygon

  1. Call gluBeginPolygon.
  2. Define the contours of the polygon by calling gluTessVertex for each vertex and gluNextContour to start each new contour.
  3. Call gluEndPolygon to signal the end of the definition.

    Once gluEndPolygon is called, the polygon is tessellated, and the resulting triangles are described through callbacks. For descriptions of the callback functions, see gluTessCallback.

    Note  The gluBeginPolygon and gluEndPolygon functions are obsolete and are provided for backward compatibility only. The gluBeginPolygon function is mapped to gluTessBeginPolygon followed by gluTessBeginContour; gluEndPolygon is mapped to gluTessEndPolygon followed by gluTessEndContour.


The following example describes a quadrilateral with a triangular hole:

    gluTessVertex(tess, v1, v1); 
    gluTessVertex(tess, v2, v2); 
    gluTessVertex(tess, v3, v3); 
    gluTessVertex(tess, v4, v4); 
gluNextContour(tess, GLU_INTERIOR); 
    gluTessVertex(tess, v5, v5); 
    gluTessVertex(tess, v6, v6); 
    gluTessVertex(tess, v7, v7); 


  Windows NT/2000: Requires Windows NT 3.5 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in Glu.h.
  Library: Use Glu32.lib.

See Also

gluNewTess, gluNextContour, gluTessBeginContour, gluTessBeginPolygon, gluTessCallback, gluTessVertex


Community Additions