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

Die WebGLRenderingContext.bindBuffer() Methode der WebGL API bindet ein gegebenes WebGLBuffer an ein Ziel.

Syntax

js
bindBuffer(target, buffer)

Parameter

target

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

gl.ARRAY_BUFFER

Buffer, der Vertex-Attribute enthält, wie z.B. Vertex-Koordinaten, Texturkoordinatendaten oder Vertex-Farbwerte.

gl.ELEMENT_ARRAY_BUFFER

Buffer, der für Elementindizes verwendet wird.

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

gl.COPY_READ_BUFFER

Buffer zum Kopieren von einem Pufferobjekt in ein anderes.

gl.COPY_WRITE_BUFFER

Buffer zum Kopieren von einem Pufferobjekt in ein anderes.

gl.TRANSFORM_FEEDBACK_BUFFER

Buffer für Transform-Feedback-Operationen.

gl.UNIFORM_BUFFER

Buffer zur Speicherung von Uniformblöcken.

gl.PIXEL_PACK_BUFFER

Buffer für Pixeltransfers.

gl.PIXEL_UNPACK_BUFFER

Buffer für Pixeltransfers.

buffer

Ein WebGLBuffer zum Binden.

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, löst einen INVALID_OPERATION Fehler aus, und die aktuelle Pufferbindung bleibt unverändert.

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

Beispiele

Binden eines Buffers an ein Ziel

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, können Sie die Konstanten ARRAY_BUFFER_BINDING und ELEMENT_ARRAY_BUFFER_BINDING abfragen.

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

BCD tables only load in the browser

Siehe auch