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.
Todas las fases se pueden configurar mediante la API. Las fases que presentan núcleos de sombreador comunes (los 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.
- Input-Assembler fase: la fase del ensamblador de entrada es responsable de proporcionar datos (triángulos, líneas y puntos) a la canalización.
- Vertex-Shader fase: la fase del sombreador de vértices procesa vértices, normalmente realizando operaciones como transformaciones, skinning e iluminación. Un sombreador de vértices siempre toma un solo vértice de entrada y genera un único vértice de salida.
- Geometry-Shader fase: 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 al borde. 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 de geometría limitada y desamplificación. Dado un primitivo de entrada, el sombreador de geometría puede descartar el primitivo o emitir uno o varios primitivos nuevos.
- Stream-Output fase: 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 se pueden transmitir o pasar al rasterizador. Los datos transmitidos a la memoria se pueden volver a recircular en la canalización como datos de entrada o de lectura desde 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.
- Pixel-Shader fase: la fase del sombreador de píxeles recibe datos interpolados para un primitivo y genera datos por píxel, como el color.
- Output-Merger fase: 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 y galería de símbolos para generar el resultado final de la canalización.
Temas relacionados
-
Guía de programación de para direct3D 10