Helion Bestsellery

Cyberbezpieczeństwo w małych sieciach. Praktyczny przewodnik dla umiarkowanych paranoików
  • Autor: Seth Enoka
  • Zniżka: 35%
  • Cena: 67.00 43.55 zł
  • Marka: Helion
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328904286
  • ISBN: 978-83-289-0428-6
Dodaj Cyberbezpieczeństwo w małych sieciach. Praktyczny przewodnik dla umiarkowanych paranoików do koszyka

Helion Książka Dnia

Algorytmy w Pythonie. Techniki programowania dla praktyków
  • Autor: Piotr Wróblewski
  • Zniżka: 50%
  • Cena: 119.00 59.50 zł
  • Marka: Helion
  • Status: Dostępna
  • Typ: Książka
  • EAN: 9788328393684
  • ISBN: 978-83-283-9368-4
Dodaj Algorytmy w Pythonie. Techniki programowania dla praktyków do koszyka

bufferData()

[ Leksykon ] [ JavaScript ] [ Metody ] [ canvas ] [ WebGL ]

WebGLRenderingContext.bufferData()

[_] [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
bufferData(target, usage)
bufferData(target, size, usage)
bufferData(target, srcData, usage)

// WebGL2
bufferData(target, usage, srcOffset)
bufferData(target, srcData, usage, srcOffset)
bufferData(target, srcData, usage, srcOffset, length)

 

Przykłady: 

 // Tworzymy bufor dla współrzędnych tekstury
const teksturadBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, teksturadBuffer);

// Umieszczamy wspórzedne dla tektury w buforze
const teksturaP = [
0, 0,
0, 1,
1, 0,
1, 0,
0, 1,
1, 1,
];

gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(teksturaP), gl.STATIC_DRAW);

  

gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);

 

gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE);
gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE);

 

const daneArray = new Float32Array([0, 1, 2, 3, 4, 5, 6, 7]);
const sizeInBytes = daneArray.length * daneArray.BYTES_PER_ELEMENT;

 

Opis:
Metoda WebGLRenderingContext.bufferData() inicjuje i tworzy składnicę 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 size - Ustawienie GLsizeiptr rozmiaru w bajtach magazynu danych obiektu buforowego.

Parametr srcData - Opcjonalny ArrayBuffer, SharedArrayBuffer, TypedArray lub DataView, które zostaną skopiowane do magazynu danych. Jeśli null magazyn danych jest nadal tworzony, ale zawartość jest niezainicjowana i niezdefiniowana.

Parametr usage - GLenum określenie zamierzonego wzorca wykorzystania magazynu danych w celach optymalizacji. Możliwa wartość:

gl.STATIC_DRAW - Zawartość ma być określona jednorazowo przez aplikację i wielokrotnie wykorzystywana jako źródło poleceń rysunkowych i specyfikacji obrazu WebGL.
gl.DYNAMIC_DRAW - Zawartość ma być wielokrotnie ponownie określana przez aplikację i wielokrotnie wykorzystywana jako źródło poleceń rysowania i specyfikacji obrazu WebGL.
gl.STREAM_DRAW - Zawartość ma być określona jednorazowo przez aplikację i użyta najwyżej kilka razy jako źródło poleceń rysowania i specyfikacji obrazu WebGL.

W przypadku korzystania z kontekstu WebGL 2 dostępne są dodatkowo następujące wartości:

gl.STATIC_READ - Zawartość ma być określona jednorazowo poprzez odczyt danych z WebGL i wielokrotna odpytywanie przez aplikację.
gl.DYNAMIC_READ - Treść ma być wielokrotnie określana poprzez odczytywanie danych z WebGL i wielokrotne sprawdzanie przez aplikację.
gl.STREAM_READ - Treść ma być określona jednorazowo poprzez odczyt danych z WebGL i najwyżej kilka razy odpytywana przez aplikację
gl.STATIC_COPY - Zawartość ma być określona jednorazowo poprzez odczyt danych z WebGL i wielokrotnie używana jako źródło poleceń rysowania i specyfikacji obrazu WebGL.
gl.DYNAMIC_COPY - Treść ma być wielokrotnie ponownie określana poprzez odczyt danych z WebGL i wielokrotnie wykorzystywana jako źródło poleceń rysowania i specyfikacji obrazu WebGL.
gl.STREAM_COPY - Zawartość ma być określona jednorazowo poprzez odczyt danych z WebGL i wykorzystana najwyżej kilka razy jako źródło poleceń rysowania i specyfikacji obrazu WebGL.

Parametr srcOffset - GLuint określenie przesunięcia indeksu elementu, od którego należy rozpocząć czytanie bufora.

Parametr length - Opcjonalny Domyślna wartość GLuint0.

Wartość zwracana undefined. Wyjątki gl.OUT_OF_MEMORY jeśli kontekst nie może utworzyć magazynu danych o podanym pliku, zgłaszany jest błąd size. Jeśli wartość jest ujemna gl.INVALID_VALUE, zgłaszany jest size błąd. Jeśli lub nie jest to jedno z dozwolonych wyliczeń, gl.INVALID_ENUM zgłaszany jest błąd .target usage. Aby sprawdzić aktualne wykorzystanie i wielkość bufora należy skorzystać z WebGLRenderingContext.getBufferParameter() metody.

Zobacz też:
ArrayBuffer - 
DataView - 
getBufferParameter() - 
gl.INVALID_ENUM - 
GLenum - 
GLsizeiptr - 
SharedArrayBuffer - 
TypedArray - 

 

Please publish modules in offcanvas position.