WebGLRenderingContext.polygonOffset()

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);

参数

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

返回值

None.

例子

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.enable(gl.POLYGON_OFFSET_FILL);
gl.polygonOffset(2, 3);

想要查看当前多边形偏移的 factor 或 units, 查询 POLYGON_OFFSET_FACTORPOLYGON_OFFSET_UNITS 的内容即可.

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

说明

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

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
polygonOffsetChrome Full support 9Edge Full support 12Firefox Full support 4IE Full support 11Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 25Firefox Android Full support YesOpera Android Full support 12Safari iOS Full support 8Samsung Internet Android Full support Yes

Legend

Full support  
Full support

See also