Fases de canalización (Direct3D 10)

La canalización programable direct3D 10 está diseñada para generar gráficos para aplicaciones de juegos en tiempo real. En el diagrama siguiente se muestra el flujo de datos de entrada a salida a través de cada una de las fases programables.

diagrama del flujo de datos en la canalización programable direct3d 10

Todas las fases se pueden configurar mediante la API. Las fases que presentan núcleos de sombreador comunes (bloques rectangulares redondeados) se pueden programar mediante el lenguaje de programación HLSL. Como verá, esto hace que la canalización sea extremadamente flexible y adaptable. A continuación se muestra el propósito de cada una de las fases.

  • Fase de ensamblador de entrada: la fase del ensamblador de entrada es responsable de proporcionar datos (triángulos, líneas y puntos) a la canalización.
  • Fase del sombreador de vértices. Esta fase procesa vértices, normalmente realizando ciertas operaciones, como transformar, enmascarar e iluminar. Un sombreador de vértices siempre toma un solo vértice de entrada y produce un solo vértice de salida.
  • Fase de sombreador de geometría : la fase del sombreador de geometría procesa primitivos completos. Su entrada es un primitivo completo (que es tres vértices para un triángulo, dos vértices para una línea o un solo vértice para un punto). Además, cada primitivo también puede incluir los datos de vértices para cualquier primitivo adyacente perimetral. Esto podría incluir como máximo tres vértices adicionales para un triángulo o dos vértices adicionales para una línea. El sombreador de geometría también admite amplificación y desamplación limitadas de geometría. Dado un primitivo de entrada, el sombreador de geometría puede descartar el primitivo o emitir uno o varios primitivos nuevos.
  • Fase de salida de flujo: la fase de salida de flujo está diseñada para transmitir datos primitivos de la canalización a la memoria en su camino al rasterizador. Los datos pueden transmitirse o pasarse al rasterizador. Los datos trasmitidos a la memoria pueden regresar a la canalización como datos de entrada o volver a leerse en la CPU.
  • Fase de rasterizador : el rasterizador es responsable de recortar primitivos, preparar primitivos para el sombreador de píxeles y determinar cómo invocar sombreadores de píxeles.
  • Fase del sombreador de píxeles: La fase del sombreador de píxeles recibe datos interpolados para un primitivo y genera datos por píxel, como el color.
  • Fase de fusión de salida: la fase de fusión de salida es responsable de combinar varios tipos de datos de salida (valores de sombreador de píxeles, información de profundidad y galería de símbolos) con el contenido del destino de representación y los búferes de profundidad/galería de símbolos para generar el resultado final de la canalización.

Guía de programación para Direct3D 10