Что такое объем тесселяции моделей

Тесселяция

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

Содержание

Тесселяция и компьютерные модели

В компьютерной графике, так называется технология с помощью которой возможно увеличить количество полигонов в полигональной трёхмерной модели, используя кривые Безье. При этом каждый полигон модели разбивается на заданное число связанных полигонов, которые выстраиваются в соответствии с общим направлением поверхности модели. Таким путём можно сначала создать простую модель, а затем быстро и просто повысить её детализацию. Такой метод обычно используют для рендеринга в реальном времени, где на модель накладываются (так называемые треугольники) который иногда называют триангуляцией. Тесселяция является одной из основных особенностей DirectX 11 и OpenGL.

Тесселяция в природе

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

См. также

Ссылки

Полезное

Смотреть что такое «Тесселяция» в других словарях:

Direct3D 11 — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. Direct3D 11 (D3D11) компонент интерфейса программирования приложений (англ. … Википедия

Radeon R600 — Графический процессор (GPU) под кодовым названием Radeon R600, лежащий в основе серий видеокарт Radeon HD 2000/3000 и FireGL 2007, разработан корпорацией ATI Technologies. Видеокарты серии HD 2000 были выпущены для конкуренции с видеокартами… … Википедия

Stone Giant — Тип графический бенчмарк, технологическая демонстрация Разработчики BitSquid, Fatshark Операционная система Microsoft Windows Языки интерфейса английский Первый выпуск 21 апреля 2010 года … Википедия

Гексагональная решётка — Треугольная тесселяция. Вершины формируют шестиугольную решётку с горизонтальными рядами, с треугольниками, указывающими вверх и вниз. Есть три способа сгруппировать треугольники 6 на 6, чтобы сформировать шестиугольную тесселяцию. В каждом… … Википедия

Графический конвейер — Графический конвейер аппаратно программный комплекс визуализации трёхмерной графики. Содержание 1 Элементы трехмерной сцены 1.1 Аппаратные средства 1.2 Программные интерфейсы … Википедия

Asura (игровой движок) — Asura Игровой движок (Список) Разработчик … Википедия

Шестиугольная решётка — Треугольная тесселяция. Вершины формируют шестиугольную решётку с горизонтальными рядами, с треугольниками, указывающими вверх и вниз. Есть три способа сгруппировать треугольники 6 на 6, чтобы сформировать шестиугольную тесселяцию. В каждом… … Википедия

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

PlayStation Portable — В этом разделе не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактироват … Википедия

Сравнение графических процессоров NVIDIA — Эта таблица содержит основную информацию о графических процессорах NVIDIA серии GeForce и видеокартах, построенных на официальных спецификациях NVIDIA. Содержание … Википедия

Источник

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

Приветствую всех Стопгеймеров! Давайте начистоту, вы ведь тоже заходите в только купленную игру, но сперва кликаете на графические настройки? Кто ради чего, кому-то ради самоутверждения надо глянуть на ультра-автонастройку благодаря своему мощному «железу», а кто-то просто лезет туда ради интереса.Однако, задумывались ли вы, чем отличаются 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!

Источник

Что такое объем тесселяции моделей

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

Изображение, которое вы видите на экране, состоит из пикселей. Разрешение — это количество пикселей в строке, где первое число — их количество по горизонтали, второе — по вертикали. В Full HD эти числа — 1920 и 1080 соответственно. Чем выше разрешение, тем из большего количества пикселей состоит изображение, а значит, тем оно четче и детализированнее.

Влияние на производительность

Очень большое.Увеличение разрешения существенно снижает производительность. Именно поэтому, например, даже топовая RTX 2080 TI неспособна выдать 60 кадров в 4K в некоторых играх, хотя в том же Full HD счетчик с запасом переваливает за 100. Снижение разрешения — один из главных способов поднять FPS. Правда, и картинка станет ощутимо хуже.

В некоторых играх (например, в Titanfall) есть параметр так называемого динамического разрешения. Если включить его, то игра будет в реальном времени автоматически менять разрешение, чтобы добиться заданной вами частоты кадров.

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

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

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

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

Впрочем, есть у Vsync и недостатки. Главная — очень заметный «инпут-лаг», задержка между вашими командами (например, движениями мыши) и их отображением в игре.

Поэтому играть со включенной вертикальной синхронизацией в мультипеере противопоказано. Кроме того, если ваш компьютер «тянет» игру при частоте ниже, чем заветные 60 FPS, Vsync может автоматически «лочиться» уже на 30 FPS, что приведет к неслабым таким лагам.

Лучший способ бороться с разрывами изображения на сегодняшний день — купить монитор с поддержкой G-Sync или FreeSync и соответствующую видеокарту Nvidia или AMD. Ни разрывов, ни инпут-лага.

Влияние на производительность

В общем и целом — никакого.

Сглаживание(Anti-aliasing)

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

Здесь и далее — слева изображение с отключенной графической опцией (или установленной на низком значении), справа — с включенной (или установленной на максимальном значении).

Технологий сглаживания несколько, вот основные:

Влияние на производительность

От ничтожного (FXAA) до колоссального (SSAA). В среднем — умеренное.

Качество текстур

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

Влияние на производительность

Если в видеокарте достаточно видеопамяти, то практически никакого. Если же ее не хватает, вы получите ощутимые фризы и тормоза. 4 гигабайт VRAM хватает для подавляющего числа современных игр, но лучше бы в вашей следующей видеокарте памяти было 8 или хотя бы 6 гигабайт.

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

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

Чем выше степень фильтрации, чем четче будут поверхности в отдалении.

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

Влияние на производительность

Тесселяция

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

Влияние на производительность

Зависит от игры, от того, как именно движок применяет ее к объектам. Чаще всего — среднее.

Качество теней

Все просто: чем выше этот параметр, тем четче и подробнее тени, отбрасываемые объектами. Добавить тут нечего. Иногда в играх также встречается параметр «Дальность прорисовки теней» (а иногда он «вшит» в общие настройки). Тут все тоже понятно: выше дальность — больше теней вдалеке.

Влияние на производительность

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

Глобальное затенение (Ambient Occlusion)

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

Существует два основных вида глобального затенения:

SSAO (Screen space ambient occlusion). Впервые появилось в Crysis — потому тот и выглядел для своего времени совершенно фантастически. Затеняются пиксели, заблокированные от источников света.

HBAO (Horizon ambient occlusion). Работает по тому же принципу, просто количество затененных объектов и зон гораздо больше, чем при SSAO.

Влияние на производительность

Глубина резкости (Depth of Field)

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

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

Влияние на производительность

Целиком и полностью зависит от игры. От ничтожного до довольно сильного (как, например, в Destiny 2).

Bloom (Свечение)

Этот параметр отвечает за интенсивность источников света в игре. Например, с включенным Bloom, свет, пробивающийся из окна в помещение, будет выглядеть куда ярче. А солнце создавать натуральные «засветы». Правда, некоторые игры выглядят куда реалистичнее без свечения — тут нужно проверять самому.

Влияние на производительность

Чаще всего — низкое.

Motion Blur (Размытие в движении)

Motion Blur помогает передать динамику при перемещениях объекта. Работает он просто: когда вы быстро двигаете камерой, изображение начинает «плыть». При этом главный объект (например, руки персонажа с оружием) остается четким.

Источник

Этапы тесселяции

Среда выполнения Direct3D 11 поддерживает три новых этапа, реализующих тесселяцию, которая преобразует поверхности подразделений с низким уровнем детализации в примитивы более высокого уровня для GPU. Тесселяции разбивает на плитки поверхности старшего порядка на структуры, подходящие для прорисовки.

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

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

Конвейер Direct3D 11 реализует тесселяцию в аппаратном обеспечении, что позволяет загружать работу с ЦП на GPU. Это может дать очень существенный прирост производительности, если в приложение реализуется большое число морфинговых целей и/или более сложные модели деформации/скиннинга. Чтобы получить доступ к новым функциям тесселяции, необходимо изучить некоторые новые этапы конвейера.

Новые этапы конвейера

В ходе тесселяции задействуется GPU для расчета более подробной поверхности из поверхности, составленной из преобразований четырехугольников, треугольников и изолиний. Для аппроксимации поверхности высокого порядка, каждое преобразование подразделяется на треугольники, точки и линии согласно факторам тесселяции. Конвейер Direct3D 11 реализует тесселяцию, используя три новых этапа конвейера:

На следующей схеме показаны новые этапы конвейера Direct3D 11.

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

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

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

Стадия Hull-Shader

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

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

Шейдер поверхности реализуется с помощью функции HLSL и имеет следующие свойства.

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

Ниже приведен пример шейдера поверхности:

Стадия тесселяции

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

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

На внутреннем уровне тесселяция работает в два этапа:

Стадия Domain-Shader

Шейдер домена вычисляет позицию вершины разделенной точки в выходном исправлении. Шейдер домена выполняется один раз для выходной точки тесселяции и имеет доступ только для чтения к выводу UV-координат, выходное исправление поверхности шейдеров и константы выходного исправления поверхности Shader, как показано на следующей схеме.

Что такое объем тесселяции моделей. Смотреть фото Что такое объем тесселяции моделей. Смотреть картинку Что такое объем тесселяции моделей. Картинка про Что такое объем тесселяции моделей. Фото Что такое объем тесселяции моделей

Ниже перечислены свойства шейдера доменов.

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

Ниже приведен пример шейдера домена.

API для инициализации этапов тесселяции

Тесселяция реализуется с помощью двух новых стадий программируемого шейдера: шейдера поверхности и шейдера доменов. Эти новые этапы шейдера запрограммированы с помощью кода HLSL, определенного в модели шейдера 5. Новые цели шейдера: HS _ 5 _ 0 и DS _ 5 _ 0. Как и все программируемые этапы шейдера, код для оборудования извлекается из скомпилированных шейдеров, переданных в среду выполнения, когда шейдеры привязаны к конвейеру с помощью таких интерфейсов API, как дссетшадер и хссетшадер. Но сначала шейдер необходимо создать с помощью интерфейсов API, таких как креатехуллшадер и креатедомаиншадер.

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

Новые топологии для этапа входного ассемблера, которые являются расширениями для этого перечисления.

Топология задается на этапе входного ассемблера с помощью иасетпримитиветопологи

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

Документация также содержит примеры инициализации этапов тесселяции.

Источник

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

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