Ssao hdao hbao что

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

Ssao hdao hbao что. 4d220d80296c8cfa12b2d87416ada534. Ssao hdao hbao что фото. Ssao hdao hbao что-4d220d80296c8cfa12b2d87416ada534. картинка Ssao hdao hbao что. картинка 4d220d80296c8cfa12b2d87416ada534

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

В оптике можно выделить три простых градации освещенности — тень (источник света не виден), полутень (источник света виден частично) и освещенное место (источник света виден полностью). Казалось бы — все просто, рассчитать границы тени и полутени можно в два счета с помощью обыкновенных лучей. Однако полученная в результате картинка наводит на мысль, что мы где-то что-то забыли:
Ssao hdao hbao что. f98637c0f7aa4b84bedc02c9c4c44743. Ssao hdao hbao что фото. Ssao hdao hbao что-f98637c0f7aa4b84bedc02c9c4c44743. картинка Ssao hdao hbao что. картинка f98637c0f7aa4b84bedc02c9c4c44743
Таких черных теней не бывает (ну на Земле по крайней мере), так что сразу становится очевидным, что мы забыли — рассеяние света: суть в том, что в реальном времени фотоны могут отражаться от различных поверхностей и в итоге попадать туда, куда напрямую фотоны от источника не долетают: именно поэтому в тени хоть и темнее, чем на свету, но не черным черно. На Земле таким «рассеивателем» фотонов выступает сама атмосфера.

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

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

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

SSAO

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

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

Ssao hdao hbao что. 0194df7b6588e16c10d3e4f2e5dea739. Ssao hdao hbao что фото. Ssao hdao hbao что-0194df7b6588e16c10d3e4f2e5dea739. картинка Ssao hdao hbao что. картинка 0194df7b6588e16c10d3e4f2e5dea739

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

HBAO и HBAO+

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

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

Ssao hdao hbao что. 625cf0ae2b3bd0ed8150b6c3197b2c67. Ssao hdao hbao что фото. Ssao hdao hbao что-625cf0ae2b3bd0ed8150b6c3197b2c67. картинка Ssao hdao hbao что. картинка 625cf0ae2b3bd0ed8150b6c3197b2c67

HDAO

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

Ssao hdao hbao что. 072b9dc14886ec7365224be661b012de. Ssao hdao hbao что фото. Ssao hdao hbao что-072b9dc14886ec7365224be661b012de. картинка Ssao hdao hbao что. картинка 072b9dc14886ec7365224be661b012de

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

Источник

Эта опция смутила меня, когда в Far Cry 3 у меня был выбор между SSAO, HBAO и HDAO.

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

Во-первых, какой из них имеет наилучшее качество? Во-вторых, в чем реальная разница между этими вариантами?

Ssao hdao hbao что. WJU9S. Ssao hdao hbao что фото. Ssao hdao hbao что-WJU9S. картинка Ssao hdao hbao что. картинка WJU9S

H*AO обеспечивает лучшее качество, но с большим ущербом для производительности.

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

Если вы собираетесь использовать H*AO, насколько я понимаю, вам следует выбрать HDAO, если у вас карта ATI, или HBAO, если у вас карта nVIDIA.

Я рекомендую использовать ссылку, которую они предоставляют здесь: http://www.flickr.com/photos/bmorlok/6197863052/in/set-72157627662461565/lightbox/ и использовать клавиши курсора для быстрого перелистывания вперед-назад между тремя скриншотами.

Вы быстро сможете определить, где происходит затенение между отсутствием, SSAO и HBAO.

Посмотрите на области, где объекты пересекаются. Например, где пол пересекается со стеной, где колонна пересекается с потолком, кусты, куски мусора на земле.

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

Вы заметите, что SSAO оттеняет эти же области, но это гораздо менее выражено.

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

Во-первых, окклюзия пространства экрана не является физически обоснованным эффектом, поэтому здесь нет аргумента реализм. Теория эффекта в основном гласит, что

любая поверхность, которая не покрыта (опционально в пределах определенного расстояния), освещена.

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

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

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

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

Ssao hdao hbao что. cSB0J. Ssao hdao hbao что фото. Ssao hdao hbao что-cSB0J. картинка Ssao hdao hbao что. картинка cSB0J

В этой статье есть еще несколько наглядных примеров.

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

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

Ssao hdao hbao что. BCB2N. Ssao hdao hbao что фото. Ssao hdao hbao что-BCB2N. картинка Ssao hdao hbao что. картинка BCB2N

Документ компании NVIDIA содержит более подробную информацию об этом.

Вывод

Изображения являются фрагментами этих скриншотов.

Источник

