Partilhar via


Estágio de sombreador de vértice

O estágio vértice-sombreador (VS) processa vértices do montador de entrada, executando operações por vértice, como transformações, esfolamento, transformação e iluminação por vértice. 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 de 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.

O sombreador de vértice

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

O estágio de sombreador de vértice pode consumir dois valores gerados pelo sistema a partir do assembler de entrada: VertexID e InstanceID (consulte Semântica de valor do sistema). Como VertexID e InstanceID são significativos em um nível de vértice, e os IDs gerados pelo hardware só podem ser alimentados no primeiro estágio que os compreende, esses valores de ID só podem ser alimentados no estágio de 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 a partir da CPU usando a estatística de pipeline VSInvocations.

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