glPolygonOffset

From OpenGL Reference
Jump to navigation Jump to search

Set the scale and units used to calculate depth values.

C Specification[edit]

void glPolygonOffset( GLfloat factor, GLfloat units );


Parameters[edit]

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.


Description[edit]

When GL_POLYGON_OFFSET_FILL , GL_POLYGON_OFFSET_LINE , or GL_POLYGON_OFFSET_POINT is enabled, each fragment'sdepthvalue will be offset after it is interpolated from thedepthvalues of the appropriate vertices. The value of the offset is [math]factor×DZ+r×units[/math] , where [math][/math] is a measurement of the change in depth relative to the screen area of the polygon, and [math][/math] 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.


Associated Gets[edit]

 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 .


Version Support[edit]

 glPolygonOffset  2.0+

See Also[edit]

 glDepthFunc , glEnable , glGet , glIsEnabled 


Copyright[edit]

Copyright© 1991-2006 Silicon Graphics, Inc. Copyright© 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.