Единая шейдерная модель - Википедия - Unified shader model

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

В области 3D компьютерная графика, то унифицированная шейдерная модель (известен в Direct3D 10 в качестве "Шейдерная модель 4.0 ") относится к форме шейдер оборудование в блок графической обработки (GPU), где все этапы шейдера при рендеринге трубопровод (геометрия, вершина, пиксель и т. д.) имеют те же возможности. Все они могут читать текстуры и буферы, и они используют наборы инструкций которые почти идентичны.[1]

История

Ранние графические процессоры обычно включали в себя шейдерное оборудование двух типов: вершинные шейдеры имея значительно больше инструкций, чем более простой пиксельные шейдеры. Это снизило стоимость реализации графического процессора в целом и позволило использовать больше шейдеров на одном устройстве. Это происходило за счет снижения гибкости системы, а иногда и простоя одного набора шейдеров, если рабочая нагрузка использовала один больше, чем другой. Как улучшения в изготовление Продолжая, это различие стало менее полезным. ATI Technologies представили унифицированную архитектуру на оборудовании, которое они разработали для Xbox 360, а затем представил это в виде карточки в TeraScale линия. Nvidia быстро последовали их Тесла дизайн. С тех пор концепция стала универсальной.

Ранние абстракции шейдеров (такие как Shader Model 1.x) использовали очень разные наборы инструкций для вершинных и пиксельных шейдеров, причем вершинные шейдеры имели гораздо более гибкий набор инструкций. Более поздние шейдерные модели (такие как Shader Model 2.x и 3.0) уменьшили различия, приблизившись к унифицированной шейдерной модели. Даже в унифицированной модели набор инструкций может не быть полностью одинаковым для разных типов шейдеров; разные этапы шейдера могут иметь несколько отличий. Фрагментные / пиксельные шейдеры могут вычислять неявные градиенты координат текстуры, а геометрические шейдеры могут генерировать примитивы рендеринга.[1]

Единая шейдерная архитектура

Единая шейдерная архитектура (или же унифицированная архитектура затенения) - это аппаратная конструкция, с помощью которой все шейдерные процессоры графического оборудования способны обрабатывать любые типы задач шейдинга. Чаще всего оборудование Unified Shading Architecture состоит из массива вычислительных блоков и некоторой формы динамическое планирование /Балансировка нагрузки система, которая гарантирует, что все вычислительные блоки будут работать как можно чаще.

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

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

OpenGL 3.3 (который предлагает унифицированную шейдерную модель) все еще может быть реализован на оборудовании, не имеющем унифицированной шейдерной архитектуры. Точно так же оборудование, которое поддерживает API-интерфейсы неунифицированной шейдерной модели, может быть основано на унифицированной архитектуре шейдеров, как в случае с Ксенос графический чип в Xbox 360, Например.

Унифицированная шейдерная архитектура была представлена ​​с Nvidia GeForce 8 серии, ATI Radeon HD 2000, S3 Chrome 400, Intel GMA Серия X3000, Графический процессор Xbox 360, Qualcomm Adreno 200 серии, Мали Мидгард, PowerVR SGX и используется во всех последующих сериях.

Nvidia

ATI / AMD

Рекомендации

  1. ^ а б «Common Shader Core (DirectX HLSL)». Microsoft. Получено 2008-08-17.
  2. ^ «GeForce 8800 GTX: Обзор 3D-архитектуры». ExtremeTech. Получено 2013-11-10.