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

Что делает SSAO?

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

С этими тонкими элементами освещения можно обращаться по-разному. С момента появления графических процессоров с поддержкой RTX, а также PS5 и Xbox Series X/S в некоторых играх использовалась трассировка лучей для имитации окружающего затенения. Окклюзия окружающего пространства экрана, однако, использует информацию о пространстве экрана, чтобы определить, как окружающее затенение распределяется по сцене.

Ambient Occlusion в играх. Что такое SSAO, HBAO, HBAO+, HDAO и VXAO

Изображение через Nvidia

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

С чего началось SSAO?

Оригинальный Crysis 2007 года был пионером вышеупомянутого сеттинга. Это первая коммерчески выпущенная видеоигра, в которой используется окклюзия окружающего пространства на экране. В то время как Crysis была очень требовательной игрой для ПК, вскоре после этого SSAO добралась до консолей. Элементарные реализации были замечены еще в 2008 году в таких играх, как Gears of War 2.

В то время как качество варьировалось в зависимости от названия, затемнение окружающего пространства на экране становилось все более распространенным явлением по мере того, как поколение PS3 и Xbox 360 изнашивалось. Он по-прежнему используется по сей день во многих играх AAA-класса, включая Resident Evil Village на консолях последнего поколения и в режимах без трассировки лучей на консолях текущего поколения.

Источник: nexusmod.ru

Что означает SSAO (Screen Space Ambient Occlusion)?

Skyrim технология SSAO

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

Читайте также:  The elder scrolls v Skyrim anniversary edition отзывы

Что делает SSAO?

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

С этими тонкими элементами освещения можно работать по-разному. С момента появления графических процессоров с поддержкой RTX, а также PS5 и Xbox Series X/S в некоторых играх использовалась трассировка лучей для имитации затенения окружающей среды. Окклюзия окружающего пространства экрана, однако, использует информацию о пространстве экрана, чтобы определить, как окружающее затенение распределяется по сцене.

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

С чего началось использование SSAO?

Первоначальный Crysis 2007 года был пионером вышеупомянутого сеттинга. Это первая коммерчески выпущенная видеоигра, в которой используется окклюзия окружающего пространства на экране. В то время как Crysis была очень требовательной игрой для ПК, вскоре после этого SSAO добралась до консолей. Элементарные реализации были замечены еще в 2008 году в таких играх, как Gears of War 2.

Хотя качество варьировалось в зависимости от названия, окружающее затенение экранного пространства становилось все более распространенным явлением по мере того, как поколение PS3 и Xbox 360 развивалось. Он и по сей день используется во многих играх категории «три АА», включая Resident Evil Village на консолях последнего поколения и на консолях текущего поколения и в режимах без трассировки лучей.

Источник: crarena.ru

Что такое ssao скайрим

Будь в курсе последних новостей из мира гаджетов и технологий

iGuides для смартфонов Apple

Как работает затенение в компьютерных играх

Егор

Егор Морозов — 25 августа 2017, 15:21

occlusionexample.jpg

С появлением 3D-игр у их создателей серьезно прибавилось проблем: о сглаживании мы уже говорили, также мы говорили и о фильтрации текстур. Теперь же поговорим о еще одном эффекте, который позволяет серьезно улучшить реалистичность картинки — о Ambient Occlusion (AO), или о затенении.

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

Читайте также:  Скайрим кто такой нааглив

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

Но тут возникает вопрос — а как это рассчитать-то? Увы — алгоритма, дающего 100% точное рассеяние света в real-time, нет, однако есть множество хорошо приближенных к реальности алгоритмов, отлаженных настолько, что они спокойно используются в видеоиграх.

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

Однако тут мы получаем очередную проблему — отрисовка геометрии происходит постепенно, поэтому заграждающий фактор также в процессе отрисовки может серьезно меняться. Можно, конечно, рассчитать AO на этапе загрузки сцены, но тогда затенение не коснется динамических объектов (персонажей, машин и т.д.) — а это нехорошо. И тут приходит идея использовать для отрисовки затенения экранное пространство (Screen Space), что в итоге выливается в простейший алгоритм AO — SSAO.

SSAO

