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

# glPolygonOffset(3x)

set the scale and units used to calculate depth values

## NAME

**glPolygonOffset** - set the scale and units used to calculate depth values

## C SPECIFICATION

void **glPolygonOffset**( GLfloat *factor*,

```
	GLfloat units )
```

delim $$

## PARAMETERS

- *factor*

  Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.

- *units*

  Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.

## DESCRIPTION

When **GL\_POLYGON\_OFFSET\_FILL**, **GL\_POLYGON\_OFFSET\_LINE**, or **GL\_POLYGON\_OFFSET\_POINT** is enabled, each fragment's *depth* value will be offset after it is interpolated from the *depth* values of the appropriate vertices. The value of the offset is $"factor" ~\*~ DZ ~~+~~ r ~\*~ "units"$, where $DZ~$ is a measurement of the change in depth relative to the screen  area of the polygon, and $r$ is the smallest value that is guaranteed to produce a resolvable offset for a given implementation. The offset is added before the depth test is performed and before the value is written into the depth buffer.

**glPolygonOffset** is useful for rendering hidden-line images, for applying decals  to surfaces, and for rendering solids with highlighted edges.

## NOTES

**glPolygonOffset** is available only if the GL version is 1.1 or greater.

**glPolygonOffset** has no effect on depth coordinates placed in the feedback buffer.

**glPolygonOffset** has no effect on selection.

## ERRORS

**GL\_INVALID\_OPERATION** is generated if **glPolygonOffset** is executed between the execution of **glBegin** and the corresponding execution of **glEnd**.

## ASSOCIATED GETS

**glIsEnabled** with argument  **GL\_POLYGON\_OFFSET\_FILL**,  **GL\_POLYGON\_OFFSET\_LINE**,  or **GL\_POLYGON\_OFFSET\_POINT**.

**glGet** with argument **GL\_POLYGON\_OFFSET\_FACTOR** or  **GL\_POLYGON\_OFFSET\_UNITS**.

## SEE ALSO

**glDepthFunc(3G)**, **glEnable(3G)**, **glGet(3G)**, **glIsEnabled(3G)**
