header_image
Главная Spacer
Лучшие
Легковые
Лоу-поли
Первый опыт
Разная техника
Конкурсы
Обсуждение
header_imgsmall
Главная страница Обратная связь О сайте Поиск
windowoverall_title
windowoverall_textarea
windowoverall_textarea
Вход
steps Просмотреть в галерее Запуск слайдшоу Следующее изображение
Anonymous
Аватара отсутствует
On-Line
30 гостей
Рекламный блок
Загрузка..
Загрузка..

Система визуализации Brazil R/S - Документация

К содержанию

Brazil: Photon Map Server

Photon Map Server -"сердце" настройки фотонных карт.

рис. 14 Выбор типа фотонной карты

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

для стеклянного бокала, стоящего на столе. В этом случае источником каустики будут стенки бокала, а получателем - поверхность стола. Если поверхность объекта-источника обладает кривизной, сходной с кривизной линзы, каустика будет проявляться сильнее. Природа caustic-эффектов связана с преломлением прозрачных и отражающих поверхностей, фокусирующих падающий рассеянный свет в узкий пучок после преломления или отражения.

Если тип карты активен, это отображается зеленым "фонариком" напротив типа карты. Здесь же представлена статистика фотонной карты - ее предполагаемый размер, количество действительно сохраненных фотонов, размер используемой для этого памяти и статус кэша фотонной карты. Данные изменяются в процессе генерации фотонной карты.

рис. 15 Настройка трассировки фотонов.

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

Prepass Type - с помощью этого параметра выбирается определенная стратегия создания фотонной карты. Вообще, заранее предсказать общее количество фотонов, которые будут сохранены в фотонной карте, довольно затруднительно, хотя число излучаемых источником света фотонов всегда известно. Причина в том, что при отражении фотонов от поверхностей в игру вступает фактор случайности, известный как "русская рулетка". Русская рулетка, используя механизм генерации случайных чисел с учетом таких характеристик поверхности, как величина диффузного и зеркального отражения или преломления материала, определяет, что будет происходить с фотоном - рассеется ли он диффузно или отразится на зеркальный угол, или же будет поглощен. Неопределенность с объемом фотонной карты только усиливается при увеличении числа отскоков фотонов. Поэтому фотонный сервер brazil выполнят предварительный проход, при котором излучается небольшая от общего числа часть фотонов. По результатам сохранения этой части

делается прогноз об общем числе фотонов, которые будут сохранены после излучения их полного количества. Это происходит, если в Prepass Type выбран тип Map Size. Результат предварительной оценки отображается в Map Capacity соответствующего типа карты.

Если выбран тип #Emitted, то фотонный сервер организовывает излучение таким образом, чтобы количество сохраненных фотонов в карте соответствовало суммарному числу фотонов, указанных в параметрах излучения источников света. Это удобно в том случае, когда есть необходимость получить строго заданное числа сохраненных фотонов в карте.

Splitting - включение этой опции заставит фотонный сервер делать различие между фотонами, которые отразились от поверхности и фотонами, которые прошли через прозрачную поверхность. Позволяет уменьшить шум при расчете caustic -эффектов. Эта возможность полезна при использовании совместно с Caustic фотонной картой и не нужна при расчете Global фотонной карты. В последнем случае, поскольку расходуется дополнительная память на различение фотонов, ее лучше отключить.

Diffuse Depth - максимальное количество диффузных переотражений, которое может испытать фотон. После достижения этого числа отражений, фотон далее не трассируется. Необходимо учитывать, что каждое столкновение - это запись в фотонной карте. Поэтому если задать большое число отражений, то даже при небольшом числе испускаемых ИС фотонов, конечный объем фотонной карты может быть очень внушительным.

Reflected Depth / Refracted Depth - то же в отношении зеркальных отражений и преломлений фотонов. Запись о фотоне не будет сохраняться до тех пор, пока он не достигнет диффузной поверхности.

рис. 16 Параметры настройки способа оценки освещенности от фотонов.

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

