Baseline Widely available *
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die WebGL2RenderingContext.getBufferSubData()
-Methode der WebGL 2 API liest Daten von einem Pufferbindungspunkt und schreibt sie in einen ArrayBuffer
oder SharedArrayBuffer
.
getBufferSubData(target, srcByteOffset, dstData)
getBufferSubData(target, srcByteOffset, dstData, dstOffset)
getBufferSubData(target, srcByteOffset, dstData, dstOffset, length)
Parameter
target
Ein GLenum
, das den Bindungspunkt (Ziel) spezifiziert. Mögliche Werte:
gl.ARRAY_BUFFER
Puffer, der Scheitelpunktattribute enthält, wie zum Beispiel 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 zum Speichern von Uniformblöcken.
gl.PIXEL_PACK_BUFFER
Puffer, der für Pixeltransferoperationen verwendet wird.
gl.PIXEL_UNPACK_BUFFER
Puffer, der für Pixeltransferoperationen verwendet wird.
srcByteOffset
Ein GLintptr
, das den Byteversatz angibt, von dem aus mit dem Lesen aus dem Puffer begonnen wird.
dstData
Ein TypedArray
oder ein DataView
-Objekt, in das die Daten kopiert werden. Wenn dstData
ein DataView
ist, werden dstOffset
und length
in Bytes interpretiert, ansonsten wird der Elementtyp von dstData
verwendet.
dstOffset
Optional
Ein GLuint
, der den Elementindex-Versatz angibt, an dem begonnen wird, in dstData
zu schreiben.
length
Optional
Ein GLuint
, der die Anzahl der zu kopierenden Elemente angibt. Wenn dieser Wert 0 ist oder nicht angegeben wird, kopiert getBufferSubData
bis zum Ende von dstData
.
Keiner (undefined
).
Ein INVALID_VALUE
-Fehler wird generiert, wenn:
offset
+ returnedData.byteLength
über das Ende des Puffers hinausgehen würdereturnedData
null
istoffset
kleiner als null ist.Ein INVALID_OPERATION
-Fehler wird generiert, wenn:
target
gebunden isttarget
TRANSFORM_FEEDBACK_BUFFER
ist und ein Transform-Feedback-Objekt derzeit aktiv ist.const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
const arrBuffer = new ArrayBuffer(
vertices.length * Float32Array.BYTES_PER_ELEMENT,
);
gl.getBufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array(arrBuffer));
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