Технологии графики в современных играх, часть 1: Новомодные свистелки-перделки

Ssao hdao hbao что. 1394974914. Ssao hdao hbao что фото. Ssao hdao hbao что-1394974914. картинка Ssao hdao hbao что. картинка 1394974914

Вступление

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

Всем привет.
Наблюдая в недавнем стриме по MATRIX: Path of Neo за тем, как Вася с Максом рассуждают на тему LOD’ов, я понял одну интересную вещь: в современных играх меню с настройками графики представляет собой что-то совершенно непотребное. Оно либо жутко кастрировано, либо открывает для пользователя такую простыню непонятных слов, в которой и чёрт ногу сломит.
Ssao hdao hbao что. small 1394974960. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394974960. картинка Ssao hdao hbao что. картинка small 1394974960 Ssao hdao hbao что. small 1394975119. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394975119. картинка Ssao hdao hbao что. картинка small 1394975119

Ладно, я — сам работаю в игрострое. Так что мне-то понятно, какая настройка за что отвечает. Но порой тоже не без трудностей. А вот простых игроков, наверное, при чтении всех этих названий одолевает тихий ужас.
Причём, мир не стоит на месте, и новые графические «фичи» появляются каждый год, а то и месяц. Недавно — вон, свет увидел TressFX.

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

Тем временем, меню всё разрастается и разрастается…
Не удивлюсь, если через пару лет в сингле какого-нибудь ААА-шутера в туториал добявят объяснение графических настроек. А пока — я постараюсь помочь всем интересующимся сориентироваться во всём этом многообразии.

Сразу извиняюсь за возможно «не такой» формат повествования.
Вообще, это далеко не первый мой рассказ на подобную тему. Но обычно подобные темы я обсуждаю с другими такими же «CG-гиками» (коллегами по цеху). А вот в блогах на SG — я пишу впервые. Так что местами могу «не попасть» в то, как тут принято.
Постараюсь не разводить нудятину и осветить тему без излишних технических подробностей. Так что надеюсь обойти стороной всякие вертексные/пиксельные шейдеры, шейдерные модели, graphics pipeline и т.п. Но если что — ссаными тряпками прошу не закидывать.
Как говорится, «это мой первый пост, не судите строго».

Итак, ближе к делу. Рассказ о технологиях пойдёт в порядке их «свежести». А начнём с…

Ssao hdao hbao что. 1394975354. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975354. картинка Ssao hdao hbao что. картинка 1394975354

AMD TressFX

Эта технология — просто идеальный пример одного тренда, который прослеживается в игровой индустрии испокон веков. Суть его вот в чём: игровая индустрия сама по себе не придумывает практически никаких технологий.
Просто время идёт, мощности железа растут. И со временем, пускай и с какими-то упрощениями, становится возможным делать в реалтайме то, что раньше было доступно только в «тяжёлом» рендере… ну, то есть, в том, что геймеры именуют «CGI-роликами».
Иными словами, практически все технологии, появившиеся в играх — всего лишь упрощённое заимствование того, что уже давным-давно широко используется в кино и изучено вдоль и поперёк.

Собственно, что такое TressFX? А очень просто: это всего лишь готовый кусок программного кода от AMD, с помощью которого можно считать волосы на видеокарте.
Вообще 3D-шники умеют делать волосы уже много-много лет. Ты их не раз видел во всяких 3D-мультиках.
Ssao hdao hbao что. small 1394975392. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394975392. картинка Ssao hdao hbao что. картинка small 1394975392 Ssao hdao hbao что. small 1394975404. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394975404. картинка Ssao hdao hbao что. картинка small 1394975404 Ssao hdao hbao что. small 1394975415. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394975415. картинка Ssao hdao hbao что. картинка small 1394975415

Просто раньше это делалось на проце и требовало этих самых процов дофига. Естественно, ни о каком реалтайме — и речи быть не могло.
Поэтому в играх причёски в любом случае делались такими полигональными «лоскутками», на которых волосы были просто текстурой.
Ssao hdao hbao что. 1394975442. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975442. картинка Ssao hdao hbao что. картинка 1394975442Ssao hdao hbao что. 1394975452. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975452. картинка Ssao hdao hbao что. картинка 1394975452Ssao hdao hbao что. 1394975460. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975460. картинка Ssao hdao hbao что. картинка 1394975460
Предыдущие картинки взяты из легендарного в среде 3D-шников making-of’а модели «Varga» от Paul Tosca.
В самом making-of’е картинок ещё больше, и есть gif’ки, позволяющие посмотреть модельку со всех сторон.

