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, 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

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
bindBuffer

Legend

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

Full support
Full support

Siehe auch