Что такое окклюзия окружения
Перейти к содержимому

Что такое окклюзия окружения

  • автор:

Графика в играх: окклюзия, сглаживание, фильтрация — Как и с чем её едят

Приветствую всех Стопгеймеров! Давайте начистоту, вы ведь тоже заходите в только купленную игру, но сперва кликаете на графические настройки? Кто ради чего, кому-то ради самоутверждения надо глянуть на ультра-автонастройку благодаря своему мощному «железу», а кто-то просто лезет туда ради интереса.Однако, задумывались ли вы, чем отличаются FXAA и TXAA, или 8х и 16х анизотропная фильтрация? Как-раз в этом блоге, группа Abuse Reviews сейчас вам расскажет и покажет, что же это за фильтрации такие, как они работают и с чем их едят. Поехали!

P.S. прошлом блоге количество материала в ролике было урезано, здесь эта ошибка была учтена, очень старался для вас.Приятного просмотра)

Давайте начнём с самого-самого простого

Разрешение экрана

Мало кто не знает, что разрешение — это количество отображаемых пикселей по горизонтали и вертикали. От этой настройки также зависит качество картинки и то, как сильно будут выражены «лесенки» в переходах между разными плоскостями\поверхностями. Но почему же возникает этот графический артефакт? Дело в том, что все графические элементы в играх состоят из пикселей, но таких проблем с прямыми линиями не происходит, но стоит только чуть её наклонить, как появляются «лесенки». Возникает это из-за отсутствия плавного перехода между цветами, которое обеспечивает сглаживание, вот о нём мы сейчас и поговорим.

Сглаживание

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

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

Это самый быстрый и менее затратный в плане ресурсов метод сглаживания. Отличие от прошлого метода сглаживания заключается в нескольких аспектах. В первую очередь, FXAA применяется к изображению в том разрешении, в котором вы играете, также размывает картинку сильнее, что выглядит совсем не лучше, чем MSAA, зато расходует на порядок меньше ресурсов, из-за чего этот вид сглаживания почти не вредит вашему FPS

Пожалуй, это лучший вид сглаживания, который сильно похож на MSAA, но с некоторыми дополнениями. Дело в том, что TXAA учитывает и берёт в расчёт предыдущие кадры и сглаживает последующие путём усреднения цветов.

Да, это не вид сглаживания, но избавляется от лесенок этот способ довольно неплохо, но при одном условии, которое свойственно не каждому пк. Ведь не у всех есть 2\4К мониторы, которые позволяют увеличить разрешение больше 1920х1080. За счёт уменьшения пикселей «лесенки» остаются, но становятся куда меньше, однако это влияет на производительность больше всего из перечисленных способов. Так что этот метод подойдёт только обладателям мониторов с очень высоким разрешением и мощным железом. Забавно слушать легенды о том, что если поставить 2к или 4к разрешение в игре на FullHD мониторе, то картинка станет лучше. Решил я это проверить на примере GTA V и что-то не увидел разницы до и после, ни в фреймрейте, ни качестве.

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

Вертикальная синхронизация

Этот параметр заставляет работать видеокарту на той же частоте, что и монитор, однако из-за этого возникают уже другие проблемы, к примеру, частота кадров может сильно падать из-за того что в игре появляется слишком много объектов, которые приходится обрабатывать. Но и для этой беды есть решение, которое называется — горизонтальная синхронизация. Принцип действия заключается в том, что модуль, встроенный в монитор заставляет экран обновляться сразу же при получении нового кадра, что способствует идеальному совпадению частот видеокарты и монитора. Благодаря всему этому, производительность компьютера не уменьшается, а монитор и видеокарта работают максимально слаженно.

На этом о проблемах картинки и артефактах — всё

Тут стоит обратить внимание на контур головы 47-го

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

Окклюзия окружения (Ambient Occlusion)

Лично я занимаюсь созданием 3д-моделей в Cinema 4D и довольно хорошо знаком с этой фичей.

