Canalización de gráficos

La canalización programable direct3D 11 está diseñada para generar gráficos para aplicaciones de juegos en tiempo real. En esta sección se describe la canalización programable de Direct3D 11. 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 11

La canalización de gráficos para Microsoft Direct3D 11 admite las mismas fases que la canalización de gráficos de Direct3D 10, con fases adicionales para admitir características avanzadas.

Puede usar Direct3D 11API para configurar todas las fases. 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.

En esta sección

Tema Descripción
Fase del ensamblador de entrada
La API direct3D 10 y posterior separa las áreas funcionales de la canalización en fases; la primera fase de la canalización es la fase del ensamblador de entrada (IA).
Fase del sombreador de vértices
La fase del sombreador de vértices (VS) procesa vértices del ensamblador de entrada, realizando operaciones por vértice, como transformaciones, máscara, morfología y iluminación por vértice. Los sombreadores de vértices siempre funcionan en un solo vértice de entrada y generan un solo 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.
Fases de teselación
El entorno de ejecución de Direct3D 11 admite tres nuevas fases que implementan la teselación, que convierte las superficies de subdivisión de bajo detalle en primitivos de mayor detalle en la GPU. Mosaicos de teselación (o divide) superficies de orden alto en estructuras adecuadas para la representación.
Fase del sombreador de geometría
La fase del sombreador de geometría (GS) ejecuta código de sombreador especificado por la aplicación con vértices como entrada y la capacidad de generar vértices en la salida.
Fase de salida de flujo
El propósito de la fase de salida de flujo es generar continuamente (o transmitir) datos de vértices de la fase del sombreador de geometría (o la fase del sombreador de vértices si la fase del sombreador de geometría está inactiva) a uno o varios búferes en memoria (vea Introducción con la fase de salida de flujo).
Fase de rasterizador
La fase de rasterización convierte la información vectorial (compuesta de formas o primitivas) en una imagen ráster (compuesta por píxeles) con el fin de mostrar gráficos 3D en tiempo real.
Fase del sombreador de píxeles
La fase del sombreador de píxeles (PS) permite técnicas de sombreado enriquecidas, como la iluminación por píxel y el procesamiento posterior. Un sombreador de píxeles es un programa que combina variables constantes, datos de textura, valores interpolados por vértice y otros datos para generar salidas por píxel. La fase de rasterizador invoca un sombreador de píxeles una vez para cada píxel cubierto por un primitivo, sin embargo, es posible especificar un sombreador NULL para evitar ejecutar un sombreador.
Fase de fusión de salida
La fase de fusión de salida (OM) genera el color de píxel representado final mediante una combinación de estado de canalización, los datos de píxeles generados por los sombreadores de píxeles, el contenido de los destinos de representación y el contenido de los búferes de profundidad/galería de símbolos. La fase om es el paso final para determinar qué píxeles son visibles (con pruebas de galería de símbolos de profundidad) y combinar los colores de píxeles finales.