Estágio Input-Assembler
A API Direct3D 10 e superior separa as áreas funcionais do pipeline em estágios; o primeiro estágio no pipeline é o estágio IA (input-assembler).
A finalidade do estágio do assembler de entrada é ler dados primitivos (pontos, linhas e/ou triângulos) de buffers preenchidos pelo usuário e montar os dados em primitivos que serão usados pelos outros estágios de pipeline. O estágio ia pode montar vértices em vários tipos primitivos diferentes (como listas de linhas, faixas de triângulo ou primitivas com adjacência). Novos tipos primitivos (como uma lista de linhas com adjacência ou uma lista de triângulos com adjacência) foram adicionados para dar suporte ao sombreador de geometria.
As informações de adjacência são visíveis para um aplicativo apenas em um sombreador de geometria. Se um sombreador de geometria tiver sido invocado com um triângulo, incluindo adjacência, por exemplo, os dados de entrada conterão 3 vértices para cada triângulo e 3 vértices para dados de adjacência por triângulo.
Quando o estágio do assembler de entrada é solicitado a 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 manipulado por um sombreador de geometria, embora o abate de geometria degenerada aconteça no estágio do rasterizador.
Ao montar primitivas, uma finalidade secundária da IA é anexar valores gerados pelo sistema para ajudar a tornar os sombreadores mais eficientes. Os valores gerados pelo sistema são cadeias de texto que também são chamadas de semântica. Todos os três estágios de sombreador são construídos a partir de um núcleo de sombreador comum e o núcleo do sombreador usa valores gerados pelo sistema (como uma ID primitiva, uma ID de instância ou uma ID de vértice) para que um estágio de sombreador possa reduzir o processamento apenas para os primitivos, instâncias ou vértices que ainda não foram processados.
Conforme mostrado no diagrama de bloco de pipeline , uma vez que o estágio IA lê dados da memória (reúne os dados em primitivos e anexa valores gerados pelo sistema), os dados são gerados para o estágio do sombreador de vértice .
Nesta seção
Tópico | Descrição |
---|---|
introdução ao de estágio de Input-Assembler |
Há algumas etapas necessárias para inicializar o estágio IA (input-assembler). Por exemplo, você precisa criar recursos de buffer com os dados de vértice de que o pipeline precisa, informar ao estágio ia onde estão os buffers e que tipo de dados eles contêm e especificar o tipo de primitivos a serem montados a partir dos dados. |
topologias primitivas |
O Direct3D 10 e superior dá suporte a vários tipos primitivos (ou topologias) representados pelo tipo enumerado D3D_PRIMITIVE_TOPOLOGY. Esses tipos definem como os vértices são interpretados e renderizados pelo pipeline. |
usando o estágio Input-Assembler sem buffers |
A criação e a associação de buffers não serão necessárias se os sombreadores não exigirem buffers. Esta seção contém um exemplo de sombreadores simples de vértice e pixel que desenham um único triângulo. |
usando valores System-Generated |
Os valores gerados pelo sistema são gerados pelo estágio IA (com base na semântica de de entrada fornecida pelo usuário) para permitir determinadas eficiências em operações de sombreador. |
Tópicos relacionados
-
de estágios de pipeline (Direct3D 10)