Процессор управления тесселяцией

Процесс управления тесселяцией – программируемый элемент, который занимается доработкой (patch) входящих вершин и ассоциируемых с ними данных, выдавая в результате выходную доработку (output patch), далее patch, input patch и output patch . Единицы компиляции, написанные в для запуска на данном процессоре называются шейдеры управления теселяцией. Результатом успешной компиляции и компоновки набора управляющих тесселяцией шейдеров является исполняемый шейдер управления тесселяцией (tessellation control shader executable), который запускается на процессоре управляющем тесселяцией.

Шейдер управления тесселяцией вызывается для каждой вершины в output patch. Каждый вызов может считывать атрибуты любой вершины во input patch или output patch, но может записывать только атрибуты для соответствующей вершины output patch. Вызовы шейдеров в совокупности производят набор атрибутов по patch’ам для output patch. После вызова всех шейдеров управляющих тесселяцией выходящие вершины и атрибуты patch’ей формируют patch, для использования на последующих этапах конвейера.

Вызовы шейдеров управления тесселяцией запускаются в основном независимо друг от друга, с неопределенным порядком исполнения. Однако встроенная функция barrier() может быть использованна для управления порядком исполнения, эффективно разделив выполнение шейдеров управления теселяцией на фазы. Шейдеры управления тесселяцией получат неопределенный результат, если один вызов считывает атрибут вершины или patch’а, записанный другим вызовом в течение этой же фазы, или если два вызова пытаются записать разные значения значения в один patch output в одной фазе.

Main Admin

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

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