---
name: "gluBeginPolygon"
section: "3x"
platform: "linux"
package: "xlibmesa-glu-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/gluBeginPolygon"
---

# gluBeginPolygon(3x)

delimit a polygon description

## NAME

**gluBeginPolygon, gluEndPolygon** - delimit a polygon description

## C SPECIFICATION

void **gluBeginPolygon**( GLUtesselator\* *tess* )

```

```

void **gluEndPolygon**( GLUtesselator\* *tess* )

```

```

delim $$

## 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(3G)**, **gluNextContour(3G)**, **gluTessCallback(3G)**, **gluTessVertex(3G)**, **gluTessBeginPolygon(3G)**, **gluTessBeginContour(3G)**
