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:

GLU_EXTERIOR

An exterior contour defines an exterior boundary of the polygon.

GLU_INTERIOR

An interior contour defines an interior boundary of the polygon (such as a
hole).

GLU_UNKNOWN

An unknown contour is analyzed by the library to determine if it is
interior or exterior.

GLU_CCW, GLU_CW

The first GLU_CCW or
GLU_CW 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 GLU_CCW or GLU_CW,
then all contours must be of the same type (if they are not, then all
GLU_CCW and GLU_CW contours will be changed to
GLU_UNKNOWN).

Note that there is no real difference between the GLU_CCW and
GLU_CW contour types.

Before the first contour is described, gluNextContour can be called
to define the type of the first contour. If gluNextContour is not
called before the first contour, then the first contour is marked
GLU_EXTERIOR.