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