Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A API do Direct3D 10 e superior separa as áreas funcionais do pipeline em estágios; o primeiro estágio do pipeline é o estágio de montagem de insumos (IA).
O objetivo do estágio de montagem 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 diferentes primitivos (como listas de linhas, tiras de triângulos 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 suportar o 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 de montagem de entrada é solicitado para produzir 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 do vértice se o vértice existe ou não. Isso também precisaria ser detetado e manipulado por um sombreador de geometria, embora o abate da geometria degenerada aconteça no estágio do rasterizador.
Durante a montagem de primitivas, um objetivo secundário da IA é anexar valores gerados pelo sistema 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 de sombreador usa valores gerados pelo sistema (como um id primitivo, um id de instância ou um id de vértice) para que um estágio de sombreador possa reduzir o processamento apenas para as primitivas, instâncias ou vértices que ainda não foram processados.
Como mostrado no diagrama de blocos 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 enviados para o estágio de sombreador de vértice .
Nesta secção
| Tópico | Descrição |
|---|---|
|
Introdução ao Input-Assembler Stage |
Há algumas etapas necessárias para inicializar o estágio de montagem de entrada (IA). Por exemplo, você precisa criar recursos de buffer com os dados de vértice de que o pipeline precisa, informar o estágio de IA onde os buffers estão 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 suporta vários tipos primitivos (ou topologias) que são representados pelo D3D_PRIMITIVE_TOPOLOGY tipo enumerado. Esses tipos definem como os vértices são interpretados e renderizados pelo pipeline. |
|
Usando o Input-Assembler Stage sem buffers |
Criar e vincular buffers não é necessário se seus sombreadores não exigirem buffers. Esta seção contém um exemplo de sombreadores de vértice e pixel simples que desenham um único triângulo. |
|
Usando valores de System-Generated |
Os valores gerados pelo sistema são gerados pelo estágio IA (com base na entrada fornecida pelo usuário semântica) para permitir certas eficiências nas operações de sombreador. |