Light | Dark

# docs.GL

OpenGL 4
OpenGL 3
OpenGL 2
OpenGL ES 3
OpenGL ES 2

# glPolygonOffset

## Name

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

## C Specification

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

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

## Associated Gets

glIsEnabled with argument `GL_POLYGON_OFFSET_FILL`.

glGet with argument `GL_POLYGON_OFFSET_FACTOR` or `GL_POLYGON_OFFSET_UNITS`.

## See Also

glDepthFunc, glEnable, glGet, glIsEnabled

## Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see https://web.archive.org/web/20171022161616/http://oss.sgi.com/projects/FreeB/.

Think you can improve this page? Edit this page on GitHub.