OES_draw_buffers_indexed: blendFunciOES() Methode
Baseline 2022
Newly available
Since December 2022, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
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 |
Browser-Kompatibilität
BCD tables only load in the browser