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

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


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


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

Processing directionalLight 0.png


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

№2

Processing directionalLight 1.png


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

См.также

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