Estágio do sombreador de vértice (VS)

O estágio VS (Sombreador de Vértice) processa vértices, normalmente executando operações como transformações, esfolamento e iluminação. Um sombreador de vértice usa um único vértice de entrada e produz um único vértice de saída.

Finalidade e usos

O estágio VS (Sombreador de Vértice) é usado para processamento individual por vértice, como:

  • Transformações
  • Esfolamento
  • Morphing
  • Iluminação por vértice

O estágio do Sombreador de Vértice é um estágio de sombreador programável; Ele é mostrado como um bloco arredondado no diagrama de pipeline de gráficos. Este estágio de sombreador usa o núcleo de sombreador comum do modelo de sombreador 4.0.

O estágio do sombreador de vértice (VS) processa vértices do montador de entrada. Os sombreadores de vértice sempre operam em um único vértice de entrada e produzem um único vértice de saída. O estágio do sombreador de vértice deve estar sempre ativo para que o pipeline seja executado. Se nenhuma modificação ou transformação de vértice for necessária, um sombreador de vértice de passagem deverá ser criado e definido para o pipeline.

Cada vértice de entrada do sombreador de vértice pode ser composto por até 16 vetores de 32 bits (até 4 componentes cada). Cada vértice de saída pode ser composto por até 16 vetores de 4 componentes de 32 bits. Todos os sombreadores de vértice devem ter no mínimo uma entrada e uma saída, que pode ser tão pequena quanto um valor escalar.

O estágio do sombreador de vértice pode consumir dois valores gerados pelo sistema do assembler de entrada: VertexID e InstanceID (consulte Valores do sistema e semântica). Como VertexID e InstanceID são significativos em um nível de vértice, e as IDs geradas pelo hardware só podem ser alimentadas no primeiro estágio que as entende, esses valores de ID só podem ser alimentados no estágio do sombreador de vértice.

Os sombreadores de vértice são sempre executados em todos os vértices, incluindo vértices adjacentes em topologias primitivas de entrada com adjacência. O número de vezes que o sombreador de vértice foi executado pode ser consultado da CPU usando a estatística de pipeline VSInvocations.

Um sombreador de vértice pode executar operações de amostragem de carga e textura em que os derivados de espaço de tela não são necessários (usando funções intrínsecas HLSL: Sample (Objeto de Textura HLSL DirectX), SampleCmpLevelZero (Objeto de Textura HLSL DirectX) e SampleGrad (Objeto de Textura HLSL DirectX)).

Entrada

Um único vértice, com valores gerados pelo sistema VertexID e InstanceID. Cada vértice de entrada do sombreador de vértice pode ser composto por até 16 vetores de 32 bits (até 4 componentes cada).

Saída

Um único vértice. Cada vértice de saída pode ser composto por até 16 vetores de 4 componentes de 32 bits.

Pipeline de elementos gráficos