GLBufferAttribute

Этот класс не создает буфер VBO. Вместо этого он использует VBO, который передается в конструкторе и может быть изменен с помощью свойства buffer.

Вместе с VBO необходимо передать дополнительные параметры. К ним относятся: контекст GL, тип данных GL, количество компонентов на вершину, количество байт на компонент и количество вершин.

Наиболее распространенный случай использования этого класса — реализация GPGPU-вычислений.

Конструктор

GLBufferAttribute(buffer : WebGLBuffer, type : GLenum, itemSize : Integer, elementSize : Integer, count : Integer)

buffer
Должен быть экземпляром WebGLBuffer.
type
Одна из констант WebGL Data Types.
itemSize
Количество значений массива, которые должны быть связаны с конкретной вершиной. Например, если этот атрибут хранит трехкомпонентный вектор (такой как позиция, нормаль или цвет), то itemSize должен быть равен 3.
elementSize
1, 2 или 4. Соответствующий размер (в байтах) для заданного параметра type.
count
Ожидаемое количество вершин в VBO.

Свойства

.buffer : WebGLBuffer

Текущий экземпляр WebGLBuffer.

.count : Integer

Ожидаемое количество вершин в VBO.

.itemSize : Integer

Сколько значений составляет каждый элемент (вершина).

.elementSize : Integer

Сохраняет соответствующий размер в байтах для текущего значения свойства type.

Список известных размеров типов смотрите выше (конструктор).

.type : GLenum

Тип данных WebGL Data Type описывающий базовое содержимое VBO.

Установите это свойство вместе с elementSize. Рекомендуемый способ — использовать метод setType.

.isGLBufferAttribute : Boolean

Только для чтения. Всегда true.

Методы

.setBuffer(buffer) → this

Устанавливает свойство buffer.

.setType(type, elementSize) → this

Устанавливает свойства type и elementSize.

.setItemSize(itemSize) → this

Устанавливает свойство itemSize.

.setCount(count) → this

Устанавливает свойство count.

.version : Integer

Номер версии, увеличивающийся каждый раз, когда свойство .needsUpdate установлено в true.

.needsUpdate : Boolean

По умолчанию false. Установка этого значения в true увеличивает version.

Исходный файл

О том как получить исходный код этого модуля читайте тут.