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.

Источник

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

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

Ssao hdao hbao что лучше. . Ssao hdao hbao что лучше фото. Ssao hdao hbao что лучше-. картинка Ssao hdao hbao что лучше. картинка

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

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

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

Этот вид сглаживания не слишком сильно нагружает процессор, потому что он обрабатывает лишь те части кадра, которые выглядели бы неровными, а выбирает он эти части независимо от того, где и как они располагаются. Это самый быстрый и менее затратный в плане ресурсов метод сглаживания. Отличие от прошлого метода сглаживания заключается в нескольких аспектах. В первую очередь, FXAA применяется к изображению в том разрешении, в котором вы играете, также размывает картинку сильнее, что выглядит совсем не лучше, чем MSAA, зато расходует на порядок меньше ресурсов, из-за чего этот вид сглаживания почти не вредит вашему FPS
Пожалуй, это лучший вид сглаживания, который сильно похож на MSAA, но с некоторыми дополнениями. Дело в том, что TXAA учитывает и берёт в расчёт предыдущие кадры и сглаживает последующие путём усреднения цветов.
Да, это не вид сглаживания, но избавляется от лесенок этот способ довольно неплохо, но при одном условии, которое свойственно не каждому пк. Ведь не у всех есть 2\4К мониторы, которые позволяют увеличить разрешение больше 1920х1080. За счёт уменьшения пикселей «лесенки» остаются, но становятся куда меньше, однако это влияет на производительность больше всего из перечисленных способов. Так что этот метод подойдёт только обладателям мониторов с очень высоким разрешением и мощным железом. Забавно слушать легенды о том, что если поставить 2к или 4к разрешение в игре на FullHD мониторе, то картинка станет лучше. Решил я это проверить на примере GTA V и что-то не увидел разницы до и после, ни в фреймрейте, ни качестве.
Ssao hdao hbao что лучше. 1533668344. Ssao hdao hbao что лучше фото. Ssao hdao hbao что лучше-1533668344. картинка Ssao hdao hbao что лучше. картинка 1533668344
Проблем никогда не бывает мало. В этом случае нет никаких исключений, ведь кроме «ступенек» встречается такой артефакт, как разрыв картинки. Это происходит, когда ваши монитор и видеокарта пытаются работать синхронно, но по какой-то причине эти парни не могут этого сделать, причиной является частота кадров и частота обновления монитора. К примеру, вы находитесь в какой-то загруженной локации, а ваша видеокарта старается держать стабильную частоту, в то время как монитор обновляет изображение на одной и той же частоте. Если они не синхронизируются между собой, то как раз и появляется такой разрыв. И для решения этой проблемы предназначен следующий параметр:

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

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

Тесселяция
Ssao hdao hbao что лучше. 1533679503. Ssao hdao hbao что лучше фото. Ssao hdao hbao что лучше-1533679503. картинка Ssao hdao hbao что лучше. картинка 1533679503
Тут стоит обратить внимание на контур головы 47-го

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

Окклюзия окружения (Ambient Occlusion)
Ssao hdao hbao что лучше. 1533680067. Ssao hdao hbao что лучше фото. Ssao hdao hbao что лучше-1533680067. картинка Ssao hdao hbao что лучше. картинка 1533680067
Лично я занимаюсь созданием 3д-моделей в Cinema 4D и довольно хорошо знаком с этой фичей. Ssao hdao hbao что лучше. 1533680466. Ssao hdao hbao что лучше фото. Ssao hdao hbao что лучше-1533680466. картинка Ssao hdao hbao что лучше. картинка 1533680466 Она позволяет создавать искусственные тени, таким образом, в идеале, геймдизайнеры и создатели 3д-анимаций предпочитают использовать движки, поддерживающие функцию глобального освещения, которое позволяет создавать освещение идентичное реальному, а всё благодаря вычислениям точных оттенков каждого из пикселей, в зависимости от общего количества света, попадаемого на него. Знаю, что звучит это сложновато, но как же это преобразовывает картинку… словами не описать. Такое освещение очень подходит для различных кинематографичных сцен в мультфильмах или кат-сцен в играх, но это оказывает очень сильную нагрузку на железо, но на то у нас и есть окклюзия окружения, которая создаёт искусственные тени там, где они должны располагаться.
Для начала стоит разобраться с освещением в играх. В них источником света является естественное освещение, которое является упрощённой версией глобального освещения, где расположение теней зависит от того, есть ли перед источником естественного освещения какое-либо препятствие, но это даёт нам более плоские тени в меньшем количестве, чем хотелось бы. Тут и наступает триумф окклюзии окружения, ведь она определяет расположение дополнительных теней с поммощью трассировки лучшей, а именно вычисляет, сколько солнечных лучшей блокируется рядом со стоящими объектами. То есть, если один объект загораживает другой, то поверхность второго объекта, разумеется, будет находиться в тени. Впадины, углубления и тому подобное начинает больше выделяться с помощью окклюзии.В огромном большинстве случаев этот параметр уже «вшит» в графические настройки, что не позволяет включать и выключать его. Но это всё окклюзия окружения в общем. Наверняка вы все сталкивались с такими параметрами освещения как SSAO,HBAO и HDAO?

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

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

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

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

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

Источник

Технологии графики в современных играх, часть 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 не будет опубликован. Обязательные поля помечены *