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 × 𝐃𝐙 + 𝐫 × units, where 𝐃𝐙 is a measurement of the change in depth relative to the screen area of the polygon, and 𝐫 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.
Parameters
factor: number
Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.
units: number
Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.
Returns void
Summary
set the scale and units used to calculate depth values
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 × 𝐃𝐙 + 𝐫 × units, where 𝐃𝐙 is a measurement of the change in depth relative to the screen area of the polygon, and 𝐫 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.