Она позволяет создавать искусственные тени, таким образом, в идеале, геймдизайнеры и создатели 3д-анимаций предпочитают использовать движки, поддерживающие функцию глобального освещения, которое позволяет создавать освещение идентичное реальному, а всё благодаря вычислениям точных оттенков каждого из пикселей, в зависимости от общего количества света, попадаемого на него. Знаю, что звучит это сложновато, но как же это преобразовывает картинку… словами не описать. Такое освещение очень подходит для различных кинематографичных сцен в мультфильмах или кат-сцен в играх, но это оказывает очень сильную нагрузку на железо, но на то у нас и есть окклюзия окружения, которая создаёт искусственные тени там, где они должны располагаться.
Для начала стоит разобраться с освещением в играх. В них источником света является естественное освещение, которое является упрощённой версией глобального освещения, где расположение теней зависит от того, есть ли перед источником естественного освещения какое-либо препятствие, но это даёт нам более плоские тени в меньшем количестве, чем хотелось бы. Тут и наступает триумф окклюзии окружения, ведь она определяет расположение дополнительных теней с поммощью трассировки лучшей, а именно вычисляет, сколько солнечных лучшей блокируется рядом со стоящими объектами. То есть, если один объект загораживает другой, то поверхность второго объекта, разумеется, будет находиться в тени. Впадины, углубления и тому подобное начинает больше выделяться с помощью окклюзии.В огромном большинстве случаев этот параметр уже «вшит» в графические настройки, что не позволяет включать и выключать его. Но это всё окклюзия окружения в общем. Наверняка вы все сталкивались с такими параметрами освещения как SSAO,HBAO и HDAO?

Она взяла своё начало со времён первого Crysis, благодаря компании Crytek, по-сути оно заключается в вычислении глубины каждого пикселя и пытается вычислить количество преград от каждой из выбранных точек. Алгоритм SSAO призван упростить вычислительную сложность алгоритма Ambient occlusion и сделать его подходящим для работы на графических процессорах в режиме реального времени. Вместе с тем качество результирующего изображения у SSAO является худшим, чем в первоначальном Ambient occlusion, так как SSAO использует упрощённые методики рендеринга(обработки изображения).

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

Одно основывается на другом. Таким же образом как SSAO отличается от HBAO, HDAO от HBAO отличается точно тем же, ну и ещё эта окклюзия была представлена нам компанией AMD.

Ну а что по кинематографичности?

Глубина резкости

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

Ну и последнее о чём хотелось бы рассказать

Анизотропная фильтрация

А вот этот параметр уж точно видел каждый, но далеко не все понимают как это работает. Объясню быстро и просто. Во имя сохранения FPS разработчики используют нехитрый трюк с понижением качества текстур и моделей по мере отдаления от них. Зачастую мы можем наблюдать размытие текстуры пола вдали от себя, но если мы включим фильтрацию, то границы между различными уровнями детализации размываются. Плюс такой фильтрации в том, что вы можете со спокойной душой ставить значение 16х, ведь этот параметр почти не оказывает давления на процессор и видеокарту.

Ну а на этом всё. Если вам понравился этот блог и вы узнали что-то новое, обязательно жмите на плюс, а также интересно узнать, нравится ли вам качество видеоформата, если вы его глянули? Большое спасибо вам за внимание, всем удачных каток и стабильного FPS!

Лучшие комментарии

Дратути.
Приятно видеть блог, просвещающий читателей насчёт технических нюансов графона.
Вот только есть ряд факапов, местами — весьма существенных.

Эм… ну начнём с того, что, я надеюсь, речь шла про видеочип, а не про CPU, правда же?
И — нет, это один из самых тормозных алгоритмов сглаживания. Медленнее него — только SSAA. Который, по сути, ваще брутфорс aka DSR aka «большее разрешение».

Этот алгоритм действительно сглаживает не только внутри кадра, но и по времени. Однако это насколько фича, настолько же и баг. Из всех алгоритмов — лишь TXAA создаёт характерные «шлейфы» на движущихся объектах.
Так что вот прям лучшим всё-таки будет скорее SMAA (не путать с MSAA).

