gluTessEndPolygon
Prev | GLU | Next

## Name

gluTessEndPolygon — delimit a polygon description

## C Specification

`void `gluTessEndPolygon`` | `(` | `GLUtesselator* `tess`);`

## Python Specification

``gluTessEndPolygon`` | `(` | ``tess`) → `None``

## Parameters

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

## Description

`gluTessBeginPolygon` and `gluTessEndPolygon` delimit the definition of a convex, concave or self-intersecting polygon. Within each `gluTessBeginPolygon`/`gluTessEndPolygon` pair, there must be one or more calls to `gluTessBeginContour`/`gluTessEndContour`. Within each contour, there are zero or more calls to `gluTessVertex`. The vertices specify a closed contour (the last vertex of each contour is automatically linked to the first). See the `gluTessVertex`, `gluTessBeginContour` and `gluTessEndContour` reference pages for more details.

Once `gluTessEndPolygon` is called, the polygon is tessellated, and the resulting triangles are described through callbacks. See `gluTessCallback` for descriptions of the callback functions.

## Example

A quadrilateral with a triangular hole in it can be described like this: gluTessBeginPolygon(tobj, `NULL`); gluTessBeginContour(tobj); gluTessVertex(tobj, v1, v1); gluTessVertex(tobj, v2, v2); gluTessVertex(tobj, v3, v3); gluTessVertex(tobj, v4, v4); gluTessEndContour(tobj); gluTessBeginContour(tobj); gluTessVertex(tobj, v5, v5); gluTessVertex(tobj, v6, v6); gluTessVertex(tobj, v7, v7); gluTessEndContour(tobj); gluTessEndPolygon(tobj); In the above example the pointers, v1 through v7 , should point to different addresses, since the values stored at these addresses will not be read by the tesselator until `gluTessEndPolygon` is called.

## See Also

gluNewTess, gluTessBeginContour, gluTessVertex, gluTessCallback, gluTessProperty, gluTessNormal, gluTessBeginPolygon

Prev | Up | Next
gluTessCallback | Home | gluTessNormal