The glPolygonOffset function sets the scale and units OpenGL uses to calculate depth values.
void WINAPI 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 zero.
Specifies a value that is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.
This function does not return a value.
The following error code can be retrieved by the glGetError function.
||The function was called between a call to glBegin and the corresponding call to glEnd.
When GL_POLYGON_OFFSET 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 * ?z + r *units, where ?z 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.
The glPolygonOffset function is useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges.
The glPolygonOffset function has no effect on depth coordinates placed in the feedback buffer. It also has no effect on selection.
The following functions retrieve information related to glPolygonOffset:
- glGet with argument GL_POLYGON_OFFSET_FACTOR
- glGet with argument GL_POLYGON_OFFSET_UNITS
- glIsEnabled with argument GL_POLYGON_OFFSET_FILL
- glIsEnabled with argument GL_POLYGON_OFFSET_LINE
- glIsEnabled with argument GL_POLYGON_OFFSET_POINT
The glPolygonOffset function is only available in OpenGl version 1.1 or greater.
|Minimum supported client
||Windows 2000 Professional [desktop apps only]
|Minimum supported server
||Windows 2000 Server [desktop apps only]