Indigo Renderer — базовый урок

Indigo использует MLT (Metropolis Light Transport) on top of backwards or bidirectional path tracing вместо традиционного raytracing.
Все взаимодействие света смоделированы физически (как спектральные данные), и у Indigo есть замечательные возможности, которые сделают вашу жизнь легче: виртуальная модель камеры, физическое небо, mesh-объекты в качестве источников света, и т. д.

Технология на основе которой сделан Indigo может сравниться с Maxwell Render (NextLimit’s),Fryrender, YafRay, LuxRender.

Indigo, до версии 2.0, свободно распространялся для коммерческого и некоммерческого использования, впоследствии став платным.

Начнем с пустой сцены в 3ds Max, и создадим несколько простых боксов, как на рисунке:

alt

Прежде чем рендерить, назначим Indigo в качестве активного рендерера в диалоге Render Setup (горячая клавиша: F10).
Чтобы отрендерить сцену, нам нужен как минимум 1 источник света, который предоставляет 3ds Max по умолчанию, если мы его не создавали.
Если сейчас нажать на кнопку render, получим вот такую картинку:

alt

Как видно, картинка слегка «пережжена». Чтобы исправить это, нам нужно изменить параметры tone-mapping, которые находятся в диалоге Render Setup в секции «Advanced»:

alt

Если установить параметр Burn на 10 (снижает контрастность) и параметр Pre scale на 1 (снижает общую яркость) как показано выше, мы получим гораздо лучший результат:

alt

Следующим шагом создадим свой источник света, отличающийся от стандартного. ИС в Indigo должны иметь конечные размеры, т.е. они не могут быть точечными (point) или направленными (directional lights); так что мы создадим наименьшую возможную поверхность, обычную плоскость.
Теперь нам нужен материал для этого объекта, чтобы определить параметры свечения. Откроем окно Material Editor, и изменим тип первого материала на Indigo Material:

alt

Как только мы это сделаем – увидим настройки материала Indigo. Отредактируем их следующим образом для нашего ИС: выключим albedo (т.е. наш ИС не должен отражать другой свет) и установим «белый » цвет свечения:

alt

Если теперь отрендерить нашу сцену, мы увидим, что новый ИС заменил стандартное освещение и воздействует на сцену:

alt

Теперь создадим глянцевый материал для пола, чтобы показать вам тип Phong material. В редакторе материалов перейдем на следующий слот и снова применим к нему Indigo Material. Поднимем параметр IOR (чтобы придать ему более «полированный» вид) и снизим glossiness.

alt

Эффект glossy от такого материала лучше всего наблюдать на «скользящих» углах к объекту, поэтому мы создадим камеру и опустим ее к полу. Отрендерив, получим следующий результат:

alt

У нас заметно поднялся уровень «шума» (или зернистости) на картинке из-за более сложного рассеяния света.
Следующий важный тип материала — Specular, который имитирует прекрасные отражения и преломления света, получаемые Френелевскими уравнениями и позволяющие создавать реалистичное стекло, воду и т.д.

Этот тип материала несколько более сложный в использовании, т.к. объекты с материалом типа Specular должны быть закрытыми и иметь свою среду (скорее всего, имелось в виду, что они должны быть замкнутыми, т.к. иметь толщину). Для более подробной информации смотрите топик physically-correct glass modelling.
Создадим новый материал в третьей ячейке и назначим ему тип Specular. Убедимся, что glossiness установлена на 1.0, что означает, что она не «шероховатая» (т.е. поверхность гладкая). Установим цвет прозрачности на зеленый, который придаст цвет нашему стеклу:

alt

Чтобы лучше проиллюстрировать особенности этого материала, будем использовать более сложный объект для него — чайник:

alt

У нас снова поднялся уровень шума из-за более сложного пути прохождения света через объект. Т.к. Indigo — строго физически корректный рендерер, то ему сложно рендерить такие сцены «чистыми» (без шума) за короткое время, используя обычный sampling mode. Поэтому, в таких ситуациях помогает и ускоряет время просчета MLT sampling mode:

alt

Как видно, результат не идеальный, но за то же время просчета мы получили более качественную каустику и много меньше ярких точек на изображении.
На этом наш урок будет закончен.