Этот алгоритм появился еще в Crysis 10 лет назад. Его суть проста: после построения геометрии у нас остается Z-буфер, или буфер глубины, который включает в себя абсолютно всю информацию о геометрии сцены — а значит никаких проблем сделать AO нет.

Хотя, конечно, кого я обманываю — проблемы есть, и самая серьезная — недостаточная производительность современных видеокарт: для того, чтобы получить более-менее неплохую карту затенения, для каждого фрагмента сцены нужно обсчитывать порядка 200-250 направлений, что позволяет «закопать» любой GPU. Поэтому делается хитрее — используется 8-32 «луча», направленные на выбранный фрагмент сцены, которые каждый раз поворачиваются на случайное значение. В итоге получается терпимое качество картинки с не очень большими затратами на расчеты:

ssao3.jpg

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

HBAO и HBAO+

Nvidia не была бы Nvidia, если бы не стала развивать затенение дальше, представив в 2008 году HBAO — Horizon Based Ambient Occlusion. От SSAO это затенение отличалось тем, что оно основано на физической модели, где аппроксимируется интеграл освещенности фрагмента сцены со значениями выборки буфера глубины. Итоговое качество оказывается выше SSAO при большом числе выборок, но мы опять же упираемся в производительность. Поэтому HBAO рендерится обычно в более низком разрешении, что приводит к мерцанию картинки.

Читайте также:  Где посмотреть лог вылета Скайрим

Проблема мерцания была исправлена в HBAO+ простым методом, который сейчас активно использует Sony в 4К играх на PlayStation 4 Pro: для рассчета HBAO+ используется шахматный рендеринг, то есть для обработки затенения используется часть предыдущего кадра и половина нового: это требует меньше затрат GPU, но при этом позволяет рендерить затенение в исходном разрешении, что и убирает мерцание.

hbao21.jpg

HDAO

AMD в стороне не остались, и стали использовать собственное затенение (которое, к слову, также работает и на Nvidia) — HDAO (High Definition AO). Увы — AMD не делится алгоритмом, однако известно, что в его основе лежит Gather4 — технология, которая собирает 4 текселя в один регистр. То есть, как и с HBAO, по сути происходит рендеринг в пониженном разрешении. В итоге, в среднем картинка с HBAO и HDAO сравнима по качеству, но опять же — все достаточно сильно зависит от игры: к примеру, в Far Cry 3 с HDAO трава выглядит красивее:

7d758ebb_1355517972SmtzmJYEeY_7_2_l.png

VXAO

С выходом DX12 Nvidia представила принципиально новое затенение — VXAO (Voxel Accelerated Ambient Occlusion). Его суть в том, что оно работает уже не с пикселями и текселями (то есть 2D-объектами), а с вокселями — аналогом пикселя в 3D. И теперь мы используем не Z-буфер, а воксельное построение сцены, поэтому алгоритм состоит из трех пунктов: вокселизация, постобработка вокселей и трассировка конуса.

Вокселизация выполняется путем рендеринга треугольных сеток в трехмерную текстуру, и поэтому ее производительность сильно зависит от общего количества треугольников, размера этих треугольников и количества вызоWow рисования, необходимых для их рендеринга. Постобработка объединяет проходы, такие как очистка, фильтрация и понижающие выборки вокселей, а ее производительность зависит от общего количества вокселей, созданных во время вокселизации. Типичное время после обработки составляет 0,5 — 1,5 мс. И, наконец, трассировка конуса выполняется в пространстве экрана, поэтому его производительность зависит от разрешения экрана и скорости затенения. Итоговое качество картинки оказывается в куда лучше, чем с HBAO+:

AO-HBAO-VXAO.jpg

На этом все. Советы для игроков простые: если компьютер хорошо тянет игру без AO, то можно попробовать включить SSAO или HBAO — обычно это снижает fps не более чем на 10%. Если же и с ними производительность отличная — можно попробовать HBAO+ и HDAO. Ну и для самых топовых видеокарт современности можно порекомендовать набирающее обороты VXAO — оно крайне требовательно к ресурсам (в том числе и к видеопамяти), поэтому даже в FHD оно будет доступно лишь пользователям старших Nvidia GTX 900ой и 1000ой линейки, а также владельцам старших AMD RX, Fury и Vega.

Источник: www.iguides.ru