Roteiro para aplicativos DirectX para Desktop
Aqui estão os principais recursos para ajudá-lo a começar a usar DirectX e C++ para desenvolver aplicativos de área de trabalho com uso intensivo de gráficos, como jogos. Esta não é uma lista abrangente de todos os recursos ou recursos disponíveis.
Introdução
Aqui estão alguns dos principais tópicos. Configurar seu projeto DirectX, se adaptar ao Windows e aplicativos de exemplo.
Tópico | Descrição |
---|---|
Criar seu primeiro aplicativo do Windows usando o DirectX | Use este tutorial básico para começar a usar o desenvolvimento de aplicativos DirectX e, em seguida, use o roteiro para continuar explorando o DirectX. |
Introdução ao DirectX para Windows | Examine as etapas que você deve seguir para começar a desenvolver um jogo usando DirectX e C++. |
Código completo para uma estrutura DirectX | Obtenha o código para uma estrutura básica de renderização do DirectX. |
Como usar o Direct3D 11 | Esta seção demonstra como usar a API do Microsoft Direct3D 11 para realizar várias tarefas comuns. |
Guia de programação para Direct3D 11 | O guia de programação contém informações sobre como usar o pipeline programável do Microsoft Direct3D 11 para criar gráficos 3D em tempo real para aplicativos da área de trabalho. |
Ferramentas para elementos gráficos DirectX | Documentação das ferramentas usadas para dar suporte ao desenvolvimento do DirectX. |
Novidades no Direct3D 11 | Um detalhamento de todos os recursos adicionados nas versões mais recentes do DirectX e direct3D (atualmente 11.2). |
Baixar o Visual Studio 2013 | Você deve ter Visual Studio Express 2013 para Windows Desktop para criar jogos da Windows Store. Para obter um tour pelo Visual Studio, consulte Desenvolver aplicativos da Windows Store usando o Visual Studio 2012. Para obter informações sobre novos recursos no Visual Studio, consulte Destaques do produto para Visual Studio 2013. |
Onde está o SDK do DirectX? | Contém diretrizes para devs que desejam trazer seus projetos DirectX para o Microsoft Visual Studio. |
Aplicativos de exemplo
Tópico | Descrição |
---|---|
Exemplo do Direct3D Tutorial Win32 | Exemplo de tutorial básico do Direct3D da área de trabalho. |
Exemplo de renderização de vídeo do DirectX | Um exemplo que demonstra a renderização de vídeo personalizada com o Direct3D. |
Examinar os principais conceitos do Direct3D 11
Tópico | Descrição |
---|---|
Pipeline de Gráficos | Aborda o pipeline de gráficos básico do Direct3D 11. |
Renderização | Aborda os modelos de renderização direct3D, componentes, sombreadores e fluxo de chamadas à API. |
Recursos | Aborda "recursos" do Direct3D, como buffers e outros tipos de recursos de GPU. |
Efeitos | Aborda a instanciação e os efeitos de vários sombreadores Direct3D. |
Como criar uma cadeia de troca | Como criar a cadeia de troca usada para desenhar pixels para uma região da tela. |
Como criar um dispositivo e um contexto imediato | Como criar uma abstração de dispositivo Direct3D e um contexto imediato para desenho. |
Como criar um buffer de vértice | Como criar uma lista simples de vértices de malha para processamento pela GPU. |
Como criar um buffer de índice | Como criar um buffer de índice permitindo que o sombreador de vértice ande na ordem dos vértices em uma malha. |
Como criar um buffer constante | Como passar dados constantes (uniformes) entre a CPU e a GPU durante a renderização. |
Como criar uma textura | Como criar uma textura ou outro recurso de buffer que possa ser amostrado pela GPU. |
Como inicializar uma textura de um arquivo | Como carregar uma textura de um arquivo e processá-la para uso pelo pipeline do sombreador. |
Como compilar um sombreador | Como compilar um sombreador para uso em seu aplicativo gráfico. |
APIs gráficas
Tópico | Descrição |
---|---|
Direct3D 11 | Documentação das APIs principais para a virtualização da GPU e seus recursos e para desenhar gráficos usando um modelo de sombreador unificado. |
Direct3D HLSL | Documentação de referência para High-Level Linguagem de Sombreador, a sintaxe e as regras usadas para definir programas de sombreador executados como parte do pipeline de gráficos em um modelo de sombreador unificado. |
Interface Gráfica DirectX (DXGI) | Documentação das APIs de baixo nível usadas para adquirir a interface de GPU e os recursos do sistema. |
Direct2D | Documentação das APIs Direct2D, que dão suporte ao desenho de primitivos 2D. Normalmente, Direct2D é usado para interfaces de usuário personalizadas, processamento de imagens e envio em lote e jogos simples. |
DirectWrite | Documentação das APIs DirectWrite, que dão suporte à renderização e ao dimensionamento de fontes personalizadas. |
Windows Imaging Component (WIC) | Documentação para as APIs wic, que são usadas para ler e gerenciar diferentes formatos de imagem de bitmap. |
DirectDraw Surfaces (DDS) para texturas | Documentação das APIs de DDS, que são usadas para compactação e descompactação de textura 2D em conjunto com as APIs do WIC. |
DirectXMath | Documentação das APIs DirectXMath, que dão suporte ao Direct3D com um conjunto de tipos e funções adequados para o desenvolvimento de gráficos em tempo real 3D. (Anteriormente XNAMath.) |
Directcompute | Documentação para as APIs DirectCompute, usadas para funcionalidade de sombreador de computação ou uso geral. |
APIs de áudio, mídia e entrada
Tópico | Descrição |
---|---|
Guia de Programação em XAudio2 | Nó de nível superior para a documentação conceitual da API de áudio XAudio2. |
Referência de programação em XAudio2 | Nó de nível superior para a documentação de referência da API de áudio XAudio2. |
Guia de Programação XInput | Nó de nível superior para a documentação conceitual da API do controlador XInput. |
Referência de programação XInput | Nó de nível superior para a documentação de referência da API do controlador XInput. |
Media Foundation | Nó de nível superior para a documentação da API de reprodução de mídia (áudio/vídeo) do MF (Media Foundation). Normalmente, o MF é usado em jogos para reprodução de trilha sonora, enquanto XAudio2 é usado para áudio dinâmico. |
Porta para DirectX 11
Tópico | Descrição |
---|---|
Migrando para o Direct3D 11 | Diretrizes básicas para mover sua base de código do DirectX 9 para o DirectX 11. |
Técnicas de codificação de uso duplo para jogos | Postagem detalhada no blog sobre o desenvolvimento para os níveis de recursos do DirectX 9_* e do DirectX 11_* em um único aplicativo. |
Implementando buffers de sombra para o nível de recurso 9 do Direct3D | Diretrizes para implementar mapas de sombra no nível de recurso do DirectX 9_*. |
Trabalhar com C++
Se você é uma mão velha com C++ em plataformas Windows, as coisas podem parecer um pouco diferentes. Aqui estão alguns ponteiros para tópicos que podem ajudá-lo a obter um identificador sobre a diferença.
Observação
Alguns desses tópicos existem para ajudá-lo a manter seu aplicativo C++/CX. Recomendamos que você use C++/WinRT para novos aplicativos. C++/WinRT é uma projeção de linguagem C++17 completamente moderna e padrão para APIs do WinRT (Windows Runtime), implementada como uma biblioteca com base em cabeçalho e arquivo, projetada para fornecer acesso de primeira classe à API moderna do Windows.
Tópico | Descrição |
---|---|
Referência de linguagem do Visual C++ (C++/CX) | Página de alto nível que é vinculada ao conteúdo relacionado ao C++. |
Referência rápida (Windows Runtime e Visual C++) | Tabela que fornece informações rápidas sobre operadores e palavras-chave de C++/CX (extensões de componente do Visual C++). |
Sistema de tipos (C++/CX) | Conteúdo de referência para os tipos com suporte do C++/CX. |
Namespaces (C++/CX) | Conteúdo de referência para os namespaces que contêm tipos específicos do C++que podem ser usados em aplicativos da Windows Store. |
Tópico | Descrição |
---|---|
Programação assíncrona (DirectX e C++) | Saiba mais sobre programação assíncrona e multithreaded para aplicativos e jogos DirectX. |
Programação assíncrona em C++ | Descreve as maneiras básicas de usar a classe de tarefa para consumir Windows Runtime métodos assíncronos. |
Classe task (Runtime de Simultaneidade) | Documentação de referência para a classe de tarefa. |
Paralelismo de tarefa (runtime de simultaneidade) | Discussão detalhada sobre a classe de tarefa e como usá-la. |
Bibliotecas úteis adicionais para programação do Windows C++
Tópico | Descrição |
---|---|
Biblioteca de Modelos Padrão do C++ | Windows Runtime tipos jogam bem com tipos de Biblioteca de Modelos Padrão. A maioria dos aplicativos da Windows Store C++ usa coleções e algoritmos da Biblioteca de Modelos Padrão, exceto no limite da ABI. |
Biblioteca de Padrões Paralelos | O PPL fornece algoritmos e tipos que simplificam o paralelismo de tarefas e o paralelismo de dados na CPU. |
C++ Accelerated Massive Parallelism (C++ AMP) | C++ AMP fornece acesso à GPU para paralelismo de dados de uso geral em placas de vídeo que dão suporte ao DirectX 11. |
Blogs e outros recursos
Tópico | Descrição |
---|---|
Blog jogos para Windows e DirectX | Blog atualizado regularmente de um contribuidor de desenvolvimento directx chave e um ótimo recurso para devs DirectX. |
Blog do desenvolvedor do Windows DirectX | O blog oficial do Windows DirectX. |
Blog directx de Shawn Hargreave) | Blog de desenvolvimento de outro respeitado contribuidor de desenvolvimento do Windows DirectX. |
Kit de ferramentas do DirectX | Kit de Ferramentas DirectX (DxTK), que contém várias APIs de suporte úteis para carregar malhas, reproduzir sons e outros comportamentos comuns. |
Biblioteca de processamento de texturas DirectXTex | DxTEX (Biblioteca de Processamento de Textura) DirectX, que contém APIs de suporte para processamento de textura e compactação/descompactação. |