Уровень тесселяции что это

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

Среда выполнения 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 реализуются для установки этого состояния.

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

Источник

Тесселяция

Уровень тесселяции что это

Уровень тесселяции что это

Уровень тесселяции что это

Уровень тесселяции что это

Содержание

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

В компьютерной графике, так называется технология с помощью которой возможно увеличить количество полигонов в полигональной трёхмерной модели, используя кривые Безье. При этом каждый полигон модели разбивается на заданное число связанных полигонов, которые выстраиваются в соответствии с общим направлением поверхности модели. Таким путём можно сначала создать простую модель, а затем быстро и просто повысить её детализацию. Такой метод обычно используют для рендеринга в реальном времени, где на модель накладываются (так называемые треугольники) который иногда называют триангуляцией. Тесселяция является одной из основных особенностей 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. Содержание … Википедия

Источник

Как настроить параметры AMD Radeon™ для оптимизации игрового процесса

Тип материала Установка и настройка

Идентификатор статьи 000028812

Последняя редакция 30.01.2020

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

Доступ к игровым параметрам Radeon

Чтобы перейти к этим параметрам, откройте параметры AMD Radeon, нажав правой кнопкой мыши на рабочем столе и выбрав Параметры AMD Radeon.

Уровень тесселяции что это

Нажмите на вкладку Игры.

Уровень тесселяции что это

Нажмите на Глобальные настройки.

Уровень тесселяции что это

ПримечаниеЛюбые изменения в глобальных настройках будут применены ко всем 3D-приложениям при запуске.

Если вы хотите создать отдельные настройки для конкретных 3D-приложений, можно создать индивидуальные профили приложений. Действия по их созданию приведены в разделе «Создание профилей приложений» в этом документе.

Метод сглаживания

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

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

Уровень тесселяции что это

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

Уровень тесселяции что это

При выборе режима сглаживания доступны три варианта:

Режим сглаживания

Режим сглаживания определяет, как происходит контроль сглаживания — 3D-приложением или параметрами Radeon.

Уровень тесселяции что это

При выборе режима сглаживания доступны три варианта:

При выборе варианта Перезаписать настройки приложения применяются различные уровни сглаживания в 3D-приложении.

Уровень тесселяции что это

Уровень сглаживания можно установить на значения х2, х4 или х8, и большее число означает более высокое качество изображения за счет снижения частоты кадров.

Морфологическая фильтрация

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

Морфологическая фильтрация может оказывать меньшее влияние на частоту кадров, чем другие режимы сглаживания в параметрах Radeon™. Однако в некоторых случаях она может привести к размытию изображения.

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

Уровень тесселяции что это

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

Уровень тесселяции что это

Морфологическую фильтрацию можно включить и отключить.

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

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

Анизотропная фильтрация оказывает небольшое влияние на производительность (частоту кадров) и позволяет повысить качество изображения в большинстве 3D-приложений.

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

Уровень тесселяции что это

Анизотропная фильтрация может применяться с помощью варианта Перезаписать настройки приложения.

Уровень тесселяции что это

Уровень анизотропной фильтрации можно установить на х2, х4, х8 или 16х, и качество изображения будет улучшено за счет снижения частоты кадров.

Качество фильтрации текстур

Качество фильтрации текстур меняет качество текстур в процессе работы 3D-приложений.

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

Уровень тесселяции что это

Оптимизация формата поверхности

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

Этот параметр рекомендуется оставить включенным для оптимизации игрового процесса.

Уровень тесселяции что это

Кэш шейдеров

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

Уровень тесселяции что это

Кэш шейдеров по умолчанию установлен на оптимизацию AMD, и его можно отключить глобально.

Режим тесселяции

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

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

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

Уровень тесселяции что это

Режим тесселяции может применяться с помощью варианта Перезаписать настройки приложения.

Уровень тесселяции что это

Максимальный уровень тесселяции можно установить на значения х2, х4, х6, х8, х16, х32 или х64, и качество изображения будет улучшено за счет снижения частоты кадров.

Ожидание вертикальной синхронизации

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

ПримечаниеОжидание вертикальной синхронизации работает только в 3D-приложениях OpenGL. При использовании других API, например DirectX® или Vulkan®, управление VSync осуществляется через настройки графики 3D-приложения.

Уровень тесселяции что это

Ожидание вертикальной синхронизации можно установить на следующие значения:

Тройная буферизация OpenGL

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

ПримечаниеДля тройной буферизации OpenGL требуется, чтобы ожидание вертикальной синхронизации было установлено на значение «Всегда включено», и этот параметр применяется только к 3D-приложениям OpenGL.

Уровень тесселяции что это

Тройную буферизацию OpenGL можно установить на значения ВКЛ или ВЫКЛ.

Управление частотой кадров

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

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

Если ваша система поддерживает технологию AMD FreeSync™, параметр управления частотой кадров может гарантировать, что вы не превысите максимальный диапазон FreeSync вашего дисплея, благодаря чему обеспечивается плавный и оптимизированный игровой процесс.

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

Уровень тесселяции что это

Управление частотой кадров можно установить на значение в диапазоне от 30 до 200 кадров в секунду. Оно работает с 3D-приложениями DirectX® 9, 10 и 11.

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

Сброс до настроек по умолчанию

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

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

Уровень тесселяции что это

Создание профилей приложения

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

Чтобы добавить приложение в раздел «Игры» в параметрах Radeon, нажмите Добавить > Обзор.

Уровень тесселяции что это

Найдите и выберите приложение для добавления в параметры Radeon и нажмите Открыть.

Уровень тесселяции что это

Приложение появится в разделе «Игры» в параметрах Radeon.

Уровень тесселяции что это

Нажмите на плитку приложения, чтобы настроить его графические параметры.

Уровень тесселяции что это

После настройки профиля приложения параметры будут применяться при каждом запуске приложения.

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

Источник

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

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