Фотонная карта представляет собой базу данных, хранящих информацию о координатах столкновений фотонов с поверхностями, энергиях фотонов и направлении их падения на поверхность. Поэтому, когда требуется рассчитать освещенность какой-либо точки поверхности, по координатам этой точки осуществляется поиск в базе данных таких фотонов, которые будут либо лежать в пределах круга заданного радиуса (параметр Max Search Radius) с центром в этой точке, либо заданного числа ближайших фотонов (параметр Photons in Estimate). Энергии выбранных фотонов суммируются с некоторыми весовыми коэффициентами, и получается оценка освещенности точки. Мы говорим именно об оценке, а не о точном значении освещенности, поскольку точность расчетов сильно зависит от плотности фотонной карты. Чем выше плотность, тем ближе оценка к действительному значению освещенности.

Еще одно важное замечание касается взаимодействия параметров Photons in Estimate и Max Search Radius при выполнении оценки. Эти два параметра работают по принципу конкуренции - если один из них будет достигнут раньше, второй не будет использоваться. Например, если при оценке освещенности максимальный радиус поиска (Max Search Radius) достигается раньше, чем заданное для сбора число фотонов (Photons in Estimate), то сбор прекращается, несмотря на то, что действительно собранное число фотонов не соответствует заданному. И наоборот. Это обстоятельство нужно учитывать, поскольку величина Photons in Estimate имеет самое прямое отношение к гладкости рендера, а Max Search Radius - к точности вторичного освещения.

Ввиду особой важности этих двух параметров, рассмотрим подробнее особенности их взаимодействия.

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

(Фактическое число собираемых фотонов) = (локальная плотность фотонной карты в точке оценки освещенности) х (фактическая площадь сбора фотонов в круге некоторого радиуса)

Я говорю о фактическом значении величин, поскольку значения, заданные что называется "руками" для соответствующих параметров в настройках не всегда будут совпадать со значениями, которые действительно будут использованы при сборе фотонов.

Например, можно в качестве радиуса сбора фотонов указать 5 метров, количество собираемых фотонов указать равным 10, тогда даже для фотонной карты с малой плотностью фактический или реальный радиус сбора будет гораздо меньше 5 метров, поскольку условие сбора 10 фотонов выполнится гораздо раньше.

Другой пример. Если указать количество собираемых фотонов равным 10 000, радиус сбора равным 1 мм, то даже для фотонной карты большой плотности реальное число собранных фотонов вряд ли превысит 1000, потому что максимальный радиус поиска будет достигнут гораздо раньше.

Поэтому, основное свойство фотонной карты можно использовать для нахождения одного из параметров по остальным двум, если их значения известны. Усредненное фактическое значение Max Search Radius (радиуса сбора фотонов для оценки освещенности) можно определить, зная среднюю плотность фотонной карты и задав величину Photons in Estimate. Усредненное фактическое значение Photons in Estimate (количество собираемых для оценки фотонов) можно определить, зная среднюю плотность фотонной карты и задав величину Max Search Radius. Я говорю об усредненных значениях, поскольку плотность фотонной карты, а с нею и радиус сбора и количество фотонов сбора, будут разными для разных точек поверхности. А возможность определить Photons in Estimate и Max Search Radius важна, поскольку от них зависит гладкость рендера и точность расчета вторичного освещения.

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

Предложить какую-то формулу для вычисления плотности фотонной карты по известному числу излученных фотонов довольно сложно, да и не нужно. Потому, что усредненная плотность фотонной карты очень просто определяется практически. Позже я расскажу, как это сделать.

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

Вернемся к параметрам оценки освещения.

Estimator - алгоритм оценки освещения. Возможны три варианта - Basic, Advanced и Analysis. Basic - самый простой и быстрый алгоритм из трех, но не поддерживает многих важных функций. Например, неправильно обрабатывает тонкие поверхности, не может создавать зеркальные подсветки, неверно обсчитывает тени для bump map. Так что скорость - единственное его преимущество. Используется довольно редко. Advanced - полнофункциональный алгоритм оценки освещения, делает все то, чего не делает Basic, но работает медленнее. Этот алгоритм используется в brazil по умолчанию. Analysis - специальный алгоритм, предназначенный для отладки настроек оценки освещения, в особенности - радиуса сбора фотонов и количества собираемых для оценки фотонов. Рендер, выполненный с использованием этого алгоритма, возвращает цвета, которые можно использовать для анализа. В настоящее время полезную информацию несет только красный цвет. Если красный цвет в некоторой области отсутствует, то либо фотонов в этой области

