Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Descreve a instalação, as ferramentas e as bibliotecas compatíveis que compõem um ambiente de desenvolvimento produtivo do Direct3D 12.
- ambiente de desenvolvimento
- idiomas com suporte
- estruturas auxiliares
- biblioteca de gerenciamento de memória
- de ferramentas e bibliotecas com suporte
- exemplos de
- de camada de depuração
- vídeos educativos
- tópicos relacionados
Ambiente de desenvolvimento
Os cabeçalhos e bibliotecas do Direct3D 12 fazem parte do SDK do Windows 10. Não há nenhum download ou instalação separado necessário para usar o Direct3D 12.
Depois de instalar o software do SDK do Windows 10 e o Visual Studio, a instalação do ambiente de programação do Direct3D 12 será concluída. O Visual Studio 2019 é recomendado, pois incluirá as ferramentas de depuração de gráficos D3D12, mas versões anteriores do Visual Studio funcionarão para desenvolvimento de programas.
Para usar o de API doDirect3D 12, inclua D3d12.h e link para D3d12.lib ou consulte os pontos de entrada diretamente no D3d12.dll.
Os cabeçalhos e bibliotecas a seguir estão disponíveis. O local das bibliotecas estáticas depende da versão (32 bits ou 64 bits) do Windows 10 em execução no computador.
Nome do arquivo de cabeçalho ou biblioteca | Descrição | Local de instalação |
---|---|---|
D3d12.h | Cabeçalho da API do Direct3D 12 | %WindowsSdkDir\Include%WindowsSDKVersion%\\um |
D3d12.lib | Biblioteca de stubs de API do Direct3D 12 estático | %WindowsSdkDir\Lib%WindowsSDKVersion%\\um\arch |
D3d12.dll | Biblioteca de API dinâmica do Direct3D 12 | %WINDIR%\System32 |
D3d12SDKLayers.h | Cabeçalho de depuração direct3D 12 | %WindowsSdkDir\Include%WindowsSDKVersion%\\um |
D3d12SDKLayers.dll | Biblioteca de depuração dinâmica do Direct3D 12 | %WINDIR%\System32 |
Idiomas com suporte
O C++ é o único idioma com suporte para desenvolvimento do Direct3D 12, C# e outras linguagens .NET não têm suporte.
Estruturas auxiliares
Há várias estruturas auxiliares que, em particular, facilitam a inicialização de várias estruturas D3D12. Essas estruturas e algumas funções de utilitário estão no cabeçalho D3dx12.h. Esse cabeçalho é de software livre e pode ser modificado por um desenvolvedor conforme necessário - baixe-o de biblioteca auxiliar D3D12 e consulte estruturas e funções auxiliares para D3D12.
Biblioteca de Gerenciamento de Memória
Uma biblioteca auxiliar de gerenciamento de memória está disponível para download que você pode integrar ao seu aplicativo para corresponder mais de perto ao comportamento de gerenciamento de memória D3D11. Como uma biblioteca de gerenciamento de estilo D3D11, ela é mais eficaz com aplicativos que ainda estão usando um recurso confirmado estratégia de alocação de estilo. Em particular, a biblioteca deve ser vista como um trampolim que fará com que você retorne a maior parte do caminho de volta ao gerenciamento de memória com desempenho D3D11 quando em cenários com restrição de memória (por exemplo, cartões de memória de baixa extremidade, 4k, configurações ultra e assim por diante). As APIs D3D12 permitem técnicas que permitem obter ainda melhor eficiência de memória em relação à D3D11, embora essas técnicas possam ser desafiadoras e demoradas para serem implementadas.
Observe que essa biblioteca é um trabalho em andamento e pode mudar ao longo do tempo. Use os links abaixo para acessar a biblioteca e os exemplos.
Ferramentas e bibliotecas com suporte
Todas as bibliotecas a seguir podem ser usadas com o Direct3D 12.
Biblioteca | Propósito | Documentação |
---|---|---|
Kit de Ferramentas DirectX para DirectX 12 | Uma coleção substancial de classes auxiliares para escrever código Do Direct3D 12 C++ para aplicativos da Plataforma Universal do Windows (UWP), aplicativos da área de trabalho Win32 para Windows 10 e aplicativos exclusivos do Xbox One. | wiki do DirectX12TK |
DirectXTex | Use isso para ler e gravar arquivos DDS e executar várias operações de processamento de conteúdo de textura, incluindo redimensionamento, conversão de formato, geração de mapa de mip, compactação de blocos para recursos de textura de runtime do Direct3D e mapa de altura para conversão de mapa normal. | wiki do DirectXTex |
DirectXMesh | Use isso para executar várias operações de processamento de conteúdo de geometria, incluindo a geração de quadros normais e tangentes, cálculos de adjacência de triângulo e otimização de cache de vértice. | wiki do DirectXMesh |
DirectXMath | Um grande número de classes auxiliares e métodos para dar suporte a vetores, escalares, matrizes, quatérnios e muitas outras operações matemáticas. | documentação do DirectXMath no msdn |
UVAtlas | Use isso para criar e empacotar um atlas de textura isochart. | wiki UVAtlas |
Amostras
Para obter uma lista de exemplos D3D12 de trabalho e como localizá-los e executá-los, consulte Exemplos de Trabalho.
Para ver passo a passo sobre como adicionar código para habilitar recursos específicos, consulte de passo a passo de código D3D12.
Camada de depuração
A camada de depuração fornece amplo parâmetro adicional e validação de consistência (como validar vinculação de sombreador e associação de recursos, validar consistência de parâmetro e relatar descrições de erro).
Nota
Para o Windows 10, para criar um dispositivo que dê suporte à camada de depuração, habilite o recurso opcional "Ferramentas Gráficas". No Windows 10 22H2, vá para o painel Configurações, em Sistema. Em versões mais antigas do Windows 10, vá para o painel Configurações, em Aplicativos > Aplicativos & recursos. Vá para Recursos Opcionais > Adicionar um recurso e procure "Ferramentas Gráficas".
O cabeçalho necessário para dar suporte à camada de depuração, D3D12SDKLayers.h, é incluído por padrão de d3d12.h.
Quando a camada de depuração lista vazamentos de memória, ela gera uma lista de ponteiros da interface do objeto junto com seus nomes amigáveis. O nome amigável padrão é "<>sem nome ". Você pode definir o nome amigável usando o método ID3D12Object::SetName. Normalmente, você deve compilar essas chamadas com a versão de produção.
Recomendamos que você use a camada de depuração para depurar seus aplicativos para garantir que eles estejam limpos de erros e avisos. A camada de depuração ajuda você a escrever código Direct3D 12. Além disso, sua produtividade pode aumentar quando você usa a camada de depuração porque você pode ver imediatamente as causas de erros de renderização obscuros ou até mesmo telas pretas em sua origem. A camada de depuração fornece avisos para muitos problemas. Por exemplo:
- Esqueceu-se de definir uma textura, mas leu-a no sombreador de pixel.
- Profundidade de saída, mas não tem limite de estado de estêncil de profundidade.
- Falha na criação de textura com INVALIDARG.
Defina a definição do compilador D3DCOMPILE_DEBUG para informar ao compilador HLSL para incluir informações de depuração no blob do sombreador.
#define D3DCOMPILE_DEBUG 1
Para obter detalhes de todas as interfaces e métodos de depuração, consulte o de Referência de Camada de Depuração.
Para obter informações de visão geral sobre como usar a camada de depuração, consulte Understanding the D3D12 Debug Layer.
Vídeos educativos
Há vários vídeos relacionados ao Direct3D 12 e ao Windows 10 em tutoriais de vídeo de aprendizado avançado do DirectX, incluindo vídeos sobre ferramentas de depuração de gráficos e relatórios de bugs gráficos.
Tópicos relacionados