WebGLRenderingContext: blendEquationSeparate() 方法

基线 广泛可用

此功能非常成熟,并在许多设备和浏览器版本上运行良好。它自 2015 年 7 月.

报告反馈

WebGLRenderingContext.blendEquationSeparate() 方法是 WebGL API 的一部分,用于分别设置 RGB 混合方程和 alpha 混合方程。

语法

混合方程决定了如何将一个新像素与已存在于 WebGLFramebuffer 中的像素进行组合。
blendEquationSeparate(modeRGB, modeAlpha)

js

参数

modeRGB

  • 一个 GLenum,指定如何组合源和目标颜色的红色、绿色和蓝色分量。必须是以下值之一:
  • gl.FUNC_ADD: 源 + 目标 (默认值),
  • gl.FUNC_SUBTRACT: 源 - 目标,
  • gl.FUNC_REVERSE_SUBTRACT: 目标 - 源,
  • ext.MAX_EXT: 源和目标的最大值。
    • 当使用 WebGL 2 上下文 时,以下值还可以使用:
    • gl.MIN: 源和目标的最小值,
gl.MAX: 源和目标的最大值。

modeAlpha

  • 一个 GLenum,指定如何组合源和目标颜色的红色、绿色和蓝色分量。必须是以下值之一:
  • gl.FUNC_ADD: 源 + 目标 (默认值),
  • gl.FUNC_SUBTRACT: 源 - 目标,
  • gl.FUNC_REVERSE_SUBTRACT: 目标 - 源,
  • ext.MAX_EXT: 源和目标的最大值。
    • 当使用 WebGL 2 上下文 时,以下值还可以使用:
    • gl.MIN: 源和目标的最小值,

一个 GLenum,指定如何组合源和目标颜色的 alpha 分量 (透明度)。必须是以下值之一:

返回值

无 (undefined).

异常

示例

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

混合方程决定了如何将一个新像素与已存在于 WebGLFramebuffer 中的像素进行组合。
gl.blendEquationSeparate(gl.FUNC_ADD, gl.FUNC_SUBTRACT);

要设置混合方程,请使用

混合方程决定了如何将一个新像素与已存在于 WebGLFramebuffer 中的像素进行组合。
gl.getParameter(gl.BLEND_EQUATION_RGB) === gl.FUNC_ADD;
// true

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

规范

要获取当前混合方程,请查询 BLEND_EQUATIONBLEND_EQUATION_RGBBLEND_EQUATION_ALPHA 常量,它们分别返回 gl.FUNC_ADDgl.FUNC_SUBTRACTgl.FUNC_REVERSE_SUBTRACT,或者如果启用了 EXT_blend_minmaxext.MIN_EXText.MAX_EXT
规范
# 5.14.3

浏览器兼容性

WebGL 规范

另请参阅