WebGLRenderingContext: bindFramebuffer()-Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGLRenderingContext.bindFramebuffer()
-Methode der
WebGL API bindet an das angegebene Ziel das bereitgestellte WebGLFramebuffer
. Ist das framebuffer
-Argument null, wird das Standard-WebGLFramebuffer
gebunden, das mit dem Canvas-Rendering-Kontext verknüpft ist.
Syntax
bindFramebuffer(target, framebuffer)
Parameter
target
-
Ein
GLenum
, das den Bindungspunkt (Ziel) angibt. Mögliche Werte:gl.FRAMEBUFFER
-
Sammlungspufferdaten für Farb-, Alpha-, Tiefen- und Stencil-Puffer, die sowohl als Ziel für das Zeichnen als auch als Quelle für das Lesen verwendet werden (siehe unten).
Bei Verwendung eines WebGL 2-Kontexts stehen zusätzlich folgende Werte zur Verfügung:
gl.DRAW_FRAMEBUFFER
-
Wird als Ziel für Zeichenoperationen wie
gl.draw*
,gl.clear*
undgl.blitFramebuffer
verwendet. gl.READ_FRAMEBUFFER
-
Wird als Quelle für Leseoperationen wie
gl.readPixels
undgl.blitFramebuffer
verwendet.
framebuffer
-
Ein
WebGLFramebuffer
-Objekt, das gebunden werden soll, odernull
für die Bindung desHTMLCanvasElement
oderOffscreenCanvas
-Objekts, das mit dem Rendering-Kontext verknüpft ist.
Rückgabewert
Keiner (undefined
).
Ausnahmen
Ein gl.INVALID_ENUM
-Fehler wird ausgelöst, wenn target
nicht
gl.FRAMEBUFFER
, gl.DRAW_FRAMEBUFFER
oder
gl.READ_FRAMEBUFFER
ist.
Beispiele
Ein Framebuffer binden
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
Aktuelle Bindungen abrufen
Um die aktuelle Framebuffer-Bindung zu überprüfen, fragen Sie die FRAMEBUFFER_BINDING
-Konstante ab.
gl.getParameter(gl.FRAMEBUFFER_BINDING);
Spezifikationen
Specification |
---|
WebGL Specification # 5.14.6 |
WebGL 2.0 Specification # 3.7.1 |