The WebGLRenderingContext.polygonOffset() method of the WebGL API specifies the scale factors and units to calculate depth values.

The offset is added before the depth test is performed and before the value is written into the depth buffer.


void gl.polygonOffset(factor, units);


A GLfloat which sets the scale factor for the variable depth offset for each polygon. The default value is 0.
A GLfloat which sets the multiplier by which an implementation-specific value is multiplied with to create a constant depth offset. The default value is 0.

Return value



The polygon offset fill is disabled by default. To enable or disable polygon offset fill, use the enable() and disable() methods with the argument gl.POLYGON_OFFSET_FILL.

gl.polygonOffset(2, 3);

To check the current polygon offset factor or units, query the POLYGON_OFFSET_FACTOR and POLYGON_OFFSET_UNITS constants.

gl.getParameter(gl.POLYGON_OFFSET_FACTOR); // 2
gl.getParameter(gl.POLYGON_OFFSET_UNITS);  // 3


Specification Status Comment
WebGL 1.0
The definition of 'polygonOffset' in that specification.
Recommendation Initial definition.
OpenGL ES 2.0
The definition of 'glPolygonOffset' in that specification.
Standard Man page of the OpenGL API.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 9 12 4.0 (2.0) 11 12 5.1
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support ? 25 (Yes) 4.0 (2.0) 1.0 ? 12 8.0

See also

Document Tags and Contributors

 Contributors to this page: fscholz
 Last updated by: fscholz,