А теперь гигагерцы выросли, видюхи растолстели. И игровые программисты могут просто взять этот готовый TressFX и воткнуть его в игру: волосы будут считаться в реалтайме на GPU. Считай, ничего делать не надо: покрутил пару параметров, настроил длину — и очередная пара косичек готова.

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

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

Ssao hdao hbao что. 1394975518. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975518. картинка Ssao hdao hbao что. картинка 1394975518

GPU Particles (частицы на видюхе)

Всё очень просто: видеокарта лучше справляется с задачами, которые легко распараллелить.
Ну то есть, считать много всего однотипного — это к видюхе. Считать что-то одно сложное — это к процу.

В DirectX 11 появилась такая штука (DirectCompute), которая позволяет разработчикам игр самостоятельно считать на GPU практически что угодно.
Естественно, благодаря этому те вещи, которые сами по себе хорошо параллелятся — первым же делом и были перенесены с проца на видюху. Что позволило увеличить детализацию этих «вещей» в несколько раз.

Ярчайший пример — системы частиц. У нас в кадре есть дофига маленьких-маленьких объектов. Вроде песчинок, снежинок, капель воды… Так вот. Раньше мы их считали на проце, поэтому приходилось исхитряться. Например, рисуя вместо одной частицы текстуру, где их 100.
А теперь — мы их считаем на видюхе, так что можем делать это по-честному. Вместе со всей физикой. Это позволяет нам ворочать в кадре буквально миллионами частиц, создавая просто ошеломительные эффекты.
Ssao hdao hbao что. 1394975555. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975555. картинка Ssao hdao hbao что. картинка 1394975555Ssao hdao hbao что. 1394975569. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975569. картинка Ssao hdao hbao что. картинка 1394975569
Интерактивное онлайн-демо с адским числом частиц прямо в браузере (требуется DX11 + нужно установить Unity Web Player)

Некоторые считают, что GPU-частицы, как и другие новомодные фичи — исключительно прерогатива DX11. На самом деле — современный OpenGL может всё то же самое, а местами — даже больше. В чём легко убедиться, погуглив на ютубе.
Так что. Тот факт, что современные игры выпускаются с упором на DirectX — это даже не какой-то заговор Мелко-Мягких, а банальная инерция игроделов.
С технической точки зрения ничто не мешало уже FarCry 3 или Crysis 3 работать не на DirectX, а на OpenGL. А он, вообще-то, кросс-платформенный. То есть, разработчики один раз пишут шейдер, который одинаково отработает и на Windows, и на MacOS, и на Linux.
А учитывая, какие операционки используются на PS4 и грядущем Steam Machines — улавливаешь мысль? Очень скоро произойдёт…
Ну да ладно, это уже совсем другая история.
Ssao hdao hbao что. 1394975629. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975629. картинка Ssao hdao hbao что. картинка 1394975629

Voxel Cone Tracing

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

Ssao hdao hbao что. 1394975886. Ssao hdao hbao что фото. Ssao hdao hbao что-1394975886. картинка Ssao hdao hbao что. картинка 1394975886

Tesselation

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

Что это нам даёт? Ну, вообще-то, сама по себе тесселяция ничего не даёт. Но зато, если её комбинировать с другими технологиями — можно сделать тот самый «ГРАФОН. 111», на который фапают графодрочеры.

В самом простом случае — да, можно добавить к тесселяции другую технологию (vector displacement), которая по специальной текстуре рельефа «выдавит» точки на тесселированом объекте. Это позволит добавить, собственно, рельеф, сделав прям-таки фотореалистично детализированный уровень. Ssao hdao hbao что. small 1394976010. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394976010. картинка Ssao hdao hbao что. картинка small 1394976010 Ssao hdao hbao что. small 1394976024. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394976024. картинка Ssao hdao hbao что. картинка small 1394976024
Но ведь двигать точки на поверхности можно не только по заранее сделанной фиксированной текстуре. Вместо текстуры величину смещения можно получать по какому-нибудь хитрому алгоритму. То есть прямо во время игры, при отрисовке каждого кадра для каждой точки вычисляется, куда её сместить… хм, не совсем понятно, наверное?
Давай так. Вот у текстуры — есть разрешение. Рано или поздно, когда ты приблизишься — увидишь пиксели. А у алгоритма разрешения нет. То есть, приближать/отдалять можно сколько угодно, не теряя при этом ни детализации, ни производительности. Таким способом (он называется procedural displacement) можно из одной плоскости… выдавливать целые ландшафты. И сколь близко бы ты на него ни смотрел — он всегда будет очень детализированным.

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

Можешь прикинуть такие масштабы в новом Масс Эффекте?

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

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

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

