Processing:Справочник языка Processing/frustum()
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
frustum() [1]
Обозначение
frustum()
Описание
Задает матрицу перспективы.
Слово «frustum» переводится как «пирамида с усеченным конусом». В результате «глаз» пользователя находится как бы в верхней части этой пирамиды (т.е. в месте, где у нее усечен конус) и смотрит внутрь нее, а шесть граней пирамиды выступают плоскостями для 3D-сцены, которую нужно отрендерить. В результате все, что будет находиться в пределах этих 6 граней, будет видимо и отрендерено, а все, что за их пределами – видимо не будет.
Метод frustrum() позволяет менять перспективу в отрендериваемой сцене. Впрочем, в большинстве случаев ее легче поменять при помощи метода perspective().
Имейте в виду, что значение near должно быть выше нуля (потому что ближняя плоскость пирамиды не может находиться за «глазом» пользователя). Аналогично значение far должно быть больше значения near (потому что дальняя – т.е. far – плоскость должна находиться дальше от «глаза» пользователя, чем ближняя – т.е. near – плоскость).
Метод frustum() работает аналогично методу glFrustum() в OpenGL, но за исключением того, что он удаляет текущую матрицу перспективы, а не умножает себя на нее.
Синтаксис
frustum(left, right, bottom, top, near, far)
Параметры
left – координата для левой грани пирамиды. Тип данных – float
right – координата для правой грани пирамиды. Тип данных – float
bottom – координата для нижней грани пирамиды. Тип данных – float
top – координата для верхней грани пирамиды. Тип данных – float
near – координата для ближней грани пирамиды (должна быть больше «0»). Тип данных – float
far – координата для дальней грани пирамиды (должна быть больше, чем значение в параметре near). Тип данных – float
Возвращаемое значение
void
Пример
size(100, 100, P3D);
noFill();
background(204);
frustum(-10, 0, 0, 10, 10, 200);
rotateY(PI/6);
box(45);
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |