Frustum - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать Frustum в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

# Frustum

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

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

## Конструктор

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

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

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

## Свойства

### # .planes : Array

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

## Методы

### # .clone() → Frustum

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

### # .containsPoint(point : Vector3) → Boolean

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

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

### # .copy(frustum : Frustum) → Frustum

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

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

### # .intersectsBox(box : Box3) → Boolean

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

Возвращает `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 — матрица проекции, используемая для установки плоскостей.

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

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

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