Кроме того, использование тесселяции позволяет вообще отказаться от технологии LOD (Level of Detail), о которой я упоминал в начале. Проще говоря, разработчики за те же деньги смогут сделать больше объектов на уровне. То есть, не только сами объекты при близком разглядывании будут более детализированными, но и уровни в целом будут более разнообразными. Но это только если делать игру исключительно с расчётом на DX11 и соответствующее железо.

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

Ssao hdao hbao что. 1394976098. Ssao hdao hbao что фото. Ssao hdao hbao что-1394976098. картинка Ssao hdao hbao что. картинка 1394976098

Realtime Ambient Occlusion

High Definition Ambient Occlusion — AO высокого разрешения.
Реализация от AMD. Картинка натуральнее, чем с HBAO. Что лично меня как поклонника AMD/ATI — радует.
Но вот со скоростью — те же непонятки. На видюхах от AMD — быстрее, чем HBAO, но медленне, чем SSAO. На видюхах от нвидии — бывает по-разному. В том числе бывает, что HDAO быстрее, чем «родной» HBAO.

В общем, обычно HDAO/HBAO — медленнее и качественнее, чем SSAO. Качество картинки в любом случае улучшается так: SSAO — HBAO — HBAO+ — HDAO (хотя лично я считаю, что первые два надо поменять местами). Но вот какой вариант быстрее — проще самому попробовать в игре.

Ssao hdao hbao что. . Ssao hdao hbao что фото. Ssao hdao hbao что-. картинка Ssao hdao hbao что. картинка

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

Ssao hdao hbao что. 1394988828. Ssao hdao hbao что фото. Ssao hdao hbao что-1394988828. картинка Ssao hdao hbao что. картинка 1394988828

Bonus: DirectX 11 vs OpenGL 4

Многие годы DirectX царственно восседал на троне неоспоримого лидера по графическим прибамбасам. Чем Microsoft и жила. В эпоху Windows XP «играть в игры» было практически синонимом «пользоваться Windows». Да что уж там, ситуация сохраняется по сей день. Когда говорят «ПК», то по умолчанию подразумевается Windows 7 со встроенным в неё DirectX’ом.
На консолях есть свои графические библиотеки — но на то они и консоли. А на ПК безраздельно правит DirectX…

Однако в последнее время эта его «безраздельность» нехило так пошатнулась. Дело в том, что, действительно, OpenGL всегда не дотягивал до возможностей DirectX, из-за чего игроделы выбирали последнего. OGL всегда «как бы мог» всё то же самое, но со скрежетом. Всегда проигрывал по скорости. Всегда «не дотаягивал» по качеству итоговой картинки или количеству параметров.
Всегда.
До релиза OpenGL 4.

С его появлением в индустрии, можно сказать, пройдена точка невозврата. Если сравнивать DX11 и OGL 4 — то выясняется, что в конкретно этих двух версиях уже начинает лидировать OpenGL. Не с диким отрывом, нет. Потихоньку-помаленьку… вот тут рендерится быстрее, вот там возможностей больше, вот здесь код чище.
Но в сумме набирается, что сегодняшний OGL не только не уступает по возможностям перед DirectX, но в чём-то даже превосходит. Об этом я вскользь упоминал в разделе про GPU-партиклы. Но решил на этом остановиться поподробнее.
Ведь, пробежавшись взглядом по статье, я заметил, что все описанные в ней технологии, кроме TressFX, есть параллельно и на DX, и на OGL. А аналог TressFX в принципе можно сделать и на нынешнем OGL.

Относительно недавно даже появился специальный игровой движок — Unigine. Его, как говорится, «killing feature», на которую упирают создатели — это то, что он обеспечивает совершенно идентичную картинку на всех платформах. На Windows он использует DirectX, на остальных — OpenGL.
Собственно, та самая демка, которая демонстрирует прелести тесселяции, которую все видели — она сделана на Unigine:
Ssao hdao hbao что. small 1394990123. Ssao hdao hbao что фото. Ssao hdao hbao что-small 1394990123. картинка Ssao hdao hbao что. картинка small 1394990123

С появлением движка Unigine — на ютубе стали вылазить сравнительные сплит-скрин бенчмарки одной и той же сцены на DX и на OGL. И, глядя на них, начинаешь замечать едва видимые, но отличия. Вот тут свет считается точнее, вот там расфокус размывается правильнее, вот здесь тесселяция плотнее, а линзовые эффекты физически корректнее.
А потом выясняется, что на некоторых конфигурациях OGL ещё и быстрее.
В общем, все и так поняли, что я хочу сказать. Оставлю свои эмоции в стороне и просто предоставлю одно из таких видео:

Источник

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

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