WebGLRenderingContext: blendEquationSeparate() 方法
注意:此功能在 Web Workers 中可用。
WebGLRenderingContext.blendEquationSeparate() 方法是 WebGL API 的一部分,用于分别设置 RGB 混合方程和 Alpha 混合方程。
混合方程决定了新像素如何与已在 WebGLFramebuffer 中的像素进行组合。
语法
blendEquationSeparate(modeRGB, modeAlpha)
参数
modeRGB-
一个
GLenum,指定了源颜色和目标颜色的红、绿、蓝分量如何组合。必须是以下之一:-
gl.FUNC_ADD: 源 + 目标 (默认值), -
gl.FUNC_SUBTRACT: 源 - 目标, -
gl.FUNC_REVERSE_SUBTRACT: 目标 - 源, -
使用
EXT_blend_minmax扩展时ext.MIN_EXT: 源和目标中的最小值,ext.MAX_EXT: 源和目标中的最大值。
-
使用 WebGL 2 上下文时,还可以使用以下值:
gl.MIN: 源和目标中的最小值,gl.MAX: 源和目标中的最大值。
-
modeAlpha-
一个
GLenum,指定了源颜色和目标颜色的 Alpha 分量(透明度)如何组合。必须是以下之一:-
gl.FUNC_ADD: 源 + 目标 (默认值), -
gl.FUNC_SUBTRACT: 源 - 目标, -
gl.FUNC_REVERSE_SUBTRACT: 目标 - 源, -
使用
EXT_blend_minmax扩展时ext.MIN_EXT: 源和目标中的最小值,ext.MAX_EXT: 源和目标中的最大值。
-
使用 WebGL 2 上下文时,还可以使用以下值:
gl.MIN: 源和目标中的最小值,gl.MAX: 源和目标中的最大值。
-
返回值
无(undefined)。
异常
如果 mode 不是这三个可能值之一,则会抛出 gl.INVALID_ENUM 错误。
示例
要设置混合方程,请使用:
gl.blendEquationSeparate(gl.FUNC_ADD, gl.FUNC_SUBTRACT);
要获取当前的混合方程,请查询 BLEND_EQUATION、BLEND_EQUATION_RGB 和 BLEND_EQUATION_ALPHA 常量,它们会返回 gl.FUNC_ADD、gl.FUNC_SUBTRACT、gl.FUNC_REVERSE_SUBTRACT,或者如果启用了 EXT_blend_minmax 扩展:ext.MIN_EXT 或 ext.MAX_EXT。
gl.getParameter(gl.BLEND_EQUATION_RGB) === gl.FUNC_ADD;
// true
gl.getParameter(gl.BLEND_EQUATION_ALPHA) === gl.FUNC_ADD;
// true
规范
| 规范 |
|---|
| WebGL 规范 # 5.14.3 |
浏览器兼容性
加载中…