достаточно для оценки освещения, либо их меньше 8. Чем ярче красный цвет, тем больше ошибка, тем больше дефицит фотонов для оценки.

рис. 17 Рендер в режиме Analysis. Места красного цвета свидетельствуют о недостатке фотонов для оценки освещения - это области, в которых невозможно собрать количество фотонов, указанное в Photons in Estimate, в пределах радиуса, заданного в Max Search Radius.

Search type - способ сбора фотонов для оценки вблизи углов и стыков. Представлено два типа: Spherical и Elliptical. Elliptical более точно обрабатывает углы, но медленнее, чем Spherical.

Specular - включает возможность расчета зеркальных подсветок средствами фотонной карты. Эта функция работает пока только с материалом типа Brazil BasicMtl.

рис. 18 Остальные настройки фотонного сервера.

Photon Energy>Multiplier - позволяет дополнительно изменять величину энергии фотонов для настройки яркости освещения в сцене. Кроме этого, имеется еще один регулятор энергии фотонов в настройках источников света. Разработчики не рекомендуют увеличивать этот множитель больше единицы, поскольку это может приводить к артефактам. В качестве альтернативы лучше регулировать энергию фотонов у источников света.

Filtering - конический фильтр, используемый при оценке. Определяет весовые коэффициенты для складываемых энергий фотонов, так что фотоны, более удаленные от точки дают меньший вклад. Для Global фотонной карты фильтр обеспечивает дополнительное сглаживание рассчитанной освещенности, если правильно подобран размер фильтра и не используется regathering. Для Сaustic фотонной карты этот фильтр позволяет получать более четкий эффект с высокой резкостью, увеличение размера фильтра ведет к размыванию каустики.

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

Photon Map Files - позволяет сохранить рассчитанную фотонную карту в файл на диск. Эта возможность просто необходима при настройке фотонной карты, поскольку изменение Max Search Radius и Photons in Estimate не требует пересчета фотонной карты. Поэтому, их можно менять, загружая одну и ту же фотонную карту из файла, что гораздо быстрее ее пересчета.

File - здесь указывается место на диске и название файла для сохранения фотонной карты.

рис. 19 Прямое освещение и непрямое диффузное освещение, рассчитанное при помощи фотонной карты.

рис. 20 Только фотонная карта, глубина трассировки фотонов - 20 диффузных отскоков.

рис. 21 Regathering, первый диффузный отскок рассчитан QMC, остальные - фотонной картой.

Мы довольно подробно рассмотрели параметры фотонной карты ввиду исключительной важной роли, которую выполняет Global Photon Map для получения качественного расчета освещения в рендере. Подводя итог, скажу, что основные усилия при практической настройке рендера с фотонной картой тратятся на подбор размера фотонной карты (количества сохраненных фотонов), и нахождение подходящих значений для Max Search Radius и Photons in Estimate.

Нам осталось еще рассмотреть некоторые настройки источников света, имеющие отношение к фотонам.

Источники освещения (ИС)

К содержанию
Загрузка..
Форум
Bullet74 2020-04-28 15:21
Последнее сообщение
Bullet74 2020-04-17 13:56
Последнее сообщение
Hericus 2019-01-24 20:17
Последнее сообщение
Hericus 2019-01-24 20:17
Последнее сообщение
Hericus 2019-01-24 20:17
Последнее сообщение
Рекламный блок
Загрузка..
Мы в соцсетях
Группа 3DCar.ru ВКонтакте
Страница 3DCar.ru на Facebook

Яндекс цитирования Rambler's Top100 Рейтинг на сайте 3D Architech hosted by .masterhost
наверх
©2006-2020 3DCar.ru