WebGLRenderingContext: Methode checkFramebufferStatus()

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: Dieses Feature ist verfügbar in Web Workers.

Die WebGLRenderingContext.checkFramebufferStatus()-Methode der WebGL API gibt den Komplettheitsstatus des WebGLFramebuffer-Objekts zurück.

Syntax

js
checkFramebufferStatus(target)

Parameter

target

Ein GLenum, der den Bindungspunkt (Ziel) angibt. Mögliche Werte:

gl.FRAMEBUFFER

Sammlung von Pufferdatenspeichern für Farb-, Alpha-, Tiefen- und Stencil-Puffer, die verwendet werden, um ein Bild darzustellen.

Bei Verwendung eines WebGL 2-Kontexts sind zusätzlich die folgenden Werte verfügbar:

gl.DRAW_FRAMEBUFFER

Entspricht gl.FRAMEBUFFER. Wird als Ziel für Zeichnungs-, Render-, Lösch- und Schreiboperationen verwendet.

gl.READ_FRAMEBUFFER

Wird als Quelle für Lesevorgänge verwendet.

Rückgabewert

Ein GLenum, der den Komplettheitsstatus des Framebuffers angibt, oder 0, wenn ein Fehler auftritt. Mögliche Rückgabewerte des Enums:

  • gl.FRAMEBUFFER_COMPLETE: Der Framebuffer ist bereit zur Anzeige.

  • gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT: Die Anhangstypen sind nicht übereinstimmend oder nicht alle Framebuffer-Anhangspunkte sind Framebuffer-Anhangs-komplett.

  • gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: Es gibt keinen Anhang.

  • gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS: Höhe und Breite des Anhangs sind nicht gleich.

  • gl.FRAMEBUFFER_UNSUPPORTED: Das Format des Anhangs wird nicht unterstützt oder wenn Tiefen- und Stencil-Anhänge nicht derselbe Renderbuffer sind.

  • Bei Verwendung eines WebGL 2-Kontexts können zusätzlich die folgenden Werte zurückgegeben werden:

    • gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: Die Werte von gl.RENDERBUFFER_SAMPLES sind zwischen den angehängten Renderbuffern unterschiedlich oder sind ungleich null, wenn die angehängten Bilder eine Mischung aus Renderbuffern und Texturen sind.
  • Bei Verwendung der OVR_multiview2-Erweiterung kann der folgende Wert zusätzlich zurückgegeben werden:

    • ext.FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR: Wenn baseViewIndex nicht für alle Framebuffer-Anhangspunkte gleich ist, bei denen der Wert von FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE nicht NONE ist, wird der Framebuffer als unvollständig betrachtet.

Beispiele

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const framebuffer = gl.createFramebuffer();

// …

gl.checkFramebufferStatus(gl.FRAMEBUFFER);

Spezifikationen

Specification
WebGL Specification
# 5.14.6
WebGL 2.0 Specification
# 3.7.4

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch