OES_draw_buffers_indexed: blendFuncSeparateiOES()-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 blendFuncSeparateiOES()
-Methode der OES_draw_buffers_indexed
WebGL-Erweiterung definiert, welche Funktion verwendet wird, wenn RGB- und Alphakomponenten eines bestimmten Zeichenpuffers getrennt gemischt werden.
Siehe OES_draw_buffers_indexed.blendFunciOES()
für das gleichzeitige Setzen von RGB und Alpha und WebGLRenderingContext.blendFuncSeparate()
für die WebGL 1-Version dieser Methode.
Syntax
blendFuncSeparateiOES(buf, srcRGB, dstRGB, srcAlpha, dstAlpha)
Parameter
buf
-
Ein ganzzahliger
i
, der den Zeichenpuffer angibt, der mit der Konstantegl.DRAW_BUFFERi
verbunden ist. Siehe WebGL-Zeichenpuffer-Konstanten. srcRGB
-
Ein
GLenum
, der einen Multiplikator für die Rot-, Grün- und Blau- (RGB) Quell-Mischfaktoren angibt. Akzeptiert die gleichen Enums wie dersrcRGB
-Parameter inWebGLRenderingContext.blendFuncSeparate()
. dstRGB
-
Ein
GLenum
, der einen Multiplikator für die Rot-, Grün- und Blau- (RGB) Ziel-Mischfaktoren angibt. Akzeptiert die gleichen Enums wie derdstRGB
-Parameter inWebGLRenderingContext.blendFuncSeparate()
. srcAlpha
-
Ein
GLenum
, der einen Multiplikator für den Alpha-Quell-Mischfaktor angibt. Akzeptiert die gleichen Enums wie dersrcAlpha
-Parameter inWebGLRenderingContext.blendFuncSeparate()
. dstAlpha
-
Ein
GLenum
, der einen Multiplikator für den Alpha-Ziel-Mischfaktor angibt. Akzeptiert die gleichen Enums wie dersrcAlpha
-Parameter inWebGLRenderingContext.blendFuncSeparate()
.
Rückgabewert
Keiner (undefined
).
Ausnahmen
- Wenn
buf
kein gültiger Wert ist, wird eingl.INVALID_VALUE
-Fehler ausgelöst. - Wenn
srcRGB
,dstRGB
,srcAlpha
oderdstAlpha
nicht einer der möglichen Werte sind, wird eingl.INVALID_ENUM
-Fehler ausgelöst. - Die gleichen Einschränkungen des Blendings wie für
WebGLRenderingContext.blendFuncSeparate()
gelten: Wenn eine konstante Farbe und ein konstanter Alphawert gemeinsam als Quell- und Zielfaktoren verwendet werden, wird eingl.INVALID_ENUM
-Fehler ausgelöst.
Beispiele
Setzen und Abfragen der Mischfunktionen
Das folgende Beispiel setzt die Mischfunktionen für die Zeichenpuffer gl.DRAW_BUFFER0
(Aufruf, bei dem buf
0 ist) und gl.DRAW_BUFFER1
(Aufruf, bei dem buf
1 ist).
const ext = gl.getExtension("OES_draw_buffers_indexed");
ext.blendFuncSeparateiOES(0, gl.ONE, gl.ONE, gl.ZERO, gl.ZERO);
ext.blendFuncSeparateiOES(
1,
gl.SRC_ALPHA,
gl.ONE_MINUS_SRC_ALPHA,
gl.ZERO,
gl.ZERO,
);
Um die Mischfunktionen für die Zeichenpuffer gl.DRAW_BUFFER0
und gl.DRAW_BUFFER1
zu erhalten, verwenden Sie die Abfrage der Konstanten BLEND_SRC_RGB
, BLEND_SRC_ALPHA
, BLEND_DST_RGB
und BLEND_DST_ALPHA
mit 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);
Spezifikationen
Specification |
---|
WebGL OES_draw_buffers_indexed Extension Specification |
Browser-Kompatibilität
BCD tables only load in the browser