Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3dsmax2009intro.pdf
Скачиваний:
151
Добавлен:
05.06.2015
Размер:
4.48 Mб
Скачать

Замечание. Справедливости надо заметить, что начиная с версии 3.6, в mental ray встроены новые алгоритмы расчета глобального освещения, получившие назваение “импортоны” (importons) и “частицы света” (light particles). Пока они недоступны из основного интерфейса 3ds Max, но вы можете до них добраться, используя шейдеры ctrl_Ghost Settings Макса Тарпини. Если вас заинтерисовал данный метод расчета глобального освещения, посетите страницу http://forums.cgsociety.org/showthread.php?f=87&t=621727

Каустика

Термином каустика (caustics) принято называть частный случай интерференции световых волн, а именно усиление яркости в местах наложения волн. Пример такого эффекта — яркое пятно от собирающей линзы и "солнечный зайчик" внутри металлического кольца (рис. 1.56). Хотя этот эффект можно получить при помощи любого приведенного выше алгоритма, в основном используется метод трассировки фотонов как наиболее быстрый. И в mental ray, и в Vray, и в большинстве других рендереров расчет этого эффекта отделен от глобального освещения, так как для его получения используются упрощенные алгоритмы. Эффект каустики может быть получен от зеркальной (рефлективная каустика) или полупрозрачной (рефрактивная каустика) поверхности. В обоих случаях используется прямолинейная фотонная трассировка с учетом коэффициента преломления для рефрактивной каустики.

Рис. 1.56. Примеры каустики

Антиалиасинг

Отдельно нужно сказать о процессе, получившем название "антиалиасинг" (Antialiasing) или Image Sampling, или Supersampling, что, с небольшими нюансами, является синонимом первому.

Смысл данного процесса проиллюстрирован на рис. 1.57. Так как окончательная картинка строится из пикселей, имеющих фиксированный размер, рендеринг без антиалиасинга приводит к ступенчатой картинке. В принципе, при очень больших размерах выходной картинки этим можно пренебречь, но даже при размере изображения A4 и 300 ppi ступеньки хорошо видны. Можно воспользоваться старым испытанным способом

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

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 46

Рис. 1.57. Принцип антиалиасинга

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

Рис. 1.58. Различные алгоритмы антиалиасинга

Рендеринг без антиалиасинга (рис. 1.58, а) — здесь все просто, из камеры испускается один луч по центру пиксела. Какой "цвет" на пути оказался — такой и запишется в окончательный пиксел.

Фиксированный антиалиасинг (рис. 1.58, б) — в каждый пиксел испускается не один, а несколько (в данном случае пять) лучей, возвращаемое значение которых усредняется. Этот метод позволяет получать самый точный результат, но при этом лучей должно быть очень много (около 20-ти), что сказывается на времени рендеринга не в лучшую сторону. Этот метод, как правило, самый медленный за исключением особых случаев, например, при большом количестве мелких деталей, мелкого бампа (имитации шероховатости, bump) и т. д. этот метод может быть быстрее адаптивных, так как не затрачивается время на вычисление условий.

Адаптивный антиалиасинг (рис. 1.58, в) — в пиксел изначально испускается несколько лучей, в данном случае 4 (помечены цифрой 1). В том случае, если разность между результатами меньше установленного порога, то значение усредняется и происходит переход к следующему пикселу. Если между какими-либо лучами разница превышает порог, то запускается процесс дополнительного уточнения (лучи 2 и 3), и так до тех пор, пока не будет выполнено условие, заданное порогом, либо не будет достигнута максимальная глубина вложенности.

Адаптивный антиалиасинг хорошо работает на локальных сценах, так как при равномерном фоне и небольших по контрастности переходах большая часть картинки просчитывается очень быстро. Кроме того, адаптивный антиалиасинг позволяет для быстрого пробного расчета использовать загрубленные настройки, или Undеrsampling. При этом процессе сравнение с пороговым значением выполняется не в каждом пикселе, а через несколько пикселей.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 47

А вот на сложных сценах с большим количеством мелких деталей, например, когда создается текстура с мелким (соизмеримым с пикселом окончательного изображения) шумом, адаптивный антиалиасинг может проигрывать фиксированному по скорости, так как приходится в каждом пикселе уходить на самый глубокий уровень вложенности, при этом постоянно делая проверку условий.

