|
glPolygonOffset(3G)
Contents
|
glPolygonOffset - set the scale and units used to calculate
depth values
void glPolygonOffset(
GLfloat factor,
GLfloat units );
Specifies a scale factor that is used to create a variable
depth offset for each polygon. The initial value is 0.
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(3), glEnable(3), glGet(3), glIsEnabled(3)
glPolygonOffset(3G)
[ Back ] |