Этап сборщика входных данных (IA)
Этап сборщика входных данных (IA) предоставляет примитивные и прилагающие данные к конвейеру, такие как треугольники, линии и точки, включая идентификаторы семантики, чтобы сделать шейдеры более эффективными, уменьшая обработку до примитивов, которые еще не были обработаны.
Назначение и использование
Целью этапа сборщика входных данных (IA) является чтение примитивных данных (точек, линий и треугольников) из заполненных пользователем буферов и сборка данных в примитивы, которые будут использоваться другими этапами конвейера, а также для присоединения системных значений , которые помогают повысить эффективность шейдеров. Системные значения — это текстовые строки, которые также называются семантикой. Этапы программируемых шейдеров создаются из общего ядра шейдера, который использует системные значения (например, примитивный идентификатор, идентификатор экземпляра или идентификатор вершин), чтобы этап шейдера может уменьшить обработку только до тех примитивов, экземпляров или вершин, которые еще не обработаны.
Этап IA может собирать вершины в несколько различных примитивных типов (например, списки линий, полоски треугольников или примитивы с прилагаемостью). Примитивные типы, такие как список треугольников с зависимостями, и список строк с прилагаемостью, поддерживают этап геометрического шейдера (GS).
Сведения о приложении видны приложению только в геометрическом шейдере. Если геометрическая шейдера была вызвана треугольником, включая приращение, например, входные данные будут содержать 3 вершины для каждого треугольника и 3 вершины для данных прилагания для каждого треугольника.
Когда этап IA запрашивается для вывода данных о зависимостях, входные данные должны включать данные о зависимостях. Для этого может потребоваться предоставление фиктивной вершины (формируя вырожденный треугольник), или, возможно, путем перетаскивания в один из атрибутов вершины, существует ли вершина или нет. Это также должно быть обнаружено и обработано геометрическим шейдером, хотя выбраковка дегенерации геометрии будет происходить на этапе растеризатора.
Ввод
Этап IA считывает данные из памяти: примитивные данные (точки, линии и или треугольники) из заполненных пользователем буферов.
Выходные данные
Этап IA собирает данные в примитивы и присоединяет системные значения и выводит данные, которые будут использоваться этапом вершины шейдера (VS), а затем другими этапами конвейера.
В этом разделе
Раздел | Описание |
---|---|
Direct3D поддерживает несколько примитивных топологий, которые определяют, как вершины интерпретируются и отрисовываются конвейером, например списки точек, списки строк и полосы треугольников. |
|
Системные значения создаются этапом сборщика ввода (IA) (на основе семантики ввода , предоставленной пользователем), чтобы обеспечить определенную эффективность в операциях шейдера. При присоединении данных, таких как идентификатор экземпляра (видимый на этапе шейдера вершин (VS), идентификатор вершины (видимый для VS) или примитивный идентификатор (видимый для этапа/ шейдера пикселей геометрии (GS), последующий этап шейдера может искать эти системные значения для оптимизации обработки на этом этапе. |
Связанные темы