Processing:Справочник языка Processing/directionalLight()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


directionalLight() [1]

Обозначение

directionalLight()

Описание

Добавляет направленное освещение (то есть освещение, которое идет из одного направления). Оно ярче, если падает на поверхность перпендикулярно, и тусклее, если падает на него под острым углом. Упав на поверхность, свет рассеивается по всем направлениям.

Метод освещения необходимо ставить внутри draw() – чтобы он постоянно присутствовал в цикле программы. Если поместить свет в setup() зацикленной программы, он будет действовать только в течение первой итерации цикла. Параметры v1, v2 и v3 интерпретируются либо как значения RGB, либо как значения HSB – в зависимости от текущего цветового режима. Параметры nx, ny и nz задают направление, в котором будет идти свет. К примеру, если указать в параметре ny значение -1, то объекты будут подсвечены снизу (потому что освещение будет идти снизу вверх).

Синтаксис

directionalLight(v1, v2, v3, nx, ny, nz)

Параметры

v1 – красный цвет или цветовой тон (зависит от текущего цветового режима). Тип данных – float
v2 – зеленый свет или насыщенность (зависит от текущего цветового режима). Тип данных – float
v3 – синий цвет или яркость (зависит от текущего цветового режима). Тип данных – float
nx – направление света по оси X. Тип данных – float
ny – направление света по оси Y. Тип данных – float
nz – направление света по оси Z. Тип данных – float

Возвращаемое значение

void

Пример

№1


size(100, 100, P3D);
background(0);
noStroke();
directionalLight(51, 102, 126, -1, 0, 0);
translate(20, 50, 0);
sphere(30);

№2


size(100, 100, P3D);
background(0);
noStroke();
directionalLight(51, 102, 126, 0, -1, 0);
translate(80, 50, 0);
sphere(30);

См.также

Внешние ссылки