WebGL2RenderingContext: bufferSubData() 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.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

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 (Ziel) angibt. Mögliche Werte:

gl.ARRAY_BUFFER

Puffer, der Scheitelpunktattribute enthält, wie z.B. Scheitelpunktkoordinaten, Texturkoordinatendaten oder Scheitelpunktfarbdaten.

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

gl.UNIFORM_BUFFER

Puffer, der zur Speicherung von Uniform-Blöcken verwendet wird.

gl.PIXEL_PACK_BUFFER

Puffer, der für Pixelübertragungsoperationen verwendet wird.

gl.PIXEL_UNPACK_BUFFER

Puffer, der für Pixelübertragungsoperationen verwendet wird.

dstByteOffset

Ein GLintptr, der einen Versatz in Bytes angibt, ab dem der Datenaustausch beginnen soll.

srcData Optional

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

srcOffset Optional

Ein GLuint, der den Elementindex-Versatz angibt, ab dem das Lesen des Puffers beginnt.

length Optional

Ein GLuint, der standardmäßig 0 ist, 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 hinaus geschrieben würden oder wenn data null ist.
  • Ein gl.INVALID_ENUM-Fehler wird ausgelöst, wenn target nicht eines der erlaubten Enums ist.

Spezifikationen

Specification
WebGL Specification
# 5.14.5

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch