Всем привет! Представляем Вашему вниманию очередную порцию материала из цикла «3d визуализация сегодня» от Майка Сеймура. Речь пойдет о трассировки лучей и точечных решениях в глобальном освещении.

Содержание:

Введение: выбор средств визуализации
1. Актуальные вопросы
1.1 Глобальное освещение
1.2 Трассировка лучей против точечных решений
1.2.1 Физически правдоподобное освещение и затенение
1.2.2 Выборка по значимости и множественная выборка по значимости (MIS)
1.3 Освещение, основанное на изображении
1.3.1 Опыт Pixar, полученный при создании «Университета монстров» и инструмент Splat
1.3.2 Опыт, полученный при создании фильма «Великий Гэтсби»
1.3.3 Опыт сотрудников компании ILM
1.4 Интерактивность
1.5 Визуализация с использованием графического процессора (GPU)
1.6 Рендер-фермы и облачная визуализация
1.7 Открытый исходный код
1.7.1. Формат данных OpenEXR 2

Трассировка лучей – это лишь один из подходов к глобальному освещению (GI), и его главный конкурент – «точка» на основе глобального освещения. На самом деле эти понятия сбивают с толка, так как, собственно говоря, не обязательно использовать решения только с трассировкой лучей, которые по-прежнему включают в себя некоторое удаление лучей. Но сейчас давайте рассмотрим «трассировку лучей» как полностью объективную трассировку лучей или трассировку пути.

Прежде, чем обсуждать трассировки лучей важно понять, как точка образует основу для работы над глобальным освещением, так как многие решения в реальном мире используют сочетание результатов. Например, последней особенностью в мультфильме «Университет Монстров» от Pixar является то, что фильм перешел, в первую очередь, на трассировку лучей и основан на физическом освещении и тенях, но все же для под-поверхностного рассеивания (SSS) в нем используются решения, основанные на точке (хотя это будет не справедливо по отношению к следующей особенности Pixar). SSS смягчает направление света под кожей, особенно рассеивает длинные волны красного света и производит восковой вид кожи вместо плоского вида пластмассы. SSS не новинка, и имеет ключевое значение в анимации персонажей. Джо Леттери (старший руководитель по визуальным эффектам Weta Digital) широко использовал его в первоначальных фильмах «Властелин Колец» и это было ключом к оригинальному новаторскому внешнему виду Голлума. Очень дорого и сложно будет достичь хорошего SSS при помощи Brute-Force метода трассировки лучей. Однако очень достижимо с помощью решения, основанного на точке. Точка – это основа глобального освещения, она сама по себе является относительно новым и быстрым методом. Плюс, в отличие трассировки лучей, она приводит к результатам без шумов. “Впервые она была использована на съемках фильма «Пираты Карибского моря 2» и «Прибой», и с тех пор более чем в 40 других художественных фильмах” (Х. Кристенсен, 2012 год).

Точка – основа глобального освещения – это метод с множеством проходов:

• На первом проходе, облако точек формируется из непосредственно освещенных микрополигонов;
• На втором проходе, вычисляется N-1 отскок глобального освещения (GI) для облака точек (2-й проход может быть пропущен, если необходим только один отскок)
• На третьем проходе, отраженное освещение из облака точек вычисляется и визуализируется.

Метод, основанный на точке, не подходит для дизайна с интерактивным освещением из-за его мультипроходного характера. Последнюю версию этого подхода от Pixar описал в своей статье Х. Кристенсен в 2012 году. Она основана на хранении значений radiosity пост-затенения (post-shading) из сетки вершин микрополигонов. За счет кэширования radiosity, команда Pixar захватила и повторно использовали как прямое, так и вторичное освещение и уменьшили количество шейдеров. Их подход затенения всех точек в сетке, а не затенения отдельных точек, был пригоден для стиля REYES, выполнения SIMD шейдеров (другими словами, без трассировки лучей). Авторы отметили, что их метод был похож на подход Грега Варда к кэш-освещению, Грег Вард был настоящим пионером во многих областях radiosity и HDR.

161804_140613На момент начала работ над мультфильмом «Университет монстров», Pixar планировал использовать решения с неполной трассировкой лучей. Проблема заключалась в том, что трассировка лучей глобального освещения (GI) в производстве «Университета монстров» привела бы к сценам  с огромной геометрией и сложными шейдерами. Команда из Pixar увидела слабое место не в «сыром» просчете трассировки лучей, а во времени просчета:

• смещения;
• источников света;
• поверхности шейдеров в точках отскока луча.
Примечание: оценка времени шейдеров включает в себя поиск карт текстур, процедуру генерации текстуры, расчет тени, BRDF оценки, настройки шейдерного блока и оформление системных издержек, вызов внешних плагинов и др.

Точечное решение означало «мы сократим на сей раз время, выделив независимый компонент шейдеров — radiosity — необходимый для глобального освещения и его кэширования. Во время распределения трассировки лучей глобальное освещение этих radiosity вычисляется по требованию и используется многократно. В качестве побочного продукта кэширования результатов этого затенения, уменьшается количество теневых лучей».

Излучение (кэширование radiosity) реализуется в Pixar фотореалистичным визуализатором RenderMan, который поддерживает как прогрессивные трассировки лучей, так и визуализацию микрополигонами в стиле REYES. Кэш содержит несколько размеров radiosity для разных поверхностей в сцене.

“В результате один метод прохода глобального освещения является быстрым и достаточно гибким, чтобы быть использованным в производство фильмов, как для интерактивного материала, так и для светового оформления и для окончательной визуализации. Кэширование radiosity дает ускорение от 3 до 12 раз для простых сцен и более чем в 30 раз для производства сложных сцен”, как цитирует газета 2012 года.

Так зачем пытаться идти по пути трассировки лучей? Если другие хитроумные методы способны производить результаты на несколько порядков быстрее, то почему бы полностью не изучить метод трассировки лучей и не сделать все, чтобы трассировка лучей была как можно быстрее? Что еще интереснее, так это то, что даже для собственного мультфильма «Университет монстров» Pixar использовал точечное решение только на SSS (с помощью метода, который используется ныне – решение (или версия) знаменитого диполя Дженсена, с моделями SSS-рассеивания — посмотрите на заданную точку интеграла на поверхности продукта рассеивания ядра и излучения (случайное освещение) на поверхности).

Почему Pixar полностью приблизился к трассировке лучей при работе над «Университетом монстров»?
Об этом, уважаемые читатели, вы узнаете в продолжении этой статьи.