Table of Contents
glPolygonOffset - set the scale and units used to calculate depth
values
void glPolygonOffset( GLfloat factor,
GLfloat units )
eqn not supported
- 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.
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.
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.
GL_INVALID_OPERATION is generated if glPolygonOffset
is executed between the execution of glBegin and the corresponding execution
of glEnd.
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.
glDepthFunc(3G)
,
glEnable(3G)
, glGet(3G)
, glIsEnabled(3G)
Table of Contents