Не совсем. Причина — не столько в том, что видюха и моник работают несинхронно, сколько в том, что GPU пишет новые кадры в буффер непрерывно, по мере готовности. Из-за чего возможна ситуация, когда монитор «забирает» текущий кадр посреди отрисовки следующего. При включении Vsync монитор не начинает работать синхронно. Просто видеокарта исправляет вторую часть проблемы: сама рендерит в промежуточный буфер, а во фреймбуффер (доступный монитору) отдаёт кадр лишь тогда, когда тот готов.

Простите, но вот тут — вы вообще мимо. Такого понятия вообще не существует. Речь явно идёт об адаптивной (aka динамической) частоте кадров. И — в частности — о технологиях FreeSync (от православной AMD) и G-sync (от зелёного тролля), которые сабж реализуют.
Я уж молчу, что разрывы экрана вообще никак не связаны с «количеством объектов». Это скорее даёт performance hit на стороне проца, но не видеокарты. Для неё роль играет количество вертексов, сложность шейдеров и fill-rate.

В остальной части тоже есть мелкие огрехи, но разбирать из было бы скорее придиркой.

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

С картинками же есть 2 легких способа:
1 — подобных статей в нэте хватает и можно законно стырить картинки
2 — есть оверклокер(кажется) как один из ресурсов на которых сравнивали графические настройки и картинок хватало
3 — можно включить игру и самому заскринить

Доступно это хорошо, но одно дело сказать «это чуть лучше этого, нопрожорлевей», а другое дело показать. Если человек вынужден понижать настройки, ему куда проще будет понять что понижать увидев это. Например SSAO и HBAO. Что лучше? На сколько лучше? Знать термин это хорошо и откуда взялось тоже, но мы всё же в настройки лезем для выбора

эм… и этсамое… околюжен?


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

В играх сейчас применяется именно HBAO+ (а не HBAO). Разница заключается в том, что HBAO при из-за особенностей рендера может вызывать мерцание картинки. Это было исправлено в HBAO+.

И у нас вроде как 2018 год на дворе, DirectX 12 и ни слова о VXAO (Voxel Accelerated Ambient Occlusion).


Уже от компании nVidia, да и подход несколько другой (работа идет не с пикселями, а вокселями. Фактически, воксел — это пиксель в 3D. Хотя фактически просто очередной улучшенный тип AO.

Как по мне — блог слишком поверхностный и местами слегка путается в деталях. Да, работа каждой технологии объяснена практически на пальцах… но толку никакого. Хотя бы чуть-чуть о работе каждого алгоритма стоило сказать, как по мне.

— объёмными пикселями) перепутал.

И ещё, ты не совсем прав про разрешение. Существует (покрайней мере на nVidia) технология DSR — Dynamic Super Resolution. Суть вкратце — изображение рассчитывается в изображении большем, чем у монитора до четырёх крат (выставляется в настройках в панели nVidia), а затем даунсэмплится до разрешения монитора перед выводом на экран с настраиваемой же плавностью краёв.


Я специально выбрал GTA IV, т.к у неё в настройках отсутствует сглаживание как вид. Обрати внимание на столик справа по кадру, разница очевидна. В интернете пишут, что подобного эффекта можно добиться кустарно, но я не знаю, мне пока без надобности.
А про окклюзии было интересно почитать, всё остальное примерно знал.

А вообще, двоякое впечатление от поста. В целом главной претензией я считаю «мало пруфов». На словах то всё может быть понятно, но вот в чём дело… графика штука визуальная. Надо показывать разницу в сглаживании. Надо показывать разницу в оклюзии.

А ещё не понял почему резкость нагружает систему. Она почти всегда жрёт по минимуму. Меньше чем Блюр, о котором так же нет указания.

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

Что это такое знать полезно, но не менее полезно понимать чем можно жертвовать и что будет реально жрать ресурсы. До сих пор в недоумении от резкости… Это же в каких играх она реально жрёт ресурсы… за всю свою жизнь пик её прожорливости у меня был лишь в кадра 3 при среднем и не стабильном 40 фпс…

Может графический процессор? Насколько я помню на ЦП работает только SMAA (ибо Intel’овская разработка).

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

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

