Этот класс хранит данные для атрибутов (таких как позиции вершин, индексы граней, нормали, цвета, UVs и любые пользовательские атрибуты), связанных с BufferGeometry, что позволяет более эффективно передавать данные на GPU. Подробности и пример использования см. на этой странице.
Данные хранятся в виде векторов любой длины (определяется itemSize), и в общем случае в описанных ниже методах при передаче индекса он автоматически умножается на длину вектора.
array — Должен быть TypedArray. Используется для инстанцирования буфера.
Этот массив должен иметь
itemSize * numVertices
элементов, где numVertices - количество вершин в ассоциированной BufferGeometry.
itemSize — количество значений массива, которые должны быть связаны с конкретной вершиной. Например, если этот атрибут хранит трехкомпонентный вектор (такой как позиция, нормаль или цвет), то itemSize должен быть равен 3.
normalized — (необязательно) Применяется только к целочисленным данным. Указывает, как базовые данные в буфере отображаются на значения в коде GLSL. Например, если array является экземпляром UInt16Array, и normalized равно true, значения 0 - +65535 в данных массива будут отображены на 0.0f - +1.0f в атрибуте GLSL. Массив Int16Array (подписанный) будет отображать значения -32767 - +32767 на -1.0f - +1.0f. Если normalized равно false, значения будут преобразованы в плавающие без изменений, т.е. 32767 станет 32767.0f.
Массив array, содержащий данные, хранящиеся в буфере.
Сохраняет длину массива array, разделенную на itemSize.
Если в буфере хранится трехкомпонентный вектор (такой как позиция, нормаль или цвет), то подсчитывается количество таких векторов.
Длина векторов, которые хранятся в массиве array.
Необязательное имя для данного экземпляра атрибута. По умолчанию это пустая строка.
Флаг, указывающий на то, что данный атрибут изменился и должен быть повторно отправлен на GPU. Установите это значение в true при изменении значения массива.
Установка этого значения в true также увеличивает версию BufferAttribute.version.
Указывает, как базовые данные в буфере отображаются на значения в коде шейдера GLSL. Подробности см. в конструкторе выше.
Функция обратного вызова, которая выполняется после того, как рендерер передал данные массива атрибутов на GPU.
Объект, содержащий:
offset: По умолчанию 0. Позиция, с которой следует начать обновление.
count: По умолчанию -1, что означает не использовать диапазоны обновления.
Это можно использовать для обновления только некоторых компонентов хранимых векторов (например, только компонента, связанного с цветом).
Определяет предполагаемую схему использования хранилища данных в целях оптимизации. Соответствует параметру usage в WebGLRenderingContext.bufferData(). По умолчанию v3d.StaticDrawUsage.
Номер версии, увеличивающийся каждый раз, когда свойство needsUpdate установлено в true.
Применяет матрицу m к каждому элементу Vector3 данного BufferAttribute.
Применяет матрицу m к каждому элементу Vector3 данного BufferAttribute.
Применяет нормальную матрицу m к каждому элементу Vector3 данного BufferAttribute.
Применяет матрицу m к каждому элементу Vector3 этого BufferAttribute, интерпретируя элементы как векторы направления.
Возвращает копию этого bufferAttribute.
Копирует другой BufferAttribute в этот BufferAttribute.
Скопируйте заданный здесь массив (который может быть обычным массивом или TypedArray) в array.
Смотрите TypedArray.set
для заметок о требованиях при копировании TypedArray.
Скопируйте вектор из bufferAttribute[index2] в array[index1]..
Скопируйте массив, представляющий значения цветов RGB, в array.
Скопируйте массив, представляющий Vector2s, в массив array.
Скопируйте массив, представляющий Vector3s, в массив array.
Скопируйте массив, представляющий Vector4s, в массив array.
Возвращает x-компоненту вектора по заданному индексу.
Возвращает компонент y вектора по заданному индексу.
Возвращает z-компоненту вектора по заданному индексу.
Возвращает w-компоненту вектора по заданному индексу.
Устанавливает значение свойства onUploadCallback.
value — Array или TypedArray, из которого копируются значения.
offset — (необязательно) индекс массива array, с которого следует начать копирование.
Вызывает TypedArray.set(value, offset)
на массиве array.
В частности, смотрите на этой странице требования к тому, чтобы value был TypedArray.
Установите usage usage в значение.
Устанавливает x-компонент вектора по заданному индексу.
Устанавливает компонент y вектора по заданному индексу.
Устанавливает компонент z вектора по заданному индексу.
Устанавливает w-компоненту вектора по заданному индексу.
Устанавливает x и y компоненты вектора по заданному индексу.
Устанавливает x, y и z компоненты вектора по заданному индексу.
Устанавливает x, y, z и w компоненты вектора по заданному индексу.
О том как получить исходный код этого модуля читайте тут.