[Front] [Reference] [Imp. Guide] [Index]

gluBeginPolygon
[Prev] [Next]

gluBeginPolygon, gluEndPolygon: delimit a polygon description.

C Specification | Parameters | Description | Notes | Example | See Also

[Up] C Specification

void gluBeginPolygon( GLUtesselator* tess);
void gluEndCurve( GLUtesselator* tess);

[Up] Parameters

tess
Specifies the tessellation object (created with gluNewTess()).

[Up] Description

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.

[Up] Notes

This command is obsolete and is provided for backward compatibility only. Calls to gluBeginPolygon are mapped to gluTessBeginPolygon() followed by gluTessBeginContour(). Calls to gluEndPolygon() are mapped to gluTessEndContour() followed by gluTessEndPolygon().

[Up] Example

A quadrilateral with a triangular hole in it can be described like this:

gluBeginPolygon(tobj);
   gluTessVertex(tobj, v1,v1);
   gluTessVertex(tobj, v2,v2);
   gluTessVertex(tobj, v3,v3);
   gluTessVertex(tobj, v4,v4);
gluNextContour(tobj, GLU_INTERIOR);
   gluTessVertex(tobj, v5,v5);
   gluTessVertex(tobj, v6,v6);
   gluTessVertex(tobj, v7,v7);
gluEndPolygon(tobj);

[Up] See Also

gluNewTess,
gluNextContour,
gluTessBeginContour,
gluTessBeginPolygon,
glTessCallback,
glTessVertex,

[Prev] [Next]
Front Reference [Imp. Guide] Index