WebGLRenderingContext: bindBuffer()-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.bindBuffer()-Methode der WebGL API bindet ein gegebenes WebGLBuffer an ein Ziel.

Syntax

js
bindBuffer(target, buffer)

Parameter

target

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

gl.ARRAY_BUFFER

Puffer, der Vertex-Attribute enthält, wie z.B. Vertex-Koordinaten, Texturkoordinatendaten oder Vertex-Farbendaten.

gl.ELEMENT_ARRAY_BUFFER

Puffer, der für Element-Indizes verwendet wird.

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

gl.COPY_READ_BUFFER

Puffer zum Kopieren von einem Pufferobjekt zu einem anderen.

gl.COPY_WRITE_BUFFER

Puffer zum Kopieren von einem Pufferobjekt zu einem anderen.

gl.TRANSFORM_FEEDBACK_BUFFER

Puffer für Transform-Feedback-Operationen.

gl.UNIFORM_BUFFER

Puffer, der für das Speichern von Uniform-Blöcken verwendet wird.

gl.PIXEL_PACK_BUFFER

Puffer, der für Pixeltransfer-Operationen verwendet wird.

gl.PIXEL_UNPACK_BUFFER

Puffer, der für Pixeltransfer-Operationen verwendet wird.

buffer

Ein WebGLBuffer, der gebunden werden soll.

Rückgabewert

Keiner (undefined).

Ausnahmen

Nur ein Ziel kann an ein gegebenes WebGLBuffer gebunden werden. Ein Versuch, den Puffer an ein anderes Ziel zu binden, führt zu einem INVALID_OPERATION Fehler und die aktuelle Pufferbindung bleibt unverändert.

Ein WebGLBuffer, das zur Löschung mit deleteBuffer markiert wurde, kann nicht (erneut) gebunden werden. Ein Versuch, dies zu tun, erzeugt einen INVALID_OPERATION Fehler, und die aktuelle Bindung bleibt unberührt.

Beispiele

Einen Puffer an ein Ziel binden

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();

gl.bindBuffer(gl.ARRAY_BUFFER, buffer);

Aktuelle Bindungen abrufen

Um die aktuellen Pufferbindungen zu überprüfen, fragen Sie die Konstanten ARRAY_BUFFER_BINDING und ELEMENT_ARRAY_BUFFER_BINDING ab.

js
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);

Spezifikationen

Specification
WebGL Specification
# 5.14.5
WebGL 2.0 Specification
# 3.7.1

Browser-Kompatibilität

Siehe auch