glPolygonOffset
Prev | GL | Next

## Name

glPolygonOffset — set the scale and units used to calculate depth values

## C Specification

`void `glPolygonOffset`` | `(` | `GLfloat `factor`, GLfloat `units`);`

## Python Specification

``glPolygonOffset`` | `(` | ``factor`, `units`) → `None``

## 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, glEnable, glGet, glIsEnabled

Prev | Up | Next
glPolygonMode | Home | glPolygonStipple