glPolygonOffset — set the scale and units used to calculate depth values

C Specification

void glPolygonOffset(GLfloat factor,
 GLfloat units);
void glPolygonOffsetx(GLfixed factor,
 GLfixed 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 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 m * factor + r * units , where m 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 for applying decals to surfaces.

See Also

glDepthFunc, glEnable


Copyright © 2003-2004 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see