OES_draw_buffers_indexed: Methode blendEquationSeparateiOES()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Dezember 2022 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Methode blendEquationSeparateiOES() der WebGL-Erweiterung OES_draw_buffers_indexed legt die RGB- und Alpha-Blending-Gleichungen für einen bestimmten Zeichenpuffer getrennt fest.
Informationen zum gemeinsamen Festlegen von RGB und Alpha finden Sie unter OES_draw_buffers_indexed.blendEquationiOES(). Die WebGL-1-Version dieser Methode ist WebGLRenderingContext.blendEquationSeparate().
Syntax
blendEquationSeparateiOES(buf, modeRGB, modeAlpha)
Parameter
buf-
Eine Ganzzahl
i, die den mit der Konstantegl.DRAW_BUFFERiverknüpften Zeichenpuffer angibt. Siehe WebGL-Konstanten für Zeichenpuffer. modeRGB-
Ein
GLenum, der angibt, wie die RGB-Farbkomponenten von Quelle und Ziel kombiniert werden. Akzeptiert dieselben Enum-Werte wie der ParametermodeRGBinWebGLRenderingContext.blendEquationSeparate(). modeAlpha-
Ein
GLenum, der angibt, wie die Alpha-Komponenten von Quelle und Ziel kombiniert werden. Akzeptiert dieselben Enum-Werte wie der ParametermodeAlphainWebGLRenderingContext.blendEquationSeparate().
Rückgabewert
Keiner (undefined).
Ausnahmen
- Wenn
bufkein gültiger Wert ist, wird eingl.INVALID_VALUE-Fehler ausgelöst. - Wenn
modeRGBodermodeAlphanicht auf einen der möglichen Werte gesetzt ist, wird eingl.INVALID_ENUM-Fehler ausgelöst.
Beispiele
>Blending-Gleichungen festlegen und abfragen
Im Folgenden werden die Blending-Gleichungen für die Zeichenpuffer gl.DRAW_BUFFER0 (Aufruf mit buf gleich 0) und gl.DRAW_BUFFER1 (Aufruf mit buf gleich 1) festgelegt.
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 Blending-Gleichungen für gl.DRAW_BUFFER0 und gl.DRAW_BUFFER1 abzufragen, verwenden Sie WebGL2RenderingContext.getIndexedParameter() mit den Konstanten BLEND_EQUATION_RGB und BLEND_EQUATION_ALPHA:
// 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
| Spezifikation |
|---|
| WebGL OES_draw_buffers_indexed Extension Specification> |