Buffer

Используется для хранения и подготовки данных для передачи в атрибуты шейдера

Constructor

new Buffer(data, optionsnullable)

Parameters:
Name Type Attributes Description
data TypedArray | ArrayBuffer

Данные для передачи в видеокарту

options BufferBindOptions <nullable>

Параметры передачи буфера в видеокарту, могут быть переопределены из BufferChannel

Members

byteLength :Number

Размер данных в буфере в байтах

drawType :Buffer.StaticDraw|Buffer.DynamicDraw

Указывает, как часто данные буфера будут изменяться.

type :Buffer.ArrayBuffer|Buffer.ElementArrayBuffer

Тип буфера. Буфер может использоваться для передачи массива данных, так и для передачи индексов элементов из данных.

Methods

bind(gl, locationnullable, optionsnullable)

Связывает данные с контекстом WebGL.

В случае Buffer.ArrayBuffer связывает с атрибутами шейдера. А в случае Buffer.ElementArrayBuffer связывает массив индексов.

Если используется первый раз, добавляет данные в контекст WebGL.

Parameters:
Name Type Attributes Description
gl WebGLRenderingContext
location Number <nullable>

Положение аттрибута для связывания данных с переменными в шейдере

options BufferBindOptions <nullable>

Параметры передаваемые в функцию vertexAttribPointer, если их нет, то используются параметры конкретного буфера. Параметры должны быть переданы все.

remove()

Удаляет данные из контекста WebGL.

subData(gl, index, data)

Заменяет часть буфера новыми данными и отправляет их в видеокарту

Parameters:
Name Type Description
gl WebGLRenderingContext
index Number

Индекс, с которого начать замену

data TypedArray

Новые данные