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

js
blendEquationSeparateiOES(buf, modeRGB, modeAlpha)

Parameter

buf

Ein ganzzahliger Wert i, der den Zeichenpuffer angibt, der mit der Konstante gl.DRAW_BUFFERi assoziiert ist, siehe WebGL-Zeichenpufferkonstanten.

modeRGB

Ein GLenum, der angibt, wie Quell- und Ziel-RGB-Farbkomponenten kombiniert werden. Akzeptiert dieselben Enums wie der modeRGB-Parameter in WebGLRenderingContext.blendEquationSeparate().

modeAlpha

Ein GLenum, der angibt, wie Quell- und Ziel-Alpha-Farbkomponenten kombiniert werden. Akzeptiert dieselben Enums wie der modeAlpha-Parameter in WebGLRenderingContext.blendEquationSeparate().

Rückgabewert

Keiner (undefined).

Ausnahmen

  • Wenn buf kein gültiger Wert ist, wird ein gl.INVALID_VALUE-Fehler ausgelöst.
  • Wenn modeRGB oder modeAlpha nicht auf einen der möglichen Werte gesetzt sind, wird ein gl.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).

js
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:

js
// 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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
blendEquationSeparateiOES

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch