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

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


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


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


ambientLight() [1]

Обозначение

ambientLight()

Описание

Добавляет окружающее освещение. Это тип освещения, который не исходит из какого-либо определенного источника – его лучи как бы «прыгают» по всей сцене, в результате чего объекты равномерно освещаются со всех сторон. Окружающее освещение почти всегда используется в сочетании с другими типами освещения.

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

Синтаксис

ambientLight(v1, v2, v3)
ambientLight(v1, v2, v3, x, y, z)

Параметры

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

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

void

Пример

№1

Processing ambientLight 0.png


size(100, 100, P3D);
background(0);
noStroke();
// по умолчанию сферы окрашены в белый,
// но окружающее освещение меняет их цвет:
ambientLight(51, 102, 126);
translate(20, 50, 0);
sphere(30);
translate(60, 0, 0);
sphere(30);

№2

Processing ambientLight 1.png


size(100, 100, P3D);
background(0);
noStroke();
directionalLight(126, 126, 126, 0, 0, -1);
ambientLight(102, 102, 102);
translate(32, 50, 0);
rotateY(PI/5);
box(40);
translate(60, 0, 0);
sphere(30);

См.также

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