Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
blendEquationSeparateiOES(buf, modeRGB, modeAlpha)

Parameter

buf

Eine Ganzzahl i, die den mit der Konstante gl.DRAW_BUFFERi verknü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 Parameter modeRGB in WebGLRenderingContext.blendEquationSeparate().

modeAlpha

Ein GLenum, der angibt, wie die Alpha-Komponenten von Quelle und Ziel kombiniert werden. Akzeptiert dieselben Enum-Werte wie der Parameter modeAlpha 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 ist, wird ein gl.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.

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

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

Spezifikation
WebGL OES_draw_buffers_indexed Extension Specification

Browser-Kompatibilität

Siehe auch