GLPOLYGONOFFSET()GLPOLYGONOFFSET()NAME
glPolygonOffset - set the scale and units used to calculate depth val‐
ues
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 is enabled, each fragment's depth value will be
offset after it is interpolated from the depth values of the appropri‐
ate 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 implementa‐
tion. 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 apply‐
ing 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 feed‐
back 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_OFF‐
SET_LINE, or GL_POLYGON_OFFSET_POINT.
glGet with argument GL_POLYGON_OFFSET_FACTOR or GL_POLYGON_OFF‐
SET_UNITS.
SEE ALSO
glDepthFunc, glDisable, glEnable, glGet, glIsEnabled, glLineWidth, glS‐
tencilOp, glTexEnv
GLPOLYGONOFFSET()