OES_draw_buffers_indexed: blendFunciOES() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2022.
Die blendFunciOES()
Methode der OES_draw_buffers_indexed
WebGL-Erweiterung definiert, welche Funktion verwendet wird, wenn Pixel für einen bestimmten Zeichenpuffer gemischt werden.
Siehe OES_draw_buffers_indexed.blendFuncSeparateiOES()
zum separaten Setzen von RGB- und Alphakomponenten und WebGLRenderingContext.blendFunc()
für die WebGL 1-Version dieser Methode.
Syntax
blendFunciOES(buf, src, dst)
Parameter
buf
-
Ein ganzzahliger
i
, der den Zeichenpuffer angibt, der mit der Konstantengl.DRAW_BUFFERi
assoziiert ist, siehe WebGL-Zeichenpuffer-Konstanten. src
-
Ein
GLenum
, der einen Multiplikator für die Quellmischungsfaktoren angibt. Akzeptiert dieselben Enums wie dersfactor
-Parameter inWebGLRenderingContext.blendFunc()
. dst
-
Ein
GLenum
, der einen Multiplikator für die Zielmischungsfaktoren angibt. Akzeptiert dieselben Enums wie derdfactor
-Parameter inWebGLRenderingContext.blendFunc()
.
Rückgabewert
Keiner (undefined
).
Ausnahmen
- Wenn
buf
kein gültiger Wert ist, wird eingl.INVALID_VALUE
Fehler ausgelöst. - Wenn
src
oderdst
nicht einer der möglichen Werte sind, wird eingl.INVALID_ENUM
Fehler ausgelöst. - Die gleichen Einschränkungen für Mischungen wie bei
WebGLRenderingContext.blendFunc()
gelten: Wenn eine konstante Farbe und ein konstanter Alphawert zusammen als Quell- und Zielfaktoren verwendet werden, wird eingl.INVALID_ENUM
Fehler ausgelöst.
Beispiele
Setzen und Abrufen von Mischfunktionen
Sie können die Mischfunktionen für die gl.DRAW_BUFFER0
und gl.DRAW_BUFFER1
Zeichenpuffer wie folgt festlegen:
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);
Um die Mischfunktionen für die gl.DRAW_BUFFER0
und gl.DRAW_BUFFER1
Zeichenpuffer abzurufen, fragen Sie die BLEND_SRC_RGB
, BLEND_SRC_ALPHA
, BLEND_DST_RGB
und BLEND_DST_ALPHA
Konstanten mit WebGL2RenderingContext.getIndexedParameter()
ab:
// 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);
Spezifikationen
Specification |
---|
WebGL OES_draw_buffers_indexed Extension Specification |