Baseline Widely available
The blendFunciOES()
method of the OES_draw_buffers_indexed
WebGL extension defines which function is used when blending pixels for a particular draw buffer.
See OES_draw_buffers_indexed.blendFuncSeparateiOES()
for setting RGB and alpha components separately and WebGLRenderingContext.blendFunc()
for the WebGL 1 version of this method.
blendFunciOES(buf, src, dst)
Parameters
buf
An integer i
specifying the draw buffer associated with the constant gl.DRAW_BUFFERi
, see WebGL draw buffer constants.
src
A GLenum
specifying a multiplier for the source blending factors. Accepts the same enums as the sfactor
parameter in WebGLRenderingContext.blendFunc()
.
dst
A GLenum
specifying a multiplier for the destination blending factors. Accepts the same enums as the dfactor
parameter in WebGLRenderingContext.blendFunc()
.
None (undefined
).
buf
is not a valid value, a gl.INVALID_VALUE
error is thrown.src
or dst
are not one of the possible values, a gl.INVALID_ENUM
error is thrown.WebGLRenderingContext.blendFunc()
apply: If a constant color and a constant alpha value are used together as source and destination factors, a gl.INVALID_ENUM
error is thrown.You can set the blend functions for the gl.DRAW_BUFFER0
and gl.DRAW_BUFFER1
draw buffers like this:
const ext = gl.getExtension("OES_draw_buffers_indexed");
ext.blendFunciOES(0, gl.ONE, gl.ONE);
ext.blendFunciOES(1, gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
To get the blend functions for the gl.DRAW_BUFFER0
and gl.DRAW_BUFFER1
draw buffers, query the BLEND_SRC_RGB
, BLEND_SRC_ALPHA
, BLEND_DST_RGB
, and BLEND_DST_ALPHA
constants using WebGL2RenderingContext.getIndexedParameter()
:
// For gl.DRAW_BUFFER0
gl.getIndexedParameter(gl.BLEND_SRC_RGB, 0);
gl.getIndexedParameter(gl.BLEND_SRC_ALPHA, 0);
gl.getIndexedParameter(gl.BLEND_DST_RGB, 0);
gl.getIndexedParameter(gl.BLEND_DST_ALPHA, 0);
// For gl.DRAW_BUFFER0
gl.getIndexedParameter(gl.BLEND_SRC_RGB, 1);
gl.getIndexedParameter(gl.BLEND_SRC_ALPHA, 1);
gl.getIndexedParameter(gl.BLEND_DST_RGB, 1);
gl.getIndexedParameter(gl.BLEND_DST_ALPHA, 1);
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4