Introducción a Direct3D
Direct3D es una API de bajo nivel para dibujar primitivos con la canalización de representación o para realizar operaciones paralelas con el sombreador de proceso.
¿Qué es Direct3D?
Direct3D es una API de bajo nivel que puedes usar para dibujar triángulos, líneas o puntos por fotograma, o para iniciar operaciones muy paralelas en la GPU.
Direct3d:
- Oculta diferentes implementaciones de GPU detrás de una abstracción coherente. Pero todavía necesitas saber cómo dibujar gráficos 3D.
- Está diseñado para impulsar un procesador específico de gráficos independiente. Las GPU más recientes tienen cientos o miles de procesadores paralelos.
- Resalta el procesamiento paralelo. Configure un montón de representación o estado de proceso y, a continuación, inicie una operación. No espera comentarios inmediatos de la operación. No mezcla las operaciones de CPU y GPU.
¿Qué API de Direct3D puede usar?
Las API de Direct3D que elijas dependen del estilo de la aplicación que quieras escribir.
- Si quieres escribir una aplicación para UWP, usa un subconjunto de las API de Direct3D 11, DXGI y HLSL. Para obtener una lista de estas API, consulta API win32 y COM para aplicaciones para UWP. Para obtener información sobre cómo escribir una aplicación de la Tienda Windows de Direct3D 11, consulta Crear gráficos 3D con DirectX.
- Si escribes una aplicación de escritorio, puedes usar el conjunto completo de API de Direct3D 11, DXGI y HLSL.
- A partir de Windows 8, ya no se admite activamente el marco XNA para aplicaciones de escritorio. Pero las aplicaciones de la Tienda Windows, las aplicaciones para UWP y las aplicaciones de escritorio pueden usar el conjunto completo de las API XAudio2 y DirectXMath . Las aplicaciones de escritorio pueden usar el conjunto completo de las API de XInput , mientras que las aplicaciones de la Tienda Windows y las aplicaciones para UWP pueden usar la mayoría de las API de XInput; para obtener más información, consulta Versiones de XInput.
¿Qué versión de Direct3D?
La versión de la API de Direct3D que elijas depende del sistema operativo y el nivel de hardware que quieras tener como destino.
- Si quieres tener como destino Windows 8 y versiones posteriores, usa las API de Direct3D 11.
- Usa las API de Direct3D 9 con Windows XP y versiones posteriores. Todo el hardware es compatible con las API de Direct3D 9, incluso hardware de nivel de Direct3D 11 más reciente.
- Usa las API de Direct3D 10 con Windows Vista y versiones posteriores. Solo direct3D de nivel 10 y versiones posteriores admiten las API de Direct3D 10.
- Usa las API de Direct3D 10.1 y Direct3D 11 con Windows 7 y versiones posteriores. También puedes usar las API de Direct3D 10.1 y Direct3D 11 con Windows Vista con Service Pack 2 (SP2).
Canalización de representación de Direct3D
En la canalización de representación de Direct3D, los datos fluyen desde varios orígenes, como los afluentes de un río.
- Algunas partes del flujo son programables.
- Algunas partes tienen perillas y esferas.
- Los orígenes de datos son flujos serie de paquetes (vértices) o matrices indexables (recursos del sombreador).
- Los vértices y los recursos del sombreador fluyen a primitivos, lo que se puede ampliar.
- Los primitivos y los recursos del sombreador fluyen en operaciones de píxeles.
Sombreador de proceso de Direct3D
Con el sombreador de proceso de Direct3D, todos los procesadores de la GPU se ejecutan en paralelo. Por lo tanto, el sombreador de proceso se comporta más como un estanque que un río.