Estágio do IA-Assembler (Input Assembler)
O estágio IA (Assembler de Entrada) fornece dados primitivos e de adjacência para o pipeline, como triângulos, linhas e pontos, incluindo IDs semânticas para ajudar a tornar os sombreadores mais eficientes, reduzindo o processamento a primitivos que ainda não foram processados.
Finalidade e usos
A finalidade do estágio IA (Assembler de Entrada) é ler dados primitivos (pontos, linhas e triângulos) de buffers preenchidos pelo usuário e montar os dados em primitivos que serão usados pelos outros estágios do pipeline e anexar valores gerados pelo sistema para ajudar a tornar os sombreadores mais eficientes. Os valores gerados pelo sistema são cadeias de caracteres de texto que também são chamadas de semântica. Os estágios do sombreador programável são construídos a partir de um núcleo de sombreador comum, que usa valores gerados pelo sistema (como uma ID primitiva, uma ID de instância ou uma ID de vértice), para que o estágio do sombreador possa reduzir o processamento apenas para os primitivos, instâncias ou vértices que ainda não foram processados.
O estágio IA pode montar vértices em vários tipos primitivos diferentes (como listas de linhas, faixas de triângulo ou primitivos com adjacência). Tipos primitivos, como uma lista de triângulos com adjacência e uma lista de linhas com adjacência, dão suporte ao estágio GS (Sombreador de Geometria).
As informações de adjacência são visíveis para um aplicativo somente em um sombreador de geometria. Se um sombreador de geometria fosse invocado com um triângulo incluindo adjacência, por exemplo, os dados de entrada conteriam 3 vértices para cada triângulo e 3 vértices para dados de adjacência por triângulo.
Quando o estágio IA é solicitado para gerar dados de adjacência, os dados de entrada devem incluir dados de adjacência. Isso pode exigir o fornecimento de um vértice fictício (formando um triângulo degenerado) ou talvez sinalizando em um dos atributos de vértice se o vértice existe ou não. Isso também precisaria ser detectado e tratado por um sombreador de geometria, embora o abate de geometria degenerada ocorra no estágio do rasterizador.
Entrada
O estágio IA lê dados da memória: dados primitivos (pontos, linhas e/ou triângulos), de buffers preenchidos pelo usuário.
Saída
O estágio IA reúne os dados em primitivos e anexa valores gerados pelo sistema e os gera como primitivos que serão usados pelo estágio VS (Sombreador de Vértice) e, em seguida, por outros estágios de pipeline.
Nesta seção
Tópico | Descrição |
---|---|
O Direct3D dá suporte a várias topologias primitivas, que definem como os vértices são interpretados e renderizados pelo pipeline, como listas de pontos, listas de linhas e faixas de triângulo. |
|
Os valores gerados pelo sistema são gerados pelo estágio IA (Input Assembler) (com base na semântica de entrada fornecida pelo usuário) para permitir determinadas eficiências nas operações do sombreador. Ao anexar dados, como uma ID de instância (visível para o estágio do Sombreador de Vértice (VS)), uma ID de vértice (visível para o VS) ou uma ID primitiva (visível para o estágio do Sombreador de Pixel (PS) do Sombreador/de Geometria (GS)), um estágio de sombreador subsequente pode procurar esses valores do sistema para otimizar o processamento nesse estágio. |
Tópicos relacionados
Pipeline de elementos gráficos