OES_draw_buffers_indexed: blendEquationiOES() 方法
OES_draw_buffers_indexed
WebGL 扩展的 blendEquationiOES()
方法为特定绘制缓冲区设置 RGB 混合和 Alpha 混合方程。
有关分别设置 RGB 和 Alpha 的信息,请参见 OES_draw_buffers_indexed.blendEquationSeparateiOES()
,有关此方法的 WebGL 1 版本,请参见 WebGLRenderingContext.blendEquation()
。
语法
js
blendEquationiOES(buf, mode)
参数
buf
-
一个整数
i
,指定与常量gl.DRAW_BUFFERi
关联的绘制缓冲区,请参见 WebGL 绘制缓冲区常量。 mode
-
一个
GLenum
,指定如何组合源颜色和目标颜色。接受与WebGLRenderingContext.blendEquation()
中mode
参数相同的枚举。
返回值
无 (undefined
).
异常
- 如果
buf
不是有效值,则会抛出gl.INVALID_VALUE
错误。 - 如果
mode
不是可能的值之一,则会抛出gl.INVALID_ENUM
错误。
示例
设置和获取混合方程
您可以像这样设置 gl.DRAW_BUFFER0
和 gl.DRAW_BUFFER1
绘制缓冲区的混合方程
js
const ext = gl.getExtension("OES_draw_buffers_indexed");
ext.blendEquationiOES(0, gl.FUNC_ADD);
ext.blendEquationiOES(1, gl.FUNC_SUBTRACT);
要获取 gl.DRAW_BUFFER0
和 gl.DRAW_BUFFER1
绘制缓冲区的混合方程,请使用 WebGL2RenderingContext.getIndexedParameter()
查询 BLEND_EQUATION_RGB
和 BLEND_EQUATION_ALPHA
常量
js
// For gl.DRAW_BUFFER0
gl.getIndexedParameter(gl.BLEND_EQUATION_RGB, 0);
gl.getIndexedParameter(gl.BLEND_EQUATION_ALPHA, 0);
// For gl.DRAW_BUFFER0
gl.getIndexedParameter(gl.BLEND_EQUATION_RGB, 1);
gl.getIndexedParameter(gl.BLEND_EQUATION_ALPHA, 1);
规范
规范 |
---|
WebGL OES_draw_buffers_indexed 扩展规范 |
浏览器兼容性
BCD 表仅在浏览器中加载