WebGLRenderingContext: framebufferTexture2D() 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.framebufferTexture2D()-Methode des WebGL API bindet eine Textur an ein WebGLFramebuffer.

Syntax

js
framebufferTexture2D(target, attachment, textarget, texture, level)

Parameter

target

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

gl.FRAMEBUFFER

Sammlung von Pufferdatenspeichern für Farb-, Alpha-, Tiefen- und Schablonenpuffer, die zum Rendern eines Bildes verwendet werden.

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

gl.DRAW_FRAMEBUFFER

Wird als Ziel für Zeichen-, Render-, Lösch- und Schreiboperationen verwendet.

gl.READ_FRAMEBUFFER

Wird als Quelle für Leseoperationen verwendet.

Beim Binden setzt gl.FRAMEBUFFER sowohl die Bindungspunkte gl.DRAW_FRAMEBUFFER als auch gl.READ_FRAMEBUFFER. Beim Referenzieren bezieht sich gl.FRAMEBUFFER auf die Bindung gl.DRAW_FRAMEBUFFER.

attachment

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

  • gl.COLOR_ATTACHMENT0: Befestigt die Textur am Farb-Puffer des Framebuffers.
  • gl.DEPTH_ATTACHMENT: Befestigt die Textur am Tiefen-Puffer des Framebuffers.
  • gl.STENCIL_ATTACHMENT: Befestigt die Textur am Schablonen-Puffer des Framebuffers.

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

  • gl.DEPTH_STENCIL_ATTACHMENT: Datenhaltung für Tiefen- und Schablonenpuffer.
  • gl.COLOR_ATTACHMENT1 gl.COLOR_ATTACHMENT2 ... 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_ATTACHMENT15_WEBGL

Bei Verwendung der WEBGL_depth_texture Erweiterung:

  • gl.DEPTH_STENCIL_ATTACHMENT: Datenhaltung für Tiefen- und Schablonenpuffer.
textarget

Ein GLenum, das das Texturziel spezifiziert. Mögliche Werte:

  • gl.TEXTURE_2D: Ein 2D-Bild.
  • 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.
texture

Ein WebGLTexture-Objekt, dessen Bild angehängt werden soll.

level

Ein GLint, der das Mipmap-Level des anzuhängenden Texturbildes angibt. Muss 0 sein.

Rückgabewert

Keine (undefined).

Ausnahmen

  • Ein gl.INVALID_ENUM Fehler wird geworfen, wenn

    • target nicht gl.FRAMEBUFFER ist.
    • attachment nicht einer der akzeptierten Anhangspunkte ist.
    • textarget nicht eines der akzeptierten Texturziele ist.
  • Ein gl.INVALID_VALUE Fehler wird geworfen, wenn level nicht 0 ist.

  • Ein gl.INVALID_OPERATION Fehler wird geworfen, wenn texture nicht 0 oder der Name eines existierenden Texturobjekts ist.

Beispiele

js
gl.framebufferTexture2D(
  gl.FRAMEBUFFER,
  gl.COLOR_ATTACHMENT0,
  gl.TEXTURE_2D,
  texture,
  0,
);

Spezifikationen

Specification
WebGL Specification
# 5.14.6

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
framebufferTexture2D

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch