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
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
, einDataView
oder einTypedArray
, 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, dassbufferSubData
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 wenndata
null
ist. - Ein
gl.INVALID_ENUM
-Fehler wird ausgelöst, wenntarget
nicht eines der erlaubten Enums ist.
Spezifikationen
Specification |
---|
WebGL Specification # 5.14.5 |
Browser-Kompatibilität
BCD tables only load in the browser