WebGL2RenderingContext: bufferData() Methode
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
* Some parts of this feature may have varying levels of support.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGL2RenderingContext.bufferData() Methode der WebGL API erstellt und initialisiert den Datenspeicher des Pufferobjekts.
Syntax
bufferData(target, size, usage)
bufferData(target, srcData, usage)
bufferData(target, srcData, usage, srcOffset)
bufferData(target, srcData, usage, srcOffset, length)
Parameter
target-
Ein
GLenum, das den Bindungspunkt (Ziel) angibt. Mögliche Werte:gl.ARRAY_BUFFER-
Puffer, der Vertex-Attribute enthält, wie z. B. Vertexkoordinaten, Texturkoordinatendaten oder Vertexfarbdaten.
gl.ELEMENT_ARRAY_BUFFER-
Puffer, der für Elementindizes verwendet wird.
gl.COPY_READ_BUFFER-
Puffer zum Kopieren von einem Pufferobjekt auf ein anderes.
gl.COPY_WRITE_BUFFER-
Puffer zum Kopieren von einem Pufferobjekt auf ein anderes.
gl.TRANSFORM_FEEDBACK_BUFFER-
Puffer für Transform-Feedback-Operationen.
gl.UNIFORM_BUFFER-
Puffer zum Speichern von Uniform-Blöcken.
gl.PIXEL_PACK_BUFFER-
Puffer für Pixelübertragungsoperationen.
gl.PIXEL_UNPACK_BUFFER-
Puffer für Pixelübertragungsoperationen.
sizeOptional-
Ein
GLsizeiptr, der die Größe des Datenspeichers des Pufferobjekts in Bytes festlegt. Eines vonsizeundsrcDatamuss angegeben werden. srcDataOptional-
Ein
TypedArrayoder einDataView, das einArrayBufferoderSharedArrayBufferansieht, das in den Datenspeicher kopiert wird. Wennnull, wird trotzdem ein Datenspeicher erstellt, dessen Inhalt jedoch nicht initialisiert und undefiniert ist. Eines vonsizeundsrcDatamuss angegeben werden. usage-
Ein
GLenum, das für die beabsichtigte Nutzungsmuster des Datenspeichers zur Optimierung angegeben wird. Mögliche Werte:gl.STATIC_DRAW-
Der Inhalt soll einmal von der Anwendung spezifiziert werden und wird mehrmals als Quelle für WebGL-Zeichen- und Bildspezifikationsbefehle verwendet.
gl.DYNAMIC_DRAW-
Der Inhalt soll von der Anwendung wiederholt neu spezifiziert und oft als Quelle für WebGL-Zeichen- und Bildspezifikationsbefehle verwendet werden.
gl.STREAM_DRAW-
Der Inhalt soll einmal von der Anwendung spezifiziert und höchstens ein paar Mal als Quelle für WebGL-Zeichen- und Bildspezifikationsbefehle verwendet werden.
gl.STATIC_READ-
Der Inhalt soll einmal durch das Lesen von Daten aus WebGL spezifiziert und von der Anwendung öfter abgefragt werden.
gl.DYNAMIC_READ-
Der Inhalt soll durch wiederholtes Lesen von Daten aus WebGL neu spezifiziert und oft von der Anwendung abgefragt werden.
gl.STREAM_READ-
Der Inhalt soll einmal durch das Lesen von Daten aus WebGL spezifiziert und höchstens ein paar Mal von der Anwendung abgefragt werden.
gl.STATIC_COPY-
Der Inhalt soll einmal durch das Lesen von Daten aus WebGL spezifiziert und oft als Quelle für WebGL-Zeichen- und Bildspezifikationsbefehle verwendet werden.
gl.DYNAMIC_COPY-
Der Inhalt soll durch wiederholtes Lesen von Daten aus WebGL neu spezifiziert und oft als Quelle für WebGL-Zeichen- und Bildspezifikationsbefehle verwendet werden.
gl.STREAM_COPY-
Der Inhalt soll einmal durch das Lesen von Daten aus WebGL spezifiziert und höchstens ein paar Mal als Quelle für WebGL-Zeichen- und Bildspezifikationsbefehle verwendet werden.
srcOffsetOptional-
Ein
GLuint, der den Elementindex-Offset angibt, ab dem der Puffer gelesen werden soll. Nur erlaubt, wennsrcDatabereitgestellt wird. lengthOptional-
Ein
GLuint, standardmäßig 0. Nur erlaubt, wennsrcOffsetangegeben ist.
Rückgabewert
Keiner (undefined).
Ausnahmen
- Ein
gl.OUT_OF_MEMORY-Fehler wird ausgelöst, wenn der Kontext nicht in der Lage ist, einen Datenspeicher mit der angegebenensizezu erstellen. - Ein
gl.INVALID_VALUE-Fehler wird ausgelöst, wennsizenegativ ist. - Ein
gl.INVALID_ENUM-Fehler wird ausgelöst, wenntargetoderusagenicht einer der erlaubten Enums sind.
Spezifikationen
| Specification |
|---|
| WebGL Specification> # 5.14.5> |
Browser-Kompatibilität
Loading…