Приветствуем, геймер! Ты можешь или
16+
Avatar344573_65

Геймер Fav0riT2009 31

126

Поговорим о тесселяции в DirectX 11

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Вы наверняка помните серию недавних скринов. Тогда Кристина Коффин сказала, единственное что я вижу на скринах – так это отключенную тесселяцию…

Tessellator (модуль тесселяции)

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Тесселяция не является совершенно новой технологией, впервые её стали использовать видеопроцессоры Xenos, которые были разработаны компанией AMD для игровых консолей Xbox 360 в 2005 году. Однако модуль тесселяции использованный в DirectX 11 является более устойчивым и гибким, нежели модуль, использованный в графических процессорах Xenos.

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Тесселяция – увеличения количества полигонов

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

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Все стадии обрабатываются в графическом процессоре

Процесс тесселяции предмета начинается в Hull Shader (поверхностный шейдер) – он берет контрольные точки и вычисляет нужный уровень тесселяции. После этой базисной реорганизации контрольные точки отправляются в Domain Shader (доменный шейдер) – тесселятор абсолютно ничего не знает о контрольных точках. Вместо этого тесселятору предоставляют некоторое количество параметров тесселяции, которые задают ему требуемый уровень тесселяции на определенном патче (особые минимальные кусочки объекта). Hull Shader сообщает тесселятору, в каком порядке он должен работать – разработчик сможет определить, каким методом произойдет процесс тесселяции, поскольку модуль тесселяции располагает фиксированным комплектом функций, у него есть несколько операционных режимов. Тесселятор берет то, что было подано ему из Hull Shader и действует в патче над формированием требуемой добавочной геометрии. Как только эта стадия будет завершена, он выдаст доменные точки (domain points) и данные топологии. Доменные точки подаются в Domain Shader, который создает на их основе вершины, доступные прочей части конвейера. Одновременно данные топологии адресуются прямо на этап сборки примитивов конвейера – это совершается потому, что данные шейдерам не нужны, они подготовлены для растеризатора. Здесь нужно отметить то, что на всех этапах стадии тесселяции работа ведется не с треугольниками – вместо этого обрабатываются патчи и точки. Патчи представляют собой кривые или области поверхности и практически всегда являются четырехугольниками. Это первый случай, когда DirectX использует в качестве примитивов не треугольники, и это является существенным шагом вперед.

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Минимальный уровень тесселяции

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Максимальный уровень тесселяции

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

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Преимущества тесселяции

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

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

Без тесселяции

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Тесселяция включена

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Без тесселяции

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Тесселяция включена

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Без тесселяции

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

Тесселяция включена

Поговорим о тесселяции в DirectX 11
Battlefield 3 - Поговорим о тесселяции в DirectX 11Поговорим о тесселяции в DirectX 11

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

Использованы материалы с www.easycom.com.ua

Ист.

126
Еще в блоге
Интересное на Gamer.ru

27 комментариев к «Поговорим о тесселяции в DirectX 11»

    Загружается
Чат