OES_draw_buffers_indexed: enableiOES() 方法

Baseline 已广泛支持

此功能已成熟,可跨多个设备和浏览器版本使用。自 2022 年 12 月起,所有浏览器均已提供此功能。

OES_draw_buffers_indexed WebGL 扩展的 enableiOES() 方法为特定的绘图缓冲区启用混合。

语法

js
enableiOES(target, index)

参数

目标

必须是 gl.BLEND

index

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

返回值

无(undefined)。

异常

  • 如果 target 不是 gl.BLEND,则会抛出 gl.INVALID_ENUM 错误。
  • 如果 index 不是有效值,则会抛出 gl.INVALID_VALUE 错误。

示例

为绘图缓冲区启用混合

以下两个调用会为绘图缓冲区 gl.DRAW_BUFFER0gl.DRAW_BUFFER1 启用混合。

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

ext.enableiOES(gl.BLEND, 0);
ext.enableiOES(gl.BLEND, 1);

您可以使用 WebGLRenderingContext.getParameter() 来查看有多少个绘图缓冲区可用。

js
const maxDrawBuffers = gl.getParameter(gl.MAX_DRAW_BUFFERS);

规范

规范
WebGL OES_draw_buffers_indexed 扩展规范

浏览器兼容性

另见