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 Dezember 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_BUFFERiassoziiert 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
bufkein gültiger Wert ist, wird eingl.INVALID_VALUEFehler ausgelöst. - Wenn
srcoderdstnicht einer der möglichen Werte sind, wird eingl.INVALID_ENUMFehler 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_ENUMFehler 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
Loading…