Frustum

Усечённые пирамиды видимости («фрустумы») используются для определения того, что находится в поле зрения камеры. Они помогают ускорить процесс рендеринга - объекты, находящиеся за пределами пирамиды видимости камеры, могут быть исключены из рендеринга.

Этот класс в основном предназначен для внутреннего использования рендерером для вычисления пирамиды видимости камеры или теневой камеры.

Конструктор

Frustum(p0 : Plane, p1 : Plane, p2 : Plane, p3 : Plane, p4 : Plane, p5 : Plane)

Создает новый Frustum.

Свойства

.planes : Array

Массив из 6 плоскостей.

Методы

.clone() → Frustum

Возвращает новую пирамиду видимости с теми же параметрами, что и текущая.

.containsPoint(point : Vector3) → Boolean

pointVector3 для проверки.

Проверяет, содержит ли пирамида видимости точку point.

.copy(frustum : Frustum) → Frustum

frustum — пирамида видимости для копирования.

Копирует свойства указанной пирамиды видимости в текущую.

.intersectsBox(box : Box3) → Boolean

boxBox3 для проверки пересечения.

Возвращает true, если box пересекается с данной пирамидой видимости.

.intersectsObject(object : Object3D) → Boolean

Проверяет, пересекает ли пирамиду видимости ограничивающая сфера объекта.

Обратите внимание, что объект должен иметь геометрию, чтобы можно было рассчитать ограничительную сферу.

.intersectsSphere(sphere : Sphere) → Boolean

sphereсфера для проверки пересечения.

Возвращает true, если сфера пересекается с данной пирамидой видимости.

.intersectsSprite(sprite : Sprite) → Boolean

Проверяет, пересекает ли спрайт текущую пирамиду видимости.

.set(p0 : Plane, p1 : Plane, p2 : Plane, p3 : Plane, p4 : Plane, p5 : Plane) → this

Устанавливает пирамиду видимости из переданных плоскостей. Порядок следования плоскостей не подразумевается. Обратите внимание, что этот метод копирует значения из заданных объектов.

.setFromProjectionMatrix(matrix : Matrix4) → this

matrixматрица проекции, используемая для установки плоскостей.

Устанавливает плоскости пирамиды видимости из матрицы проекции.

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

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