OES_draw_buffers_indexed: blendEquationSeparateiOES() 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 blendEquationSeparateiOES()
-Methode der OES_draw_buffers_indexed
WebGL-Erweiterung legt die RGB- und Alpha-Mischgleichungen separat für einen bestimmten Zeichenpuffer fest.
Siehe OES_draw_buffers_indexed.blendEquationiOES()
zum gleichzeitigen Setzen von RGB und Alpha sowie WebGLRenderingContext.blendEquationSeparate()
für die WebGL 1-Version dieser Methode.
Syntax
blendEquationSeparateiOES(buf, modeRGB, modeAlpha)
Parameter
buf
-
Ein ganzzahliger Wert
i
, der den Zeichenpuffer angibt, der mit der Konstantegl.DRAW_BUFFERi
assoziiert ist, siehe WebGL-Zeichenpufferkonstanten. modeRGB
-
Ein
GLenum
, der angibt, wie Quell- und Ziel-RGB-Farbkomponenten kombiniert werden. Akzeptiert dieselben Enums wie dermodeRGB
-Parameter inWebGLRenderingContext.blendEquationSeparate()
. modeAlpha
-
Ein
GLenum
, der angibt, wie Quell- und Ziel-Alpha-Farbkomponenten kombiniert werden. Akzeptiert dieselben Enums wie dermodeAlpha
-Parameter inWebGLRenderingContext.blendEquationSeparate()
.
Rückgabewert
Keiner (undefined
).
Ausnahmen
- Wenn
buf
kein gültiger Wert ist, wird eingl.INVALID_VALUE
-Fehler ausgelöst. - Wenn
modeRGB
odermodeAlpha
nicht auf einen der möglichen Werte gesetzt sind, wird eingl.INVALID_ENUM
-Fehler ausgelöst.
Beispiele
Setzen und Abfragen von Mischgleichungen
Das Folgende setzt die Mischgleichungen für die Zeichenpuffer gl.DRAW_BUFFER0
(Aufruf, wenn buf
0 ist) und gl.DRAW_BUFFER1
(Aufruf, wenn buf
1 ist).
const ext = gl.getExtension("OES_draw_buffers_indexed");
ext.blendEquationSeparateiOES(0, gl.FUNC_ADD, gl.FUNC_SUBTRACT);
ext.blendEquationSeparateiOES(1, gl.FUNC_ADD, gl.FUNC_SUBTRACT);
Um die Mischgleichungen für gl.DRAW_BUFFER0
und gl.DRAW_BUFFER1
zu erhalten, fragen Sie die Konstanten BLEND_EQUATION_RGB
und BLEND_EQUATION_ALPHA
mit WebGL2RenderingContext.getIndexedParameter()
ab:
// For gl.DRAW_BUFFER0
gl.getIndexedParameter(gl.BLEND_EQUATION_RGB, 0);
gl.getIndexedParameter(gl.BLEND_EQUATION_ALPHA, 0);
// for gl.DRAW_BUFFER1
gl.getIndexedParameter(gl.BLEND_EQUATION_RGB, 1);
gl.getIndexedParameter(gl.BLEND_EQUATION_ALPHA, 1);
Spezifikationen
Specification |
---|
WebGL OES_draw_buffers_indexed Extension Specification |
Browser-Kompatibilität
BCD tables only load in the browser