gluBeginPolygon
Prev | GLU | Next

## Name

gluBeginPolygon, gluEndPolygon — delimit a polygon description

## C Specification

`void `gluBeginPolygon`` | `(` | `GLUtesselator* `tess`);`
`void `gluEndPolygon`` | `(` | `GLUtesselator* `tess`);`

## Python Specification

``gluBeginPolygon`` | `(` | ``tess`) → `None``
``gluEndPolygon`` | `(` | ``tess`) → `None``

## Parameters

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

## 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.

## 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`.

## 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);

## See Also

gluNewTess, gluNextContour, gluTessCallback, gluTessVertex, gluTessBeginPolygon, gluTessBeginContour

Prev | Up | Next
gluBeginCurve | Home | gluBeginSurface