BufferGeometryUtils

Класс с утилитами для работы с экземплярами BufferGeometry.

Методы

.batchMeshes(meshObjs : Array, batchParent : Object3D)

Объединяет меши вместе. Эта техника используется для сокращения количества вызовов отрисовки WebGL, что способствует увеличению производительности.

Группировка производится среди мешей, для которых совпадают значения свойств:

.computeMorphedAttributes(object : Mesh | Line | Points) → Object

object — экземпляр Mesh, Line, Points.

Возвращает атрибуты (позицию и нормаль) с применённым морфингом/скиннингом и исходные. Возвращаемый объект содержит 4 свойства: positionAttribute, normalAttribute, morphedPositionAttribute и morphedNormalAttribute. Метод используется для трассировки лучей и рендеринга декалей.

.deepCloneAttribute(attribute : BufferAttribute) → BufferAttribute

attribute — экземпляр BufferAttribute для копирования в глубину.

Возвращает клон атрибута, полученного с использованием глубокого копирования.

.estimateBytesUsed(geometry : BufferGeometry) → Float

geometry — экземпляр BufferGeometry для анализа потребления памяти.

Возвращает количество байт, используемых всеми атрибутами в указанной геометрии.

.mergeBufferAttributes(attributes : Array) → BufferAttribute

attributes — массив экземпляров BufferAttribute.

Объединяет массив атрибутов в один атрибут. Все подданные атрибуты должны иметь одинаковые свойства и типы. Если объединение невозможно, метод возвращает null.

.mergeBufferGeometries(geometries : Array, useGroups : Boolean) → BufferGeometry

Объединяет массив геометрий в одну геометрию. Все подданные геометрии должны иметь одинаковые свойства и типы. Если объединение невозможно, метод возвращает null.

.mergeGroups(geometry : BufferGeometry) → BufferGeometry

geometry — экземпляр BufferGeometry для объединения групп.

Объединяет группы внутри данной геометрии.

.mergeVertices(geometry : BufferGeometry, tolerance : Float) → BufferGeometry

Возвращает новый BufferGeometry с объединёнными вертексами. Объединение вертексов происходит, если значения их атрибутов примерно одинаковы (в пределах указанной разницы).

.toCreasedNormals(geometry : BufferGeometry, creaseAngle : Float) → BufferGeometry

Создаёт новую неиндексированную геометрию со сглаженными нормалями. Сглаживание производится для всех граней, угол между которыми меньше указанного угла сгиба.

.toTrianglesDrawMode(geometry : BufferGeometry, drawMode : TrianglesDrawMode) → BufferGeometry

Возвращает новую индексированную геометрию с режимом отрисовки v3d.TrianglesDrawMode. Этот режим отрисовки соответствует WeBGL-примитивам типа gl.TRIANGLES.

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

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