Compartir a través de


Fase del sombreador de vértices (VS)

La fase sombreador de vértices (VS) procesa vértices, normalmente realizando operaciones como transformaciones, skinning e iluminación. Un sombreador de vértices toma un único vértice de entrada y genera un único vértice de salida.

Propósito y usos

La fase sombreador de vértices (VS) se usa para el procesamiento individual por vértice, como:

  • Transformaciones
  • Asignación de esqueleto
  • Morfing
  • Iluminación por vértice

La fase sombreador de vértices es una fase programable-sombreador; se muestra como un bloque redondeado en el diagrama de canalización de gráficos. Esta fase del sombreador usa el modelo de sombreador 4.0 núcleo de sombreador común.

La fase del sombreador de vértices (VS) procesa vértices del ensamblador de entrada. Los sombreadores de vértices siempre funcionan en un solo vértice de entrada y generan un único vértice de salida. La fase del sombreador de vértices siempre debe estar activa para que se ejecute la canalización. Si no se requiere ninguna modificación o transformación de vértices, se debe crear un sombreador de vértices de paso a través y establecerlo en la canalización.

Cada vértice de entrada de vértices se puede componer de hasta 16 vectores de 32 bits (hasta 4 componentes cada uno). Cada vértice de salida se puede componer de hasta 16 vectores de 4 componentes de 32 bits. Todos los sombreadores de vértices deben tener un mínimo de una entrada y una salida, que puede ser tan solo un valor escalar.

La fase del sombreador de vértices puede consumir dos valores generados por el sistema del ensamblador de entrada: VertexID e InstanceID (consulte Valores del sistema y semántica). Dado que VertexID e InstanceID son significativos en un nivel de vértice, y los identificadores generados por hardware solo se pueden introducir en la primera fase que los entienda, estos valores de identificador solo se pueden introducir en la fase del sombreador de vértices.

Los sombreadores de vértices siempre se ejecutan en todos los vértices, incluidos los vértices adyacentes en topologías primitivas de entrada con adyacencia. El número de veces que se ha ejecutado el sombreador de vértices se puede consultar desde la CPU mediante la estadística de canalización vsInvocations.

Un sombreador de vértices puede realizar operaciones de muestreo de carga y textura en las que no se requieren derivados del espacio de pantalla (mediante funciones intrínsecas de HLSL: SampleX (Objeto de textura HLSL), SampleCmpLevelZero (objeto de textura directX HLSL) y SampleGrad (objeto de textura HLSL de DirectX)).

Entrada

Un solo vértice, con valores generados por el sistema VertexID e InstanceID. Cada vértice de entrada de vértices se puede componer de hasta 16 vectores de 32 bits (hasta 4 componentes cada uno).

Salida

Un solo vértice. Cada vértice de salida se puede componer de hasta 16 vectores de 4 componentes de 32 bits.

Canalización de gráficos