stringtranslate.com

Единая шейдерная модель

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

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

История

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

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

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

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

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

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

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

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

Нвидиа

Интел

АТИ/АМД

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

  1. ^ ab «Common Shader Core (DirectX HLSL)» . Майкрософт . Проверено 17 августа 2008 г.
  2. Кейс, Лойд (8 ноября 2006 г.). «GeForce 8800 GTX: Обзор 3D-архитектуры». ЭкстримТех . Проверено 10 ноября 2013 г.