WebGLRenderingContext: checkFramebufferStatus() 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.checkFramebufferStatus() Methode der WebGL API gibt den Vollständigkeitsstatus des WebGLFramebuffer-Objekts zurück.

Syntax

js
checkFramebufferStatus(target)

Parameter

target

Ein GLenum, das den Bindungspunkt (target) spezifiziert. Mögliche Werte:

gl.FRAMEBUFFER

Sammlung von Puffer-Datenspeichern für Farb-, Alpha-, Tiefen- und Stencil-Puffer, die zum Rendern eines Bildes verwendet werden.

Bei Verwendung eines WebGL 2 Context stehen zusätzlich folgende Werte zur Verfügung:

gl.DRAW_FRAMEBUFFER

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

gl.READ_FRAMEBUFFER

Wird als Quelle für Leseoperationen verwendet.

Rückgabewert

Ein GLenum, das den Vollständigkeitsstatus des Framebuffers anzeigt, oder 0 falls ein Fehler auftritt. Mögliche Enum-Rückgabewerte:

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

  • gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT: Die Anhangstypen stimmen nicht überein oder nicht alle Framebuffer-Anhangspunkte sind Framebuffer-Anhang vollständig.

  • 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 der gleiche Renderbuffer sind.

  • Bei Verwendung eines WebGL 2 Context können zusätzlich folgende Werte zurückgegeben werden:

    • gl.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: Die Werte von gl.RENDERBUFFER_SAMPLES sind unterschiedlich zwischen den angehängten Renderbuffers oder sind ungleich null, wenn die angehängten Bilder eine Mischung aus Renderbuffers und Texturen sind.
  • Bei Verwendung der OVR_multiview2 Erweiterung kann zusätzlich folgender Wert 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

Siehe auch