И решение это присутствует только в дорогих мониторах (35к+).

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

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

Что такое окклюзия окружения

Окклюзия Окружения (Эффект CineRender)

Этот эффект становится доступен при активации Детального отображения Диалога Параметров Визуализации с использованием механизма CineRender.

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

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

Предположим, ваша сцена визуализации со всех сторон окружена небом. Ретушировщик AO определит степень доступности каждого участка сцены для неба.

AmbientOcclusionSphere.png

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

Доступны два способа расчета Окклюзии Окружения:

• Обычный "грубый" метод, при котором выполняется проверка доступности окружающей среды для каждого отдельного пиксела.

• Более быстрый метод с использованием Кэша, при котором происходит проверка лишь определенных точек, а остальные значения получаются на основе интерполяции.

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

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

Следует помнить, что эти градиенты будут рассматриваться как оттенки серого, зависящие от канала покрытия.

• Минимальная Длина Луча: Определяет визуализацию градиента, настроенного для параметра Цвета, между экспонированными и не экспонированными участками. Чем меньше разница между значениями Минимальной Длины Луча и Максимальной Длины Луча, тем больше градиент будет смещаться к граням, определенным максимальной длиной луча.

Это значение лучше не изменять, оставив его в соответствии с настройкой по умолчанию равным 0.

• Максимальная Длина Луча: Это значение определяет расстояние, на котором поверхности "видят" друг друга. В местах соприкосновения геометрии, таких как стена и пол или сфера и пол, попадания даже маленьких лучей на поверхности будет достаточно для их затенения.

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

• Дисперсия: В процессе каждого вычисления AO происходит направление нескольких лучей (Сэмплов) на каждую точку виртуальной полусферы сцены. Эти сэмплы проверяют наличие какой либо-геометрии в пределах Максимальной Длины Луча. Параметр Дисперсии определяет учет этих сэмплов на поверхности полусферы. При установке значения 0% учитывается только зенит полусферы (точка пересечения полусферы с ее вертикальной осью). При значении, равном 100% учитывается вся поверхность полусферы.

Точность, Минимум Сэмплов и Максимум Сэмплов (Окклюзия Окружения)

Эти параметры отвечают за качество AO.

• Низкое качество сопровождается зернистостью итогового изображения. Это не всегда плохо. В некоторых случаях это может даже повысить привлекательность полученного изображения.

• Если вы предпочитаете однородные плавные переходы, необходимо выбрать настройки высокого качества, но это увеличит продолжительность визуализации.

Вкратце: Для расчета AO используются сэмплы. Увеличение количества сэмплов повышает однородность конечного изображения (уменьшает зернистость), но снижает скорость визуализации.

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

Для этого применяются параметры Минимума Сэмплов  и Максимума Сэмплов . Они используются для настройки расчета критически важных и менее важные участков сцены.

Параметр Точность  определяет где и какое количество сэмплов требуется применить для получения наилучшего результата. В критических участках будет использоваться максимальное количество сэмплов.

Следовательно, параметр Точности имеет наибольшее значение для критических участков сцены (так как высокие значения для этих участков создают большее количество сэмплов), и он значительно меньше влияет на расчет менее важных участков, для которых используется значение Минимума Сэмплов.

• Контрастность:  Данный параметр используется для настройки контрастности эффекта AO. Допускается ввод и отрицательных значений!

• Использовать Небо Окружающей среды:  AO может работать с отдельным источником света, если для освещения сцены используется Физическое Небо или Небо HDRI. Если маркер Использования Неба Окружающей Среды отмечен, то отраженный цвет неба будет добавлен в окончательное изображение AO.

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

AmbientOcclusionShader.png

• Анализ Прозрачности:  При активации этой опции выполняется анализ прозрачности, определяемой каналом Прозрачности или Альфа-каналом покрытия. В этом случае принимается во внимание степень прозрачности: Полупрозрачная сфера будет по-прежнему оказывать некоторый эффект на Окклюзию Окружения, несмотря на активацию данного параметра.

• Только Собственные Тени:  При активации этой опции отдельные объекты не будут "видеть" друг друга, они будут взаимодействовать только сами с собой.

