Baseline Widely available
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGLRenderingContext.bufferSubData()
-Methode der WebGL API aktualisiert einen Teil des Datenspeichers eines Pufferobjekts.
bufferSubData(target, offset)
bufferSubData(target, offset, srcData)
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 Elementindizes verwendet wird.
Bei Verwendung eines WebGL 2-Kontextes sind zusätzlich folgende 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 zum Speichern von Uniformblö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.
dstByteOffset
Ein GLintptr
, der einen Versatz in Bytes angibt, an dem der Datenaustausch beginnen soll.
srcData
Optional
Ein TypedArray
oder ein DataView
, das eine ArrayBuffer
oder eine SharedArrayBuffer
betrachtet, die in den Datenspeicher kopiert wird.
srcOffset
Ein GLuint
, der den Elementindex-Versatz angibt, ab welchem der Puffer gelesen werden soll.
length
Optional
Ein GLuint
, der standardmäÃig auf 0 gesetzt ist.
Keiner (undefined
).
gl.INVALID_VALUE
-Fehler wird ausgelöst, wenn die Daten über das Ende des Puffers hinaus geschrieben würden oder wenn data
null
ist.gl.INVALID_ENUM
-Fehler wird ausgelöst, wenn target
nicht eines der erlaubten Enums ist.bufferSubData
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
const data = new Float32Array([1, 2, 3, 4]);
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
gl.bufferSubData(gl.ARRAY_BUFFER, 512, data);
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4