Modelos de projeto de jogo DirectX
Os modelos DirectX e UWP (Plataforma Universal do Windows) permitem que você crie rapidamente um projeto como ponto de partida para seu jogo.
Pré-requisitos
Para criar o projeto, você precisa:
- Baixe o Microsoft Visual Studio 2015. O Visual Studio 2015 tem ferramentas para programação gráfica, como ferramentas de depuração. Para obter uma visão geral dos recursos e ferramentas de elementos gráficos e jogos do DirectX, consulte Ferramentas do Visual Studio para desenvolvimento de jogos em DirectX.
Escolhendo um modelo
O Visual Studio 2015 inclui três modelos DirectX e UWP:
- Aplicativo DirectX 11 (Universal Windows) – o modelo Aplicativo DirectX 11 (Universal Windows) cria um projeto UWP, que é renderizado diretamente em uma janela de aplicativo usando o DirectX 11.
- Aplicativo DirectX 12 (Universal Windows) – o modelo de aplicativo DirectX 12 (Universal Windows) cria um projeto UWP, que é renderizado diretamente em uma janela de aplicativo usando o DirectX 12.
- Aplicativo DirectX 11 e XAML (Universal Windows) – o modelo DirectX 11 e Aplicativo XAML (Universal Windows) cria um projeto UWP, que é renderizado dentro de um controle XAML usando o DirectX 11. Este modelo usa um SwapChainPanel, para que você possa usar controles de interface do usuário XAML. Isso pode facilitar a adição de elementos da interface do usuário, mas o uso do modelo XAML pode resultar em desempenho inferior.
O modelo escolhido depende do desempenho e das tecnologias que deseja usar.
Estrutura do modelo
Os modelos DirectX Universal do Windows contêm os seguintes arquivos:
- pch.h e pch.cpp - Suporte a cabeçalho pré-compilado.
- Package.appxmanifest - As propriedades do pacote de implantação do aplicativo.
- *.pfx - Certificados para o aplicativo.
- Dependências externas - Links para arquivos externos que o projeto usa.
- *Main.h e *Main.cpp - Métodos para gerenciar ativos de aplicativo, atualizar o estado do aplicativo e renderizar o quadro.
- App.h e App.cpp - Ponto de entrada principal para o aplicativo. Conecta o aplicativo ao shell do Windows e manipula eventos de ciclo de vida do aplicativo. Esses arquivos aparecem apenas nos modelos do aplicativo DirectX 11 (Universal Windows) e do aplicativo DirectX 12 (Universal Windows).
- App.xaml, App.xaml.cpp e App.xaml.h - Ponto de entrada principal para o aplicativo. Conecta o aplicativo ao shell do Windows e manipula eventos de ciclo de vida do aplicativo. Esses arquivos aparecem apenas no modelo de aplicativo DirectX 11 e XAML (Universal Windows).
- DirectXPage.xaml, DirectXPage.xaml.cpp e DirectXPage.xaml.h - Uma página que hospeda um DirectX SwapChainPanel. Esses arquivos aparecem apenas no modelo de aplicativo DirectX 11 e XAML (Universal Windows).
- Conteúdo
- Sample3DSceneRenderer.h e Sample3DSceneRenderer.cpp - Um renderizador de exemplo que instancia um pipeline de renderização básico.
- SampleFpsTextRenderer.h e SampleFpsTextRenderer.cpp - Renderiza o valor atual do FPS no canto inferior direito da tela usando Direct2D e DirectWrite. Esses arquivos aparecem apenas nos modelos de aplicativo DirectX 11 (Universal Windows) e DirectX 11 e aplicativo XAML (Universal Windows).
- SamplePixelShader.hlsl - Um sombreador de pixel de exemplo simples.
- SampleVertexShader.hlsl - Um exemplo simples de sombreador de vértice.
- ShaderStructures.h - Estruturas usadas para enviar data para o sombreador de vértice de exemplo.
- Comum
- StepTimer.h - Uma classe auxiliar para animação e tempo de simulação.
- DirectXHelper.h - Funções auxiliares diversas.
- DeviceResources.h e Device Resources.cpp - Fornece uma interface para que um aplicativo que possui DeviceResources seja notificado sobre o dispositivo que está sendo perdido ou criado.
- d3dx12.h - Contém a biblioteca de utilitários D3DX12. Este arquivo só aparece no aplicativo DirectX 12 (Universal Windows).
- Ativos - Imagens de logotipo e tela inicial usadas pelo aplicativo.
Próximas etapas
Agora que você tem um ponto de partida, adicione-o para desenvolver seu conhecimento de desenvolvimento de jogos e habilidades de desenvolvimento de jogos da Microsoft Store.
Se você estiver portando um jogo existente, consulte os tópicos a seguir.
- Portar de OpenGL ES 2.0 para Direct3D 11.1
- Portar do DirectX 9 para a Plataforma Universal do Windows
Se você estiver criando um novo jogo em DirectX, consulte os tópicos a seguir.