Introdução ao Direct3D
O Direct3D é uma API de baixo nível para desenhar primitivos com o pipeline de renderização ou para executar operações paralelas com o sombreador de computação.
O que é o Direct3D?
O Direct3D é uma API de baixo nível que você pode usar para desenhar triângulos, linhas ou pontos por quadro ou para iniciar operações altamente paralelas na GPU.
Direct3D:
- Oculta diferentes implementações de GPU por trás de uma abstração coerente. Mas você ainda precisa saber como desenhar gráficos 3D.
- Foi projetado para impulsionar um processador específico de elementos gráficos separado. GPUs mais recentes têm centenas ou milhares de processadores paralelos.
- Enfatiza o processamento paralelo. Configure um monte de renderização ou estado de computação e inicie uma operação. Você não aguarda comentários imediatos da operação. Você não combina operações de CPU e GPU.
Quais APIs do Direct3D você pode usar?
As APIs do Direct3D escolhidas dependem do estilo de aplicativo que você deseja escrever.
- Se você quiser escrever um aplicativo UWP, use um subconjunto de APIs Direct3D 11, DXGI e HLSL. Para obter uma lista dessas APIs, consulte APIs Win32 e COM para aplicativos UWP. Para saber como escrever um aplicativo direct3D 11 da Windows Store, consulte Criar gráficos 3D com DirectX.
- Se você escrever um aplicativo da área de trabalho, poderá usar o conjunto completo de APIs Direct3D 11, DXGI e HLSL.
- Começando com Windows 8, não damos mais suporte ativamente à estrutura XNA para aplicativos da área de trabalho. Mas aplicativos da Windows Store, aplicativos UWP e aplicativos da área de trabalho podem usar o conjunto completo das APIs XAudio2 e DirectXMath . Os aplicativos da área de trabalho podem usar o conjunto completo de APIs XInput , enquanto aplicativos da Windows Store e aplicativos UWP podem usar a maioria das APIs XInput; para obter mais informações, consulte Versões do XInput.
Qual versão do Direct3D?
A versão da API do Direct3D escolhida depende do sistema operacional e do nível de hardware que você deseja direcionar.
- Se você quiser direcionar Windows 8 e posteriores, use APIs do Direct3D 11.
- Use APIs do Direct3D 9 com o Windows XP e versões posteriores. Todo o hardware dá suporte a APIs do Direct3D 9, hardware de nível Direct3D 11 ainda mais recente.
- Use APIs do Direct3D 10 com o Windows Vista e versões posteriores. Somente o hardware de nível Direct3D 10 e posterior dá suporte a APIs do Direct3D 10.
- Use APIs direct3D 10.1 e Direct3D 11 com o Windows 7 e posterior. Você também pode usar APIs direct3D 10.1 e Direct3D 11 com o Windows Vista com Service Pack 2 (SP2).
Pipeline de renderização do Direct3D
No pipeline de renderização do Direct3D, os dados fluem de várias fontes, como os afluentes de um rio.
- Algumas partes do fluxo são programáveis.
- Algumas partes têm botões e discadas.
- As fontes de dados são fluxos seriais de pacotes (vértices) ou matrizes indexáveis (recursos de sombreador).
- Os vértices e os recursos de sombreador fluem para primitivos, que você pode amplificar.
- Primitivos e recursos de sombreador fluem para operações de pixel.
Sombreador de computação Direct3D
Com o sombreador de computação Direct3D, todos os processadores da GPU são executados em paralelo. Assim, o sombreador de computação se comporta mais como um lago do que um rio.