WebGLRenderingContext.blendEquationSeparate()
方法在
WebGL API
is used to set the RGB blend equation and alpha blend equation separately.
The blend equation determines how a new pixel is combined with a pixel already in the
WebGLFramebuffer
.
void gl.blendEquationSeparate(modeRGB, modeAlpha);
modeRGB
GLenum
specifying how the red, green and blue components of source and destination colors are combined. Must be either:
gl.FUNC_ADD
: source + destination (default value),
gl.FUNC_SUBTRACT
: source - destination,
gl.FUNC_REVERSE_SUBTRACT
: destination - source,
EXT_blend_minmax
extension:
ext.MIN_EXT
: Minimum of source and destination,
ext.MAX_EXT
: Maximum of source and destination.
gl.MIN
: Minimum of source and destination,
gl.MAX
: Maximum of source and destination.
modeAlpha
GLenum
specifying how the alpha component (transparency) of source and destination colors are combined. Must be either:
gl.FUNC_ADD
: source + destination (default value),
gl.FUNC_SUBTRACT
: source - destination,
gl.FUNC_REVERSE_SUBTRACT
: destination - source,
EXT_blend_minmax
extension:
ext.MIN_EXT
: Minimum of source and destination,
ext.MAX_EXT
: Maximum of source and destination.
gl.MIN
: Minimum of source and destination,
gl.MAX
: Maximum of source and destination.
None.
若
mode
is not one of the three possible values, a
gl.INVALID_ENUM
error is thrown.
To set the blend equations, use:
gl.blendEquationSeparate(gl.FUNC_ADD, gl.FUNC_SUBTRACT);
To get the current blend equations, query the
BLEND_EQUATION
,
BLEND_EQUATION_RGB
and
BLEND_EQUATION_ALPHA
constants which return
gl.FUNC_ADD
,
gl.FUNC_SUBTRACT
,
gl.FUNC_REVERSE_SUBTRACT
, or if the
EXT_blend_minmax
is enabled:
ext.MIN_EXT
or
ext.MAX_EXT
.
gl.getParameter(gl.BLEND_EQUATION_RGB) === gl.FUNC_ADD; // true gl.getParameter(gl.BLEND_EQUATION_ALPHA) === gl.FUNC_ADD; // true
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebGL 1.0
The definition of 'blendEquationSeparate' in that specification. |
推荐 | Initial definition for WebGL. |
|
OpenGL ES 2.0
The definition of 'glBlendEquationSeparate' in that specification. |
标准 | Man page of the OpenGL ES 2.0 API. |
|
OpenGL ES 3.0
The definition of 'glBlendEquationSeparate' in that specification. |
标准 | Man page of the OpenGL ES 3.0 API. |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
更新 GitHub 上的兼容性数据| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
blendEquationSeparate
|
Chrome 9 | Edge 12 | Firefox 4 | IE 11 | Opera 12 | Safari 5.1 | WebView Android Yes | Chrome Android 25 | Firefox Android Yes | Opera Android 12 | Safari iOS 8 | Samsung Internet Android 1.5 |
WebGL2
|
Chrome 56 | Edge 79 | Firefox 51 | IE No | Opera 43 | Safari No | WebView Android 58 | Chrome Android 58 | Firefox Android 51 | Opera Android 43 | Safari iOS No | Samsung Internet Android 7.0 |
完整支持
不支持
WebGLRenderingContext.blendEquation()
WebGLRenderingContext.blendColor()
WebGLRenderingContext.blendFunc()
EXT_blend_minmax
WebGLRenderingContext
activeTexture()
attachShader()
bindAttribLocation()
bindBuffer()
bindFramebuffer()
bindRenderbuffer()
bindTexture()
blendColor()
blendEquation()
blendEquationSeparate()
blendFunc()
blendFuncSeparate()
bufferData()
bufferSubData()
checkFramebufferStatus()
clear()
clearColor()
clearDepth()
clearStencil()
colorMask()
commit()
compileShader()
compressedTexImage[23]D()
compressedTexSubImage2D()
copyTexImage2D()
copyTexSubImage2D()
createBuffer()
createFramebuffer()
createProgram()
createRenderbuffer()
createShader()
createTexture()
cullFace()
deleteBuffer()
deleteFramebuffer()
deleteProgram()
deleteRenderbuffer()
deleteShader()
deleteTexture()
depthFunc()
depthMask()
depthRange()
detachShader()
disable()
disableVertexAttribArray()
drawArrays()
drawElements()
enable()
enableVertexAttribArray()
finish()
flush()
framebufferRenderbuffer()
framebufferTexture2D()
frontFace()
generateMipmap()
getActiveAttrib()
getActiveUniform()
getAttachedShaders()
getAttribLocation()
getBufferParameter()
getContextAttributes()
getError()
getExtension()
getFramebufferAttachmentParameter()
getParameter()
getProgramInfoLog()
getProgramParameter()
getRenderbufferParameter()
getShaderInfoLog()
getShaderParameter()
getShaderPrecisionFormat()
getShaderSource()
getSupportedExtensions()
getTexParameter()
getUniform()
getUniformLocation()
getVertexAttrib()
getVertexAttribOffset()
hint()
isBuffer()
isContextLost()
isEnabled()
isFramebuffer()
isProgram()
isRenderbuffer()
isShader()
isTexture()
lineWidth()
linkProgram()
pixelStorei()
polygonOffset()
readPixels()
renderbufferStorage()
sampleCoverage()
scissor()
shaderSource()
stencilFunc()
stencilFuncSeparate()
stencilMask()
stencilMaskSeparate()
stencilOp()
stencilOpSeparate()
texImage2D()
texParameter[fi]()
texSubImage2D()
uniform[1234][fi][v]()
uniformMatrix[234]fv()
useProgram()
validateProgram()
vertexAttrib[1234]f[v]()
vertexAttribPointer()
viewport()
ANGLE_instanced_arrays
EXT_blend_minmax
EXT_color_buffer_half_float
EXT_disjoint_timer_query
EXT_frag_depth
EXT_sRGB
EXT_shader_texture_lod
EXT_texture_filter_anisotropic
OES_element_index_uint
OES_standard_derivatives
OES_texture_float
OES_texture_float_linear
OES_texture_half_float
OES_texture_half_float_linear
OES_vertex_array_object
WEBGL_color_buffer_float
WEBGL_compressed_texture_atc
WEBGL_compressed_texture_etc1
WEBGL_compressed_texture_pvrtc
WEBGL_compressed_texture_s3tc
WEBGL_compressed_texture_s3tc_srgb
WEBGL_debug_renderer_info
WEBGL_debug_shaders
WEBGL_depth_texture
WEBGL_draw_buffers
WEBGL_lose_context
WebGL2RenderingContext
WebGLActiveInfo
WebGLBuffer
WebGLContextEvent
WebGLFramebuffer
WebGLObject
WebGLProgram
WebGLQuery
WebGLRenderbuffer
WebGLSampler
WebGLShader
WebGLShaderPrecisionFormat
WebGLSync
WebGLTexture
WebGLTransformFeedback
WebGLUniformLocation
WebGLVertexArrayObject