Intro

© Дизайн-центр
"3D Интерьер"

Тел/факс
(095) 415-0426 

(звонить с 10.00 до 18.00)

E-mail: torgdesign@narod.ru

Новости

 3D

ИНТЕРЬЕР

Д          И           З        А         Й            Н

  Pyramid

Ambient Occlusion

Предлагаем вашему вниманию перевод статьи опубликованной Бобом Моером, которая посвящена Ambient Occlusion
В связи с тем, что стандартная модель освещения не принимает во внимание диффузное отражение (передача отраженного света от одной поверхности к другой), освещение в 3D программах имеет тенденцию быть более темным чем реальное освещение. Для устранения этой проблемы необходимо увеличить освещенность. Наиболее физически корректный способ добиться необходимого результата, это добавить в математический расчет света ambient составляющую ... В связи с тем, что стандартная модель освещения не принимает во внимание диффузное отражение (передача отраженного света от одной поверхности к другой), освещение в 3D программах имеет тенденцию быть более темным чем реальное освещение. Для устранения этой проблемы необходимо увеличить освещенность. Наиболее физически корректный способ добиться необходимого результата, это добавить в математический расчет света ambient (окружающую) составляющую.

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

Однородность заставляет объекты выглядеть более плоскими, и не принимает во внимание разломы, делает тени более размытыми и нечеткими. Следовательно, студии типа Pixar заменяли ambient свет большим количеством диффузных источников освещения ..., на рендеринг которых требуется намного больше времени.

В 2002 г. на SIGGRAPH была представлена технология называемая ambient occlusion (окружающее акклюдирование). Простое, но очень эффективное, ambient occlusion использовалось в течение многих лет в студиях подобно BlueS/ky и ILM для достижения реализма без использования GI (глобального освещения).

Как работает ambient occlusion ?

1. Луч пересекается с поверхностью, которая имеет occlusion шейдер.
2.Точка пересечения с поверхностью распространяет случайный полусферический набор лучей, смещенный к нормали, который влияет на остальную сцену.
3. Каждая точка поверхности оттенена в отношении пересечение с лучами к их первоначальному числу. Для примера на диаграмме мы видим , что с объектом пересекаются всего 2 луча из 6 отраженных. Получаем отношение 1/3 (2/6). Вычитание этого отношения из 1 дает нам затемненные области в акклюдированных частях поверхности.
4. Затемненные области

Пример написания шейдера

Рассмотрим самый простой пример ambient occlusion шейдера, написанного в Renderman© SL. (откомпилировано в PRMan© 11 версии) Синим отмечены зарезервированные переменные Renderman©, a зеленым внутренние функции Renderman©.

surface amb_occ (float samples = 1; color Camb = 1) {

     float sum = 0;
     normal Nn = normalize(N);
     vector R = reflect(normalize(I), Nn);

     gather ("illuminance", P,R, PI/2, samples, "distribution", "cosine") {
     }
     else {
sum = sum + 1; }
     sum = sum / samples;

     Ci = Camb * sum;
     Oi = Os;

}

Наш шейдер использует число лучей (количество между 16 и 128 для начала будет достаточно), и цвет для обратного умножения (универсально - белый). Рассчитываем направление отражения и нормализируем нормали, затем переходим к PRMan© овскому циклу. Если Вы работаете с BMRT или Entropy©, можно написать этот цикл вручную ..., он по существу вычисляет распространение лучей согласно косинусоидального распределения , и возвращает результат попал луч или нет. Операция которая выполняется при отсутствии попадания луча выполняется послу слова else, где получаем сумму, которая в последствии вычитается из 1, упомянутой в пункте 3 работы ambient occlusion. После окончания выполнения цикла мы делим полученную сумму на количество первоначальных лучей и умножаем полученный результат на цвет и получаем финальный цвет

Практическое применение

При использовании ambient occlusion в более мощьном шейдере будет заметно, что этот процесс очень требовательный к вычислительной мощности. Следовательно, было бы более правильно делать сделать один проход ambient occlusion , а потом улучшать результат за счет текстурирования или создания составного изображения на выходе. Например, можно сделать проход ambient occlusion, диффузный проход и затем проход ambient цвета.

Наш ambient occlusion проход был выполнен с использованием 64 элементов, и занял примерно 5.5 часов. Затраченное время может изменятся от рендера к рендеру. Что касается "шума", многие программы имеют функции для размытия "шума", хотя в конечном счета все сводится к формуле # количество элементов = качество изображения. Изображение получилось немного темнее, чем того хотелось. Необходимо сделать некоторые настройки шейдера для получения лучшего результата. Была сделана 16 элементная версия данного шедера.
Также, мы хотим, чтобы ambient свет имел свой цвет. Вместо того, чтобы использовать цвета плоских объектов, мы будем использовать сильно размытую карту окружающей среды. Для точности, можно усреднить те лучи, которые никуда не попадают и взаимодействовать ими с картой окружающей среды, вместо использования векторов отражения. Это даст нам гарантию того, что цвет с которым мы работаем принадлежит к наибольшему хранилищу информации об окружении. Наш аmbient color проход использует карту составленную из 5 изображений неба и одного серого изображения пола и занял 20 секунд. В виду того, что изображение достаточно синее, я не использовал усреднение лучей.
Диффузный проход использует 1 источник света для задания направления света. Вы можете включить тени при этом проходе или использовать для этого отдельный проход.
Я использовал Photoshop для объединения этих 3 слоев.

Заранее извиняемся за отечапки и неточности перевода



Автор: Bob Moyer
Использован материал с www-viz.tamu.edu [ENG]


Создание уникального интерьера, который будет работать на Вас, привлекая к Вам все новых и новых посетителей - задача посильная Дизайн-центру "3D Интерьер".


Hosted by uCoz