OES_draw_buffers_indexed:blendEquationiOES() 方法
OES_draw_buffers_indexed WebGL 扩展的 blendEquationiOES() 方法用于为特定的绘图缓冲区设置 RGB 混合方程和 alpha 混合方程。
请参阅 OES_draw_buffers_indexed.blendEquationSeparateiOES() 来单独设置 RGB 和 alpha,以及 WebGLRenderingContext.blendEquation() 来获取此方法的 WebGL 1 版本。
语法
js
blendEquationiOES(buf, mode)
参数
buf-
一个整数
i,指定与常量gl.DRAW_BUFFERi关联的绘制缓冲区。请参阅 WebGL 绘制缓冲区常量。 模式-
一个
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 扩展规范 |
浏览器兼容性
加载中…