EXT_polygon_offset_clamp: polygonOffsetClampEXT() method
The polygonOffsetClampEXT() method of the EXT_polygon_offset_clamp extension of the WebGL API specifies the scale factor and units used to calculate depth offsets, like WebGLRenderingContext.polygonOffset(), and a limit for the resulting offset.
The offset is computed from factor and units in the same way as with polygonOffset(), then limited by clamp:
- If
clampis positive, the offset is at mostclamp. - If
clampis negative, the offset is at leastclamp. - If
clampis0orNaN, the offset isn't limited.
Calling polygonOffset() is the same as calling polygonOffsetClampEXT() with a clamp of 0, so it removes the limit.
The depth offset applies only when gl.POLYGON_OFFSET_FILL is enabled with WebGLRenderingContext.enable().
Syntax
polygonOffsetClampEXT(factor, units, clamp)
Parameters
factor-
A
GLfloatwhich sets the scale factor for the variable depth offset for each polygon. The default value is 0. units-
A
GLfloatwhich sets the multiplier by which an implementation-specific value is multiplied with to create a constant depth offset. The default value is 0. clamp-
A
GLfloatwhich sets the maximum (if positive) or minimum (if negative) depth offset. The default value is 0, which means no limit.
Return value
None (undefined).
Examples
>Limiting the depth offset
This example enables the depth offset, sets a factor of 2 and units of 3, and limits the offset to 0.001:
const ext = gl.getExtension("EXT_polygon_offset_clamp");
gl.enable(gl.POLYGON_OFFSET_FILL);
ext.polygonOffsetClampEXT(2, 3, 0.001);
To check the current values, query the POLYGON_OFFSET_FACTOR, POLYGON_OFFSET_UNITS, and POLYGON_OFFSET_CLAMP_EXT constants:
gl.getParameter(gl.POLYGON_OFFSET_FACTOR); // 2
gl.getParameter(gl.POLYGON_OFFSET_UNITS); // 3
gl.getParameter(ext.POLYGON_OFFSET_CLAMP_EXT); // 0.0010000000474974513
Specifications
| Specification |
|---|
| WebGL EXT_polygon_offset_clamp Extension Specification> |