Стохастический антиалиасинг (рис. 1.58, г) — в пределах пиксела (или даже нескольких прилежащих пикселов) испускаются лучи в случайном направлении. Процесс заканчивается тогда, когда разница между результатом усреднения с учетом каждого нового луча и предыдущего расчета меньше порогового значения, или когда достигнуто максимальное значение лучей. Этот метод дает наилучшее соотношение качество/время на сценах с большим количеством мелких деталей.

Два первых метода реализованы и в mental ray, и в VRay. Третий метод специфичен для VRay.

Коррекция гаммы

Обычный монитор на основе ЭЛТ является нелинейным устройством, т.е. линейный градиент от черного к белому передает нелинейно. В первом приближении эта зависимость может быть описана простым уравнением Cout = (Cin)G , где G – это и есть значение гаммы данного монитора. В результате линейный градиент кажется сдвинутым в темную область. Чтобы скомпенсировать этот эффект, используется процесс коррекции гаммы (рис 1.59, а). В этом случае входящий сигнал компенсируется значением, полученным по формуле Cout = (Cin)1/G , т.е. проводится гамма-коррекция. В результате линейный градиент на мониторе отображается линейно.

Использование гамма-коррекции упрощает настойку освещения и позволяет отображать результат рендеринга одинаково на различных мониторах или других устройствах.

В 3ds Max глобальные настройки гаммы сосредоточены в специальном диалоговом окне (рис 1.59, б)

Главное меню Customize Preferences Gamma and LUT

Включите использование настроек гаммы.

Чтобы иметь возможность видеть корректный результат в редакторе материалов и диалоговом окне выбора цвета, установите соответствующие флажки (Affect Material Editor и Affect Color Selector).

Гамма входящих текстур корректируется и уравнивается со значением гаммы, чтобы избежать осветления текстур, так в большинстве случаев текстуры поступают из Adobe Photoshop с вариантом профиля sRGB, что близко к гамме 2.2. Если это не так, то есть возможность провести локальную гамма-коррекцию для конкретной текстуры в диалоговом окне загрузки.

При рендеринге в обычный формат (линейный 8 или 16 бит на канал, например, TGA или TIFF) гамма выходящих изображений так же уравнивается со значением Gamma.

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

Такие настройки справедливы для стандартного модуля рендеринга и mental ray. Для VRay есть некоторые нюансы, которые будут обсуждаться в соответствующем разделе.

Зачастую используются фиксированные значения Gamma, независимо от того, что отображается на мониторе. Например, для вывода на видео используется значение 2.2, а для того, чтобы получить изображение, похожее на фотографию – 1.8.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 48

Рис 1.59. Принцип гамма-коррекции (а) и настройка гаммы в 3ds Max(б).

Преобразование цвета (Color Mapping)

Прежде чем рассматривать процесс преобразования цвета (Color Mapping, Tone Mapping), приведем аналогию из реального мира, из фотографии. Вы можете не знать всех тонкостей фотографии, но, мы думаем, если вы имеете хотя бы минимальный опыт, вы знаете основной принцип – не снимать против солнца. При такой съемке, особенно портретной, вы или получите прорисованный передний план и яркий, почти или совсем, белый, фон, или черный контур на фоне прекрасного солнечного пейзажа.

Все дело в том, и пленка, и цифровая матрица обладает ограниченным динамическим дипазоном, не дающим записать весь диапазон освещенности реального мира. Приходится подбирать экспозицию и жертвовать чемто менее важным, или использовать дополнительные источники света, например, вспышку, даже в солнечный день. Либо использовать технологию создания изображения в формате HDR (High Dynamics Range, изображение широкого динамического диапазона) и перевести его в LDR (LOW Dynamics Range, изображение узкого динамического диапазона) в “спокойной обстановке”.

Аналогичная сиуация имеет место быть и при рендеринге, который проводится в режиме HDR, а точнее, в формате с плавающей точкой. При переводе в обычный линейный формат 8 или 16 бит н а канал все, что не попадает в диапазон от 0 до 1, отсекается (рис 1.60).

Простейший способ обойти эту проблему – настроить источники света так, чтобы результат не превышал единицу. Но это не всегда приемлемо. Иногда нужно оперировать реальными источниками света, например, для того, чтобы получить реальную картину распределения света в интерьере при смешанном (наружном дневном и искусственном) освещении. В этом случае применяется Tone Mapping или Color Mapping – преобразование цвета из HDR в LDR. Это может быть простое линейное преобразование, так же называемое “управлением

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 49