OpenGL man pages
gluBeginPolygon.3gl (Obsolete in GLU version 1.2 and later)
gluBeginPolygon, gluEndPolygon - delimit a polygon description
void gluBeginPolygon( GLUtesselator *tess )
void gluEndPolygon( GLUtesselator *tess )
tess Specifies the tessellation object (created with gluNewTess).
gluBeginPolygon and gluEndPolygon delimit the definition of a nonconvex
polygon. To define such a polygon, first call gluBeginPolygon. Then
define the contours of the polygon by calling gluTessVertex for each vertex
and gluNextContour to start each new contour. Finally, call gluEndPolygon
to signal the end of the definition. See the gluTessVertex and
gluNextContour reference pages for more details.
Once gluEndPolygon is called, the polygon is tessellated, and the resulting
triangles are described through callbacks. See gluTessCallback for
descriptions of the callback functions.
As of GLU version 1.2, this command is obsolete and is provided for backwards
compatibility only. GLU version 1.2 (and later) can be distinguished during
compilation by checking if the pre-processor symbol GLU_VERSION_1_2 is defined.
Calls to gluBeginPolygon are mapped to gluTessBeginPolygon followed by
gluTessBeginContour. Calls to gluEndPolygon are mapped to gluTessEndContour
followed by gluTessEndPolygon.
A quadrilateral with a triangular hole in it can be described like this:
gluTessVertex(tobj, v1, v1);
gluTessVertex(tobj, v2, v2);
gluTessVertex(tobj, v3, v3);
gluTessVertex(tobj, v4, v4);
gluTessVertex(tobj, v5, v5);
gluTessVertex(tobj, v6, v6);
gluTessVertex(tobj, v7, v7);
gluNewTess, gluNextContour, gluTessCallback, gluTessVertex,
Fri Dec 6 11:18:03 EST 1996
Look here for legal stuff: Legal