GLAPI/glPolygonOffset: Difference between revisions

From OpenGL Wiki
Jump to navigation Jump to search
m Renaming category: 'GL 4 API Rasterization' to 'Core API Ref Rasterization'.
 
(4 intermediate revisions by one other user not shown)
Line 8: Line 8:
== Function Definition ==
== Function Definition ==


   void '''glPolygonOffset'''(GLfloat ''factor'', GLfloat ''units'');
   void '''glPolygonOffset'''(GLfloat {{param|factor}}, GLfloat {{param|units}});


; factor
; factor
Line 17: Line 17:
== Description ==
== Description ==


When {{code|GL_POLYGON_OFFSET_FILL}}, {{code|GL_POLYGON_OFFSET_LINE}}, or {{code|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.
When {{enum|GL_POLYGON_OFFSET_FILL}}, {{enum|GL_POLYGON_OFFSET_LINE}}, or {{enum|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 useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges.
Line 23: Line 23:
== Associated Gets ==
== Associated Gets ==


[[GLAPI/glIsEnabled|glIsEnabled]] with argument {{code|GL_POLYGON_OFFSET_FILL}}, {{code|GL_POLYGON_OFFSET_LINE}}, or {{code|GL_POLYGON_OFFSET_POINT}}.
{{apifunc|glIsEnabled}} with argument {{enum|GL_POLYGON_OFFSET_FILL}}, {{enum|GL_POLYGON_OFFSET_LINE}}, or {{enum|GL_POLYGON_OFFSET_POINT}}.


[[GLAPI/glGet|glGet]] with argument {{code|GL_POLYGON_OFFSET_FACTOR}} or {{code|GL_POLYGON_OFFSET_UNITS}}.
{{apifunc|glGet}} with argument {{enum|GL_POLYGON_OFFSET_FACTOR}} or {{enum|GL_POLYGON_OFFSET_UNITS}}.


== See Also ==
== See Also ==


[[GLAPI/glDepthFunc|glDepthFunc]], [[GLAPI/glEnable|glEnable]], [[GLAPI/glGet|glGet]], [[GLAPI/glIsEnabled|glIsEnabled]]
{{apifunc|glDepthFunc}}, {{apifunc|glEnable}}


== Copyright ==
== Copyright ==


Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see [http://oss.sgi.com/projects/FreeB/ http://oss.sgi.com/projects/FreeB/].
Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see [https://khronos.org/registry/OpenGL-Refpages/LICENSES/LicenseRef-FreeB.txt LicenseRef-FreeB].


[[Category:API Reference 4|PolygonOffset]]
[[Category:Core API Ref Rasterization|PolygonOffset]]
[[Category:Core API Ref Rasterization|PolygonOffset]]
[[Category:Core API Reference|PolygonOffset]]

Latest revision as of 22:09, 5 February 2021

glPolygonOffset
Core in version 4.6
Core since version 1.0

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

Function Definition

 void glPolygonOffset(GLfloat factor​, GLfloat units​);
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

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.

Associated Gets

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.

See Also

glDepthFunc, glEnable

Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see LicenseRef-FreeB.