> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Visão geral do Direct3D 12.x para o Microsoft GDK

> O Direct3D 12.x é uma API gráfica de baixo nível e alto desempenho no GDK, adaptada para o desempenho de CPU e GPU do console XBOX, com extensões específicas do XBOX.

O Direct3D 12 no Microsoft Game Development Kit (GDK) fornece uma API de baixo nível e alto desempenho semelhante ao Direct3D 12 no PC. O Direct3D 12.x é adaptado para oferecer o máximo desempenho gráfico de console, tanto para CPU quanto para GPU. Muitas das alterações no Direct3D em relação à versão do Windows ocorrem porque o Game OS do Microsoft GDK usa uma única plataforma de hardware específica, e os títulos do Game OS exigem desempenho gráfico muito alto.

Extensões do Direct3D 12 foram adicionadas ao Microsoft Game Development Kit (GDK).

* [Documentação do Direct3D 12](#ID4ECB)
* [Exemplos que usam o Direct3D 12 no Microsoft Game Development Kit (GDK)](#ID4EAC)
* [Arquivos de cabeçalho](#ID4E6C)
* [Valores de retorno dos métodos do D3D12.x](#ID4END)
* [Bibliotecas de utilitários do DirectX Tool Kit](#ID4E5D)

<a id="ID4ECB" />

## Documentação do Direct3D 12

A API é a mesma para o Direct3D 12 no Microsoft Game Development Kit (GDK) (D3D12.x) e para o Direct3D 12 no PC (D3D12 no PC), exceto pelas extensões do XBOX.

* A documentação do D3D12 no PC está disponível no Microsoft Docs: [Gráficos do Direct3D 12](https://learn.microsoft.com/windows/win32/direct3d12/direct3d-12-graphics). A documentação do D3D12 no PC também se aplica ao Direct3D 12 no XBOX One.
* As especificações de engenharia dos recursos do Direct3D podem ser encontradas no GitHub em [DirectX-Specs](/pt-BR/build/core-features/graphics/directx-specs).
* As extensões do XBOX para o Direct3D 12 são documentadas somente no Gaming eXtensions Development Kit (GXDK). Para obter mais informações, confira [d3d12\_x](/pt-BR/reference/graphics/d3d12_x/d3d12_x_members). A documentação do GXDK não duplica a documentação do D3D12 no PC, abrangendo apenas as extensões do Microsoft Game Development Kit (GDK) (itens de API específicos do D3D12.x).

<a id="ID4EAC" />

## Exemplos que usam o Direct3D 12 no Microsoft Game Development Kit (GDK)

Alguns exemplos foram atualizados para serem compatíveis com o D3D12.x, e alguns exemplos foram criados para o D3D12.x.

Para baixar os exemplos mais recentes, confira os seguintes locais:

* [XBOX-ATG-Samples](https://github.com/microsoft/Xbox-ATG-Samples/tree/master/XDKSamples/Graphics)
* [XGD Fast Downloads](https://aka.ms/xgddl), no tipo de arquivo Developer Education Materials e build/versão All NDA Samples

Para compilar e executar a versão D3D12.x de um exemplo, no menu suspenso **Configuração da Solução**, selecione uma opção que contenha "12", como **Debug12**.

<a id="ID4E6C" />

## Arquivos de cabeçalho

<a id="ID4END" />

## Valores de retorno dos métodos do D3D12.x

Na maioria dos casos, se um método for declarado em d3d12\_x.h e retornar um HRESULT, mas ainda não tiver suporte no XBOX One, o método retornará o código de erro **E\_NOTIMPL**, que significa "Não Implementado".

Alguns métodos não implementados que retornam um HRESULT retornam S\_OK em vez de E\_NOTIMPL porque o método nunca fará nada no Microsoft Game Development Kit (GDK). O método é, na prática, uma operação nula.

Alguns métodos não implementados que retornam um HRESULT retornam S\_OK em vez de E\_NOTIMPL porque um exemplo chama o método, mas não depende realmente dele. Por exemplo, o exemplo SimpleCompute tem opções para operações de computação assíncronas e síncronas. Esse exemplo é executado de forma síncrona por padrão, mas tem código de inicialização que chama a computação assíncrona e dispararia uma saída prematura se o método não implementado retornasse E\_NOTIMPL.

<a id="ID4E5D" />

## Bibliotecas de utilitários do DirectX Tool Kit

O DirectX Tool Kit para DirectX 12 tem bibliotecas de utilitários para simplificar a programação do DirectX. O design pretende ser o mais genérico possível para o Direct3D 12, usando especificidades do XBOX somente quando necessário para o suporte da plataforma. Essa base de código é publicada no GitHub como um projeto organizacional da Microsoft: [DirectXTK12](https://github.com/Microsoft/DirectXTK12).

Há conjuntos de testes para essas bibliotecas: [directxtk12test](https://github.com/walbourn/directxtk12test).

<a id="ID4EZF" />

## Confira também

[d3d12\_x](/pt-BR/reference/graphics/d3d12_x/d3d12_x_members)

[Diferenças entre o Direct3D 12 em um PC com Windows e o Microsoft Game Development Kit (GDK)](/pt-BR/build/core-features/graphics/d3d12x/d3d12x-differences-from-pc)

[Referência do Direct3D 12](https://msdn.microsoft.com/library/windows/desktop/dn770458\(v=vs.85\).aspx)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Visão geral da API do pipeline de Mesh Shader](/pt-BR/build/core-features/graphics/newfeatures/ms/ms-api-design.md)
- [Gráficos](/pt-BR/build/core-features/graphics/gc-graphics-toc.md)
- [Visão geral do DirectStorage](/pt-BR/build/console-features/storage/directstorage/directstorage-overview.md)
- [Guia de programação do Direct3D 12](/pt-BR/build/gdk-and-engines/guides/directx-12-programming-guide.md)
