Compartilhar via


Estágios de pipeline (Direct3D 10)

O pipeline programável do Direct3D 10 foi projetado para gerar gráficos para aplicativos de jogos em tempo real. O diagrama a seguir mostra o fluxo de dados da entrada para a saída por meio de cada um dos estágios programáveis.

diagrama do fluxo de dados no pipeline programável direct3d 10

Todos os estágios podem ser configurados usando a API. Estágios com núcleos de sombreador comuns (os blocos retangulares arredondados) são programáveis usando a linguagem de programação HLSL. Como você verá, isso torna o pipeline extremamente flexível e adaptável. A finalidade de cada um dos estágios está listada abaixo.

  • Input-Assembler Estágio – O estágio de assembler de entrada é responsável pelo fornecimento de dados (triângulos, linhas e pontos) para o pipeline.
  • Vertex-Shader Stage – o estágio de sombreador de vértice processa vértices, normalmente executando operações como transformações, esfolação e iluminação. Um sombreador de vértice sempre usa um único vértice de entrada e produz um único vértice de saída.
  • Geometry-Shader Estágio – o estágio de sombreador de geometria processa primitivos inteiros. Sua entrada é um primitivo completo (que é três vértices para um triângulo, dois vértices para uma linha ou um único vértice para um ponto). Além disso, cada primitivo também pode incluir os dados de vértice para quaisquer primitivos adjacentes à borda. Isso pode incluir no máximo três vértices adicionais para um triângulo ou dois vértices adicionais para uma linha. O Sombreador de Geometria também dá suporte à amplificação e à desa amplificação de geometria limitadas. Dado um primitivo de entrada, o Sombreador de Geometria pode descartar o primitivo ou emitir um ou mais primitivos novos.
  • Stream-Output Estágio - O estágio de saída de fluxo foi projetado para transmitir dados primitivos do pipeline para a memória a caminho do rasterizador. Os dados podem ser transmitidos e/ou passados para o rasterizador. Os dados transmitidos para a memória podem ser reirculados novamente no pipeline como dados de entrada ou read-back da CPU.
  • de Estágio de Rasterizador – o rasterizador é responsável por recortar primitivos, preparar primitivos para o sombreador de pixel e determinar como invocar sombreadores de pixel.
  • Pixel-Shader Estágio – o estágio do sombreador de pixel recebe dados interpolados para um primitivo e gera dados por pixel, como cor.
  • Output-Merger Estágio – O estágio de fusão de saída é responsável por combinar vários tipos de dados de saída (valores de sombreador de pixel, informações de profundidade e estêncil) com o conteúdo dos buffers de destino de renderização e profundidade/estêncil para gerar o resultado final do pipeline.

Guia de programação do para o Direct3D 10