OES_draw_buffers_indexed: colorMaskiOES() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2022.
Note: This feature is available in Web Workers.
The colorMaskiOES() method of the OES_draw_buffers_indexed WebGL extension sets which color components to enable or to disable when drawing or rendering for a particular draw buffer. It's the indexed version of WebGL 1's WebGLRenderingContext.colorMask() method.
Syntax
colorMaskiOES(buf, r, g, b, a)
Parameters
buf-
An integer
ispecifying the draw buffer associated with the constantgl.DRAW_BUFFERi, see WebGL draw buffer constants. r-
A
GLbooleanspecifying whether or not the red color component should be written into the draw buffer. g-
A
GLbooleanspecifying whether or not the green color component should be written into the draw buffer. b-
A
GLbooleanspecifying whether or not the blue color component should be written into the draw buffer. a-
A
GLbooleanspecifying whether or not the red alpha (transparency) component should be written into the draw buffer.
Return value
None (undefined).
Exceptions
- If
buf,r,b,g, oraare not a valid values, agl.INVALID_VALUEerror is thrown.
Examples
>Setting and getting color masks
You can set the color masks for the gl.DRAW_BUFFER0 and gl.DRAW_BUFFER1 draw buffers like this:
const ext = gl.getExtension("OES_draw_buffers_indexed");
ext.colorMaskiOES(0, 1, 0, 0, 0);
ext.colorMaskiOES(1, 0, 1, 0, 0);
To get the color masks for the gl.DRAW_BUFFER0 and gl.DRAW_BUFFER1 draw buffers, query the COLOR_WRITEMASK constant using WebGL2RenderingContext.getIndexedParameter():
gl.getIndexedParameter(gl.COLOR_WRITEMASK, 0);
gl.getIndexedParameter(gl.COLOR_WRITEMASK, 1);
Specifications
| Specification |
|---|
| WebGL OES_draw_buffers_indexed Extension Specification> |