Эти параметры практически ничем не отличаются от параметров расчета Кэша Излучения. В большинстве случаев вам потребуется только настроить параметр Плотности Записи .

Настройки Плотности Записи автоматически определяют значения остальных параметров. Эти параметры следует настраивать отдельно только при получении неправильных или недостаточно точных результатов расчета Окклюзии Окружения.

• Активация маркера Кэш позволяет использовать кэш Окклюзии Окружения (ниже дается его краткое описание).

• Если этот маркер деактивирован, то Окклюзия Окружения вычисляется тем же способом, что и в предыдущих версиях CineRender (предшествующих AC20): выполняется проверка доступности окружающей среды для каждого отдельного пиксела.

Действие Кэша Окклюзии Окружения

В процессе визуализации выполняется несколько предварительных расчетов (предпроходов), анализирующих наиболее важные участки сцены при текущем положении камеры ("точки затенения" в углах, на вогнутых поверхностях и т.д.) для расчета Окклюзии Окружения.

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

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

Следующие параметры оказывают наибольшее влияние на распределение точек затенения.

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

AOSamples.png

Слева: недостаточное количество Сэмплов. Справа: количество Сэмплов было увеличено. Автор модели Steen Winther.

Минимальное Значение/Максимальное Значение

В большинстве случаев эти два параметра можно игнорировать, поскольку их эффект практически незаметен. “Наихудшие” настройки Минимального и Максимального Значений (-8 для каждого параметра) лишь слегка отличаются (см. иллюстрацию) от “наилучших” настроек (-8 и +4 соответственно).

MinMax1.png

8/-8 (слева) и -8/+4 (справа) параметров Минимального и Максимального Значений.

Действие этих параметров заключается в следующем. Во время предпроходов, выполняемых при визуализации (стадия постепенного уменьшения квадратов), определяется плотность визуализации. Это адаптивный процесс, учитывающий наиболее критические области сцены. Разница между Минимальным и Максимальным Значениями задает количество предпроходов.

MinMax2.png

Минимальное и Максимальное Значения равны -7 и 0 соответственно

Значение 0 соответствует полному разрешению изображения (размер пиксела 1*1), значение -1 создает пикселы размерами 2*2, -2 = 4*4 и т.д. Величина Минимального Значения должна быть меньше чем Максимальное Значение. Можно также задавать и положительные значения для кэширования суб-пикселов (например, в сочетании с Субполигональном Смещением для повышения детализации).

Плотность/Минимальный Интервал/Максимальный Интервал

Сочетание этих трех параметров определяет общую плотность расположения точек затенения в критичных и некритичных участках.

• Плотность: Общая плотность расположения точек затенения с учетом двух следующих параметров.

• Минимальный Интервал: Плотность расположения точек затенения в критичных участках (например, в углах).

• Максимальный Интервал: Плотность расположения точек затенения в некритичных участках (например, на плоских поверхностях, не перекрываемых другими элементами). Для этого параметра можно задавать различные значения в соответствии с параметром Плотности Глобального Освещения. Распределении точек затенения полностью соответствует дисперсии кэша Окклюзии Окружения.

Все параметры, описанные выше, определяют расположение и расчет точек затенения.

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

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

Однако слишком большие значения также приводят к появлению пятен.

Если этот маркер не активирован, то размеры окончательного изображения не влияют на плотность расположения точек затенения. Эта плотность остается постоянной, как при визуализации с разрешением 80*80, так и с разрешением 3000*3000. В первом случае она будет слишком велика, а во втором — слишком мала.

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

При активации этой функции эффект AO инвертируется. Вместо отверстий и углов учитываются наружные ребра и выступающие углы.

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

AOInverted.png

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

Ambient Occlusion что это в играх

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

В принципе, он определяет, сколько света должно быть «заблокировано» определенной частью окружающей среды.

Ambient Occlusion что это в играх, Что делает модель затенения?Виды моделей затенения
Ambient Occlusion что это в играх, Виды моделей затененияСтоит ли вам использовать модель затенения?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *