Hydra Renderer поддерживает biased/unbiased рендер, что позволяет экономить время на этапе промежуточного просмотра ваших работ.

biased 5 minute unbiased 60 minute

5 минут, biased (слева)                                                           60 минут (справа), unbiased.

Тестовая конфигурация: 1024x1024, GTX680, 16 источников света, 2.7M треугольников

Что значит biased и unbiased?

Эти термины изначально произошли из области вычислительной математики, а именно, Монте-Карло интегрирования. Несмещенная оценка (unbiased) означает точность алгоритма в пределе, при очень большом числе итераций. Однако, именно это свойство в конечном итоге приводит ко многим часам ожидания качественного изображения, поскольку сходимость Монте-Карло пропорциональна корню из числа сэмплов (и соответственно времени рендера).

Алгоритмы, дающие смещенную оценку (biased), как правило, в десятки раз быстрее их несмещенных аналогов, однако их реализация значительно сложнее на GPU в силу усложненной природы взаимодействия потоков и разделения данных в таких алгоритмах

Biased, unbiased и consistent

В действительности, смещенность алгоритма еще не означает, что он считает освещение некорректно, и тем более не означает нарушения физической корректности расчета.

Более того, это даже не всегда означает, что при помощи такого алгоритма невозможно получить решение сколь угодно высокой точности. Например, алгоритм SPPM является смещенным (biased), но состоятельным (consistent). Состоятельность оценки означает сходимость по вероятности к точному решению, а не обычную, "сильную" сходимость. Посмотрите на последовательность изображений на рисунке. C течением времени качество изображения увеличивается, как и в несмещенных методах.

Быстрый Unbiased

Несмотря на то, что Hydra позиционируется как рендер-система со смещенным (biased) решением, она обладает прекрасной производительностью при unbiased рендере и достаточно простым интерфейсом. Вы можете начать работать с рендером практически сразу, без изучения деталей его работы. Просто оставьте настройки по умочанию!

Unbiased рендер, DOF.

Кэш освещености на GPU (Irradiance Cache)

Основная идея кэширования освещенности заключается в том, что вторичное освещение разделяется на две компоненты – низкочастотную (диффузную) и высокочастотную (отражающую). Низкочастотная компонента на изображении меняется плавно, поэтому ее можно вычислить каким-либо из методов лишь в очень небольшом числе точек, а в остальных интерполировать. Алгоритм построения кэша освещенности достаточно сложен, особенно при параллельной реализации. Только 2 рендер-системы в мире реализую алгоритм кэширования освещенности на GPU. Это Red Shift и Hydra Renderer. В Hydra Renderer вы можете использовать кэш освещенности, как для расчета вторичного освещения (Primary GI), так и в качестве карты светимости (Secondary GI).

Черные точки отображают позиции, в которых вычислялось освещение

Фильтрация освещения (ML Filter)

Кэш освещенности значительно ускоряет расчет вторичного освещения. Однако, он обладает определенными недостатками. Во-первых, кэш освещенности склонен давать хорошо заметные для глаза артефакты. Именно это, возможно, вас не устраивает в системе VRay. Во-вторых, кэш освещенности не может ускорить расчет прямого освещения, а в ряде случаев это тоже существенно (много источников, большой размер скай-порталов). Мы заметили, что фильтрация освещения в пространстве экрана дает гораздо более аккуратный результат, практически лишенный артефактов. Кроме того, такая фильтрация может применяться и для ускорения расчета прямого освещения, ускоряя суммарно расчет освещения до 10 раз. Изображение рассчитанное за 5 минут вверху страницы использует фильтрацию прямого (Direct Light) и вторичного (Primary GI) освещения.

Path Tracing (слева) и ML фильтр за то же время (cправа)

Path Tracing (слева) и ML фильтр за то же время (cправа)

Финальный Сбор (FG)

Словосочетанием 'Финальный Сбор' (Final Gathering, FG) называют способ ускорения расчета вторичного освещения, при котором сначала вычисляется грубое приближение светимости поверхностей (при момощи фотонных карт, лайт-кэша или карт светимости), и уже затем производится Монте-Карло трассировка с глубиной диффузных переотражений равной одному. Финальный сбор является хорошим способом ускорения расчета вторичного освещения на сценах с большим числом источников и сложным светопереносом. Этот способ используется во всех современных biased-системах (Mental Ray, VRay [Light Cache], Corona [HD Cache]). В Hydra Renderer финальный сбор может производиться напрямую из фотонной карты, кэша освещенности или карты светимости (последнее в разработке).

Иллюстрация работы финального сбора

Фотонная карта (слева) и результат финального сбора (справа)

1 миллион фотонов, 10 миллионов, финальный сбор

Когда и почему Финальный Сбор быстрее?

Для простых сцен, вроде Cornell Box он не быстрее, поскольку сбор фотонов все же достачно дорогостоящее занятие. Однако, скорость сбора не зависит от количества источников света в сцене. В сценах с большим числом источников света вычисление первичного освещения трассировкой лучей, как ни странно, может стать чрезвычайно дорогостоящим занятием. Происходит это потому что рендер в общем случае не знает какие источники видны из определенной точки, а какие нет. Поэтому он, тем или иным образом, должен учитывать все. Поэтому, если у Вас больше 10 источников, рекомендуется включать финальный сбор с сохранением фотонов на первом переотражении (галка Store Direct Light включена).

SPPM на GPU

Традиционные фотонные карты (например в VRay или MentalRay) ограничены в точности объемом памяти, требуемой для хранения всех фотонов. Алгоритм стохастических прогрессивных фотонных карт (Stochastic Progressive Photon Mapping, SPPM) позволяет обработать произвольное число фотонов, имея фиксированные объем памяти. Больше никаких ограничений на число фотонов! :)

SPPM - 1, 5 и 10 минут 1024x1024, GTX680