WebGL2RenderingContext: Methode bufferSubData()

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.bufferSubData()-Methode der WebGL-API aktualisiert einen Teil des Datenspeichers eines Pufferobjekts.

Syntax

js
bufferSubData(target, dstByteOffset, srcData)
bufferSubData(target, dstByteOffset, srcData, srcOffset)
bufferSubData(target, dstByteOffset, srcData, srcOffset, length)

Parameter

target

Ein GLenum, der den Bindungspunkt (target) angibt. Mögliche Werte:

gl.ARRAY_BUFFER

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

gl.ELEMENT_ARRAY_BUFFER

Puffer, der für Elementindizes verwendet wird.

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 Transformations-Feedback-Operationen.

gl.UNIFORM_BUFFER

Puffer zur Speicherung von Uniform-Blöcken.

gl.PIXEL_PACK_BUFFER

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

gl.PIXEL_UNPACK_BUFFER

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

dstByteOffset

Ein GLintptr, der einen Offset in Bytes angibt, ab dem der Datenaustausch beginnt.

srcData Optional

Ein TypedArray oder ein DataView, das ein ArrayBuffer oder SharedArrayBuffer darstellt und in den Datenspeicher kopiert wird.

srcOffset Optional

Ein GLuint, der den Element-Index-Offset angibt, ab dem das Lesen des Puffers beginnt.

length Optional

Ein GLuint, standardmäßig 0, wobei 0 bedeutet, dass bufferSubData die Länge berechnen soll.

Rückgabewert

Keiner (undefined).

Ausnahmen

  • Ein gl.INVALID_VALUE-Fehler wird ausgelöst, wenn die Daten über das Ende des Puffers geschrieben würden oder wenn data null ist.
  • Ein gl.INVALID_ENUM-Fehler wird ausgelöst, wenn target nicht einer der erlaubten Enums ist.

Spezifikationen

Specification
WebGL Specification
# 5.14.5

Browser-Kompatibilität

Siehe auch