WebGLRenderingContext: blendEquation() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext.blendEquation() 方法是 WebGL API 的一部分,用于将 RGB 混合方程和 Alpha 混合方程设置为一个单一的方程。

混合方程决定了新像素如何与 WebGLFramebuffer 中已有的像素进行组合。

语法

js
blendEquation(mode)

参数

模式

一个 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:源和目标中的最大值

异常

如果 *mode* 不是三个可能值之一,则会抛出 gl.INVALID_ENUM 错误。

返回值

无(undefined)。

示例

要设置混合方程,请使用:

js
gl.blendEquation(gl.FUNC_ADD);
gl.blendEquation(gl.FUNC_SUBTRACT);
gl.blendEquation(gl.FUNC_REVERSE_SUBTRACT);

要获取混合方程,请查询 BLEND_EQUATIONBLEND_EQUATION_RGBBLEND_EQUATION_ALPHA 常量,它们会返回 gl.FUNC_ADDgl.FUNC_SUBTRACTgl.FUNC_REVERSE_SUBTRACT,或者如果启用了 EXT_blend_minmax 扩展:ext.MIN_EXText.MAX_EXT

js
gl.getParameter(gl.BLEND_EQUATION_RGB) === gl.FUNC_ADD;
// true

gl.getParameter(gl.BLEND_EQUATION_ALPHA) === gl.FUNC_ADD;
// true

规范

规范
WebGL 规范
# 5.14.3

浏览器兼容性

另见