Compartilhar via


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.