WebGLRenderingContext: getFramebufferAttachmentParameter() 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 Methode WebGLRenderingContext.getFramebufferAttachmentParameter() des WebGL-APIs liefert Informationen über den Anhang eines Framebuffers.

Syntax

js
getFramebufferAttachmentParameter(target, attachment, pname)

Parameter

target

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

gl.FRAMEBUFFER

Sammlung von Pufferdatenspeichern für Farb-, Alpha-, Tiefen- und Stencil-Buffer zur Bilddarstellung.

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 Zeichen-, Render-, Lösch- und Schreiboperationen verwendet.

gl.READ_FRAMEBUFFER

Wird als Quelle für Leseoperationen verwendet.

attachment

Ein GLenum, der den Anhangspunkt für die texture angibt. Mögliche Werte:

  • gl.COLOR_ATTACHMENT0: Texturanhang für den Farbpuffer des Framebuffers.
  • gl.DEPTH_ATTACHMENT: Texturanhang für den Tiefenpuffer des Framebuffers.
  • gl.STENCIL_ATTACHMENT: Texturanhang für den Stencil-Puffer des Framebuffers.
  • gl.DEPTH_STENCIL_ATTACHMENT: Texturanhang sowohl für den Tiefen- als auch den Stencil-Puffer.

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

  • gl.COLOR_ATTACHMENT1 gl.COLOR_ATTACHMENT2 gl.COLOR_ATTACHMENT3 gl.COLOR_ATTACHMENT4 gl.COLOR_ATTACHMENT5 gl.COLOR_ATTACHMENT6 gl.COLOR_ATTACHMENT7 gl.COLOR_ATTACHMENT8 gl.COLOR_ATTACHMENT9 gl.COLOR_ATTACHMENT10 gl.COLOR_ATTACHMENT11 gl.COLOR_ATTACHMENT12 gl.COLOR_ATTACHMENT13 gl.COLOR_ATTACHMENT14 gl.COLOR_ATTACHMENT15

Bei Verwendung der WEBGL_draw_buffers Erweiterung:

  • ext.COLOR_ATTACHMENT0_WEBGL (gleich wie gl.COLOR_ATTACHMENT0) ext.COLOR_ATTACHMENT1_WEBGL ext.COLOR_ATTACHMENT2_WEBGL ext.COLOR_ATTACHMENT3_WEBGL ext.COLOR_ATTACHMENT4_WEBGL ext.COLOR_ATTACHMENT5_WEBGL ext.COLOR_ATTACHMENT6_WEBGL ext.COLOR_ATTACHMENT7_WEBGL ext.COLOR_ATTACHMENT8_WEBGL ext.COLOR_ATTACHMENT9_WEBGL ext.COLOR_ATTACHMENT10_WEBGL ext.COLOR_ATTACHMENT11_WEBGL ext.COLOR_ATTACHMENT12_WEBGL ext.COLOR_ATTACHMENT13_WEBGL ext.COLOR_ATTACHMENT14_WEBGL ext.COLOR_ATTACHMENT15_WEBGL
pname

Ein GLenum, der die abzufragenden Informationen angibt. Mögliche Werte:

  • gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: Der Typ, der das angehängte Bild enthält.
  • gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: Die Textur oder der Renderbuffer des angehängten Bildes (WebGLRenderbuffer oder WebGLTexture).
  • gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: Mipmap-Stufe. Standardwert: 0.
  • gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: Der Name der Cube-Map-Seite der Textur.

Bei Verwendung der EXT_sRGB Erweiterung:

  • ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: Die Farbcodierung des Framebuffers.

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

  • gl.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
  • gl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE
  • gl.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_RED_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE
  • gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER

Bei Verwendung der OVR_multiview2 Erweiterung:

  • ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR: die Anzahl der Ansichten des Framebuffer-Objekt-Anhangs.
  • ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR: der Basisansichtsindex des Framebuffer-Objekt-Anhangs.

Rückgabewert

Hängt von den angeforderten Informationen ab (wie mit pname angegeben). Entweder ein GLint, ein GLenum, ein WebGLRenderbuffer oder eine WebGLTexture.

pname Parameter Rückgabewert
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE Ein [`GLenum`](/de/docs/Web/API/WebGL_API/Types), der den Typ der Textur angibt. Entweder gl.RENDERBUFFER, gl.TEXTURE, oder wenn kein Bild angehängt ist, gl.NONE.
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME Die Textur ([`WebGLTexture`](/de/docs/Web/API/WebGLTexture)) oder der Renderbuffer ([`WebGLRenderbuffer`](/de/docs/Web/API/WebGLRenderbuffer)) des angehängten Bildes.
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Mipmap-Stufe angibt. Standardwert: 0.
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE Ein [`GLenum`](/de/docs/Web/API/WebGL_API/Types), der den Namen der Cube-Map-Seite der Textur angibt. Mögliche Werte:
  • gl.TEXTURE_CUBE_MAP_POSITIVE_X: Bild für die positive X-Seite des Würfels.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Bild für die negative X-Seite des Würfels.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Bild für die positive Y-Seite des Würfels.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Bild für die negative Y-Seite des Würfels.
  • gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Bild für die positive Z-Seite des Würfels.
  • gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Bild für die negative Z-Seite des Würfels.
gl.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Anzahl der Bits in der Alphakomponente des Anhangs angibt.
gl.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Anzahl der Bits in der Blaukomponente des Anhangs angibt.
gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING Ein [`GLenum`](/de/docs/Web/API/WebGL_API/Types), der die Kodierung der Komponenten des angegebenen Anhangs angibt. Entweder gl.LINEAR oder gl.SRGB.
gl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE Ein [`GLenum`](/de/docs/Web/API/WebGL_API/Types), der das Format der Komponenten des angegebenen Anhangs angibt. Entweder gl.FLOAT, gl.INT, gl.UNSIGNED_INT, gl.SIGNED_NORMALIZED oder gl.UNSIGNED_NORMALIZED.
gl.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Anzahl der Bits in der Tiefenkomponente des Anhangs angibt.
gl.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Anzahl der Bits in der Grünkomponente des Anhangs angibt.
gl.FRAMEBUFFER_ATTACHMENT_RED_SIZE Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Anzahl der Bits in der Rotkomponente des Anhangs angibt.
gl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Anzahl der Bits in der Stencil-Komponente des Anhangs angibt.
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der die Nummer der Texturschicht angibt, welche das angehängte Bild enthält.
ext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT Ein [`GLenum`](/de/docs/Web/API/WebGL_API/Types), der die Framebuffer-Farbcodierung angibt. Entweder gl.LINEAR oder ext.SRGB_EXT.
ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR Ein [`GLsizei`](/de/docs/Web/API/WebGL_API/Types), der die Anzahl der Ansichten des Framebuffer-Objektanhangs angibt.
ext.FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR Ein [`GLint`](/de/docs/Web/API/WebGL_API/Types), der den Basisansichtsindex des Framebuffer-Objektanhangs angibt.

Ausnahmen

  • Ein gl.INVALID_ENUM Fehler wird ausgelöst, wenn target nicht gl.FRAMEBUFFER, gl.DRAW_FRAMEBUFFER, gl.READ_FRAMEBUFFER ist oder wenn attachment nicht zu den akzeptierten Anhangspunkten gehört.

Beispiele

js
gl.getFramebufferAttachmentParameter(
  gl.FRAMEBUFFER,
  gl.COLOR_ATTACHMENT0,
  gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
);

Spezifikationen

Specification
WebGL Specification
# 5.14.6
WebGL 2.0 Specification
# 3.7.4

Browser-Kompatibilität

Siehe auch