OES_draw_buffers_indexed: colorMaskiOES() 方法

基线 2022

新可用

2022 年 12 月起,此功能在最新的设备和浏览器版本中可用。此功能可能无法在较旧的设备或浏览器中使用。

colorMaskiOES() 方法是 OES_draw_buffers_indexed WebGL 扩展的成员方法,用于设置在对特定绘制缓冲区进行绘制或渲染时要启用或禁用的颜色组件。它是 WebGL 1 的 WebGLRenderingContext.colorMask() 方法的索引版本。

语法

js
colorMaskiOES(buf, r, g, b, a)

参数

buf

一个整数 i,指定与常量 gl.DRAW_BUFFERi 关联的绘制缓冲区,请参阅 WebGL 绘制缓冲区常量

r

一个 GLboolean,指定是否应将红色颜色分量写入绘制缓冲区。

g

一个 GLboolean,指定是否应将绿色颜色分量写入绘制缓冲区。

b

一个 GLboolean,指定是否应将蓝色颜色分量写入绘制缓冲区。

a

一个 GLboolean,指定是否应将红色 alpha(透明度)分量写入绘制缓冲区。

返回值

无(undefined)。

异常

  • 如果 bufrbga 不是有效值,则会抛出 gl.INVALID_VALUE 错误。

示例

设置和获取颜色掩码

你可以像这样为 gl.DRAW_BUFFER0gl.DRAW_BUFFER1 绘制缓冲区设置颜色掩码

js
const ext = gl.getExtension("OES_draw_buffers_indexed");

ext.colorMaskiOES(0, 1, 0, 0, 0);
ext.colorMaskiOES(1, 0, 1, 0, 0);

要获取 gl.DRAW_BUFFER0gl.DRAW_BUFFER1 绘制缓冲区的颜色掩码,请使用 WebGL2RenderingContext.getIndexedParameter() 查询 COLOR_WRITEMASK 常量

js
gl.getIndexedParameter(gl.COLOR_WRITEMASK, 0);
gl.getIndexedParameter(gl.COLOR_WRITEMASK, 1);

规范

规范
WebGL OES_draw_buffers_indexed 扩展规范

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