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_blend_minmax
扩展时 ext.MIN_EXT
: 源和目标的最小值,
- 当使用
ext.MAX_EXT
: 源和目标的最大值。- 当使用 WebGL 2 上下文 时,以下值还可以使用:
gl.MIN
: 源和目标的最小值,
- 一个
gl.MAX
: 源和目标的最大值。-
modeAlpha
- 一个
GLenum
,指定如何组合源和目标颜色的红色、绿色和蓝色分量。必须是以下值之一: gl.FUNC_ADD
: 源 + 目标 (默认值),gl.FUNC_SUBTRACT
: 源 - 目标,gl.FUNC_REVERSE_SUBTRACT
: 目标 - 源,- 当使用
EXT_blend_minmax
扩展时 ext.MIN_EXT
: 源和目标的最小值,
- 当使用
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_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 。 |
---|
规范 # 5.14.3 |
浏览器兼容性
WebGL 规范