[ Leksykon ] [ JavaScript ] [ Metody ] [ canvas ] [ WebGL ]
WebGLRenderingContext.bufferSubData()
[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
// WebGL1
bufferSubData(target, offset)
bufferSubData(target, offset, srcData)
// WebGL2
bufferSubData(target, dstByteOffset, srcOffset)
bufferSubData(target, dstByteOffset, srcData, srcOffset)
bufferSubData(target, dstByteOffset, srcData, srcOffset, length)
Przykłady:
if(document.getElementById('lista').selectedIndex == 1)
{
gl.bufferSubData(gl.ARRAY_BUFFER, 0, new Float32Array(teksturaKod))
}
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
gl.bufferSubData(gl.ARRAY_BUFFER, 512, data);
Opis:
Metoda WebGLRenderingContext.bufferSubData() aktualizuje podzbiór magazynu danych obiektu buforowego. Zastępowanie części lub całości magazynu danych dla określonego obiektu bufora. Dane rozpoczynające się od przesunięcia bajtu offset i rozszerzające się o size bajty są kopiowane do magazynu danych z pamięci wskazywanej przez data. offset i size musi definiować zakres leżący całkowicie w magazynie danych obiektu buforowego.
Parametr target - GLenum określenie punktu wiązania celu. Możliwa wartość:
gl.ARRAY_BUFFER - Bufor zawierający atrybuty wierzchołków, takie jak współrzędne wierzchołków, dane współrzędnych tekstury lub dane koloru wierzchołków.
gl.ELEMENT_ARRAY_BUFFER - Bufor używany dla indeksów elementów.
W przypadku korzystania z kontekstu WebGL 2 dostępne są dodatkowo następujące wartości:
gl.COPY_READ_BUFFER - Bufor do kopiowania z jednego obiektu bufora do drugiego.
gl.COPY_WRITE_BUFFER - Bufor do kopiowania z jednego obiektu bufora do drugiego.
gl.TRANSFORM_FEEDBACK_BUFFER - Bufor do operacji sprzężenia zwrotnego transformacji.
gl.UNIFORM_BUFFER - Bufor służący do przechowywania jednolitych bloków.
gl.PIXEL_PACK_BUFFER - Bufor używany do operacji przesyłania pikseli.
gl.PIXEL_UNPACK_BUFFER - Bufor używany do operacji przesyłania pikseli.
Parametr dstByteOffset - GLintptr określające przesunięcie w bajtach, od którego rozpocznie się wymiana danych.
Parametr srcData - Opcjonalny ArrayBuffer, SharedArrayBuffer, DataView lub TypedArray które zostaną skopiowane do magazynu danych.
Parametr srcOffset - GLuint określenie przesunięcia indeksu elementu, od którego należy rozpocząć czytanie bufora.
Parametr length - Opcjonalny domyślna wartość GLuint 0.
Wartość zwracana undefined. Wyjątki gl.INVALID_VALUE jeśli dane zostaną zapisane poza końcem bufora lub jeśli data jest, zgłaszany jest błąd null. Jeśli nie jest to jedno z dozwolonych wyliczeń, gl.INVALID_ENUM zgłaszany jest błąd .target.
Zobacz też:
gl.INVALID_ENUM -
gl.INVALID_VALUE -