Wheat (wheatson) wrote,
Wheat
wheatson

Categories:

1.1 Рендеринг: глобальное освещение

Перевел следующую часть статьи fxguide The State of Rendering - Part 1
для сайта http://3dyuriki.com

В области нефотореалистичного рендера, особенно в Японии, была проделана большая работа, но умами владеет рендер фотореалистичный. То есть — глобальное освещение, рассеяние, цветные рефлексы (color bleeding), пробники света с места съёмок, а также шейдеры и источники света, все более и более близкие к реальному миру.

Наиболее распространенные методы расчета глобального освещения — это распределенная трассировка лучей (distribution ray tracing), трассировка пути (path tracing) и точечное глобальное освещение (point-based GI). У каждого метода есть свои преимущества и ограничения, как в смысле технической реализации, так и в смысле сложности настройки с точки зрения художника по свету или технического директора.

Первым полнометражным фильмом, в котором было использовано глобальное освещение, был Шрек 2 (как упомянуто в недавней статье Multiresolution Radiosity Caching for Efficient Preview and Final Quality Global Illumination in Movies 2012; Per H. Christensen и др.) В PDI/DreamWorks было просчитано и сохранено в виде двумерных текстур прямое освещение, затем с использованием распределенной трассировки лучей было просчитано глобальное освещение для одного отскока (single-bounce GI).

Как указано в статье, использование 2D текстур требовало, чтоб разные поверхности в сцене были параметризованы (описывались формулами). «Это похоже на метод карт освещенности (Irradiance Map/Atlas, сокращенно - ирмапы), но там используются трехмерные brick maps, поэтому поверхности не нужно параметризовать. Оба метода используют два прохода: один для вычисления прямого освещения и его записи (в виде 2D или 3D текстурных карт), и еще один — для финального рендеринга.» Карты освещенности запекаются, а не просчитываются в каждом кадре, подчеркивает Сэм Эсседиен из Clarisse iFX. «Мерцание (flicker) низкочастотного шума при использовании ирмап — это самое неприятное.» Поэтому, лучше рендерить ирмапу за один проход для всей анимации и сохранить её. Так получается в целом более быстрый и более стабильный по времени рендеринг.

Трассировка пути (path tracing) - это разновидность трассировки лучей (ray tracing) и является физически корректным «честным» (unbiased) методом просчёта глобального освещения brute force. Brute force впервые использовался в фильмеMonster House от Sony Pictures Animation, где в качестве рендерера использовался  Arnold.

Преимущества трассировки пути (path tracing) в том, что для нее не требуются такие сложные шейдеры, как для приближенных (biased) методов или для «облака точек». Также обеспечивается быстрая обратная связь при интерактивной настройке освещения.

Общая проблема для всех трассировщиков пути — шум. В среднем для уменьшения шума вдвое требуется увеличить количество лучей в четыре раза. В математическом смысле честный трассировщик стремится к единственному решению при увеличении количества лучей. Другими словами, если лучей достаточно много, нам не нужно делать выборку и усреднять освещение — флуктуации стремятся к нулю, а решение стремится к корректному. Конечно, на практике невозможно просчитать бесконечное или даже просто огромное количество лучей, особенно учитывая нелинейную зависимость шума от количества лучей. Поэтому у нас есть только три выхода:


  • использовать другое изящное решение, вроде «brick maps», плюс, скажем, построчный (scanline) рендер либо частичную трассировку лучей;

  • написать действительно хитроумный код, который бы рендерил очень быстро, какие-нибудь «быстрые умные лучи»;

  • направлять большинство лучей туда, где они нужны больше всего, то есть научиться лучше выбирать направление для наших быстрых умных лучей.

В основе трассировки лучей лежит идея выборки, в которой случайные лучи (samples) генерируются в соответствии с функцией распределения вероятности. Но для получения глобального освещения надо думать также и о том, что есть еще лучи, зависящие от материалов (шейдер/BRDF и т. д.), нужно делать выборку и по ним, ведь предметы тоже работают источниками света и вносят свой вклад в освещение. Из опыта фотостудий мы знаем о настройке света с помощью отражателей (или софтбоксов), которые используются для красивого освещения каждого объекта сцены отраженным светом. Самый большой пример такого способа — световой купол (light dome), или то, что мы знаем как «освещение на основе изображения» (image based lighting, IBL). В этом случае на купол или сферу натянуто изображение, как правило HDR. Любая часть купола (или сферы) освещает каждый объект внутри него, поэтому, повторим, тщательность выборки для такого огромного источника света очень важна. В конце концов, мы же пытаемся воспроизвести реальное освещение во всей его сложности, когда каждая часть влияет на каждую.

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

Обязаны ли мы использовать трассировку, физические источники света и физические материалы? Вовсе нет!

Миллионы кадров анимации и визуальных эффектов произведены без всего этого. Но ситуация такова, что пусть не везде, но в мире VFX и анимации сегодня доминирует тенденция к использованию физически корректных методов.

Мы поговорим также и о решениях, не основанных на трассировке лучей, их достаточно много. Но сегодня в центре внимания — поиск вариантов рейтрейсинга, которые проще в настройке и не требуют космических бюджетов и объемов памяти.

Требования к памяти — один из самых больших недостатков рейтрейсинга. Но вот исторический факт: 25 лет назад Renderman победил ограничения, накладываемые объемом оперативной памяти, получив возможность рендерить что угодно с какой угодно сложностью. И сегодня он все так же содержит рендерер REYES scan line и ray hider (отсекатель лучей). RenderMan замечателен не только успешной историей, но и всеобщим признанием его научных основ с возможностью написать собственный рендерер. Этот подход хорош сегодня, и будет так же хорош в дальнейшем.

На истории позже мы немного остановимся, но и сегодня, когда есть Arnold, V-Ray, Maxwell, более новые программы вроде облачного Lagoa и GPU-ориентированного Octane, RenderMan является продуктом, который старается получать изображения трассировкой лучей еще аккуратней и еще быстрей в среде еще более конкурентной.

Насколько конкурентной? Со времени первого выпуска Art of Rendering («Искусство визуализации») прошло всего 18 месяцев, а ситуация изменилась разительно. Появились новые рендереры, и даже целые новые подходы. Мы увидели впечатляющие усовершенствования, смерть одних рендереров, рождение других, и совсем не похоже, чтоб процесс собирался останавливаться. Рендеринг — когда-то предсказуемое, понемногу эволюционирующее пространство — стал больше похож на панораму за окном сверхскоростного экспресса. Только для этой статьи мы взяли 20 интервью и будем рассказывать о 14 основных платформах, сосредоточившись на производственных рендерерах для кино и анимации, и это еще не касаясь движков для игровых рендереров, GPU рендереров и мобильных предложений. Рубрика Art of Rendering получила немало лестных отзывов, но многие выражали и недовольство. Перефразируя цитату из первой части: «рендеринг теперь — это что-то вроде религии».

Мультик Университет Монстров, рендерер RenderMan Пиксар

Tags: fxguide, render, state of rendering, дизайнеру на заметку, статья
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments