Frustum

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

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

Конструктор

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

p0 — (необязательно) по умолчанию используется новый Plane.
p1 — (необязательно) по умолчанию используется новый Plane.
p2 — (необязательно) по умолчанию используется новый Plane.
p3 — (необязательно) по умолчанию используется новый Plane.
p4 — (необязательно) по умолчанию используется новый Plane.
p5 — (необязательно) по умолчанию используется новый Plane.

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

Свойства

.planes : Array

Массив из 6 planes.

Методы

.clone() → Frustum

Возвращает новый Frustum с теми же параметрами, что и этот.

.containsPoint(point : Vector3) → Boolean

point - Vector3 для проверки.

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

.copy(frustum : Frustum) → Frustum

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

Копирует свойства переданного frustum в этот.

.intersectsBox(box : Box3) → Boolean

box - Box3 для проверки пересечения.

Возвращает true, если box пересекается с этим фрустом.

.intersectsObject(object : Object3D) → Boolean

Проверяет, пересекает ли фрустум ограничительная сфера bounding sphere объекта object.

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

.intersectsSphere(sphere : Sphere) → Boolean

sphere - Sphere для проверки пересечения.

Возвращает true, если sphere пересекается с этим фрустом.

.intersectsSprite(sprite : Sprite) → Boolean

Проверяет, пересекает ли sprite фрустум.

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

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

.setFromProjectionMatrix(matrix : Matrix4) → this

matrix — Проекция Matrix4 используемая для установки planes

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

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

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