gluNextContour(3G) OpenGL Reference gluNextContour(3G)
NAME
gluNextContour - mark the beginning of another contour
C SPECIFICATION
void gluNextContour( GLUtesselator* tess,
GLenum type )
PARAMETERS
tess Specifies the tessellation object (created with gluNewTess).
type Specifies the type of the contour being defined. Valid values are
GLUEXTERIOR, GLUINTERIOR, GLUUNKNOWN, GLUCCW, and GLUCW.
DESCRIPTION
gluNextContour is used in describing polygons with multiple contours.
After the first contour has been described through a series of
gluTessVertex calls, a gluNextContour call indicates that the previous
contour is complete and that the next contour is about to begin. Another
series of gluTessVertex calls is then used to describe the new contour.
This process can be repeated until all contours have been described.
type defines what type of contour follows. The legal contour types are
as follows:
GLUEXTERIOR An exterior contour defines an exterior boundary of the
polygon.
GLUINTERIOR An interior contour defines an interior boundary of the
polygon (such as a hole).
GLUUNKNOWN An unknown contour is analyzed by the library to determine
if it is interior or exterior.
GLUCCW, GLUCW
The first GLUCCW or GLUCW contour defined is considered
to be exterior. All other contours are considered to be
exterior if they are oriented in the same direction
(clockwise or counterclockwise) as the first contour, and
interior if they are not.
If one contour is of type GLUCCW or GLUCW, then all
contours must be of the same type (if they are not, then
all GLUCCW and GLUCW contours will be changed to
GLUUNKNOWN).
Note that there is no real difference between the GLUCCW
and GLUCW contour types.
Page 1
gluNextContour(3G) OpenGL Reference gluNextContour(3G)
gluNextContour can be called before the first contour is described to
define the type of the first contour. If gluNextContour is not called
before the first contour, then the first contour is marked GLUEXTERIOR.
This command is obsolete and is provided for backwards compatibility
only. Calls to gluNextContour are mapped to gluTessEndContour followed by
gluTessBeginContour.
EXAMPLE
A quadrilateral with a triangular hole in it can be described as follows:
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);
SEE ALSO
gluBeginPolygon, gluNewTess, gluTessCallback, gluTessVertex,
gluTessBeginContour
Page 2