DirectX ゲーム プロジェクト テンプレートDirectX game project templates

DirectX とユニバーサル Windows プラットフォーム (UWP) のテンプレートは、ゲームの出発点として使ってプロジェクトをすばやく作成することができます。The DirectX and Universal Windows Platform (UWP) templates allow you to quickly create a project as a starting point for your game.

前提条件Prerequisites

プロジェクトを作成するには、次の作業が必要です。To create the project you need to:

テンプレートの選択Choosing a template

Visual Studio 2015 には、DirectX および UWP の 3 つのテンプレートが含まれています。Visual Studio 2015 includes three DirectX and UWP templates:

  • DirectX 11 アプリ (ユニバーサル Windows) - DirectX 11 アプリ (ユニバーサル Windows) テンプレートは、DirectX 11 を使ってアプリ ウィンドウに直接レンダリングする UWP プロジェクトを作成します。DirectX 11 App (Universal Windows) - The DirectX 11 App (Universal Windows) template creates a UWP project, which renders directly to an app window using DirectX 11.
  • DirectX 12 アプリ (ユニバーサル Windows) - DirectX 12 アプリ (ユニバーサル Windows) テンプレートは、DirectX 12 を使ってアプリ ウィンドウに直接レンダリングする UWP プロジェクトを作成します。DirectX 12 App (Universal Windows) - The DirectX 12 App (Universal Windows) template creates a project UWP, which renders directly to an app window using DirectX 12.
  • DirectX 11 および XAML アプリ (ユニバーサル Windows) - DirectX 11 および XAML アプリ (ユニバーサル Windows) テンプレートは、DirectX 11 を使って XAML コントロール内にレンダリングする UWP プロジェクトを作成します。DirectX 11 and XAML App (Universal Windows) - The DirectX 11 and XAML App (Universal Windows) template creates a UWP project, which renders inside a XAML control using DirectX 11. このテンプレートは SwapChainPanel を使うため、XAML UI コントロールを使うことができます。This template uses a SwapChainPanel, so you can use XAML UI controls. そのため、ユーザー インターフェイス要素をより簡単に追加できますが、XAML テンプレートを使うとパフォーマンスが低下する場合があります。This can make adding user interface elements easier, but using the XAML template may result in lower performance.

どちらのテンプレートを使うかは、必要なパフォーマンスと利用するテクノロジによって異なります。Which template you choose depends on the performance and what technologies you want to use.

テンプレートの構造Template structure

DirectX ユニバーサル Windows テンプレートには、次のファイルが含まれています。The DirectX Universal Windows templates contain the following files:

  • pch.h and pch.cpp - プリコンパイル済みヘッダーのサポートです。pch.h and pch.cpp - Precompiled header support.
  • Package.appxmanifest - アプリの展開パッケージのプロパティです。Package.appxmanifest - The properties of the deployment package for the app.
  • *.pfx のアプリケーション用の証明書。*.pfx - Certificates for the application.
  • 外部の依存関係 - プロジェクトが使う外部ファイルへのリンクです。External Dependencies - Links to external files the project use.s
  • *Main.h と*Main.cpp にアプリケーション資産を管理する、アプリケーションの状態を更新およびフレームのレンダリング方法。*Main.h and *Main.cpp - Methods for managing application assets, updating application state, and rendering the frame.
  • App.h と App.cpp - アプリのメイン エントリ ポイントです。App.h and App.cpp - Main entry point for the application. アプリと Windows シェルを接続し、アプリケーション ライフサイクル イベントを処理します。Connects the app with the Windows shell and handles application lifecycle events. これらのファイルは、DirectX 11 アプリ (ユニバーサル Windows) と DirectX 12 アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。These files only appear in the DirectX 11 App (Universal Windows) and DirectX 12 App (Universal Windows) templates.
  • App.xaml、App.xaml.cpp、App.xaml.h - アプリのメイン エントリ ポイントです。App.xaml, App.xaml.cpp, and App.xaml.h - Main entry point for the application. アプリと Windows シェルを接続し、アプリケーション ライフサイクル イベントを処理します。Connects the app with the Windows shell and handles application lifecycle events. これらのファイルは、DirectX 11 および XAML アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。These files only appear in the DirectX 11 and XAML App (Universal Windows) template.
  • DirectXPage.xaml、DirectXPage.xaml.cpp、DirectXPage.xaml.h - DirectX SwapChainPanel をホストするページ。DirectXPage.xaml, DirectXPage.xaml.cpp, and DirectXPage.xaml.h - A page that hosts a DirectX SwapChainPanel. これらのファイルは、DirectX 11 および XAML アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。These files only appear in the DirectX 11 and XAML App (Universal Windows) template.
  • ContentContent
    • Sample3DSceneRenderer.h and Sample3DSceneRenderer.cpp - 基本的なレンダリング パイプラインをインスタンス化するサンプル レンダラーです。Sample3DSceneRenderer.h and Sample3DSceneRenderer.cpp - A sample renderer that instantiates a basic rendering pipeline.
    • SampleFpsTextRenderer.h and SampleFpsTextRenderer.cpp - Direct2D と DirectWrite を使って画面の右下隅に現在の FPS 値をレンダリングします。SampleFpsTextRenderer.h and SampleFpsTextRenderer.cpp - Renders the current FPS value in the bottom right corner of the screen using Direct2D and DirectWrite. これらのファイルは、DirectX 11 アプリ (ユニバーサル Windows) と DirectX 11 および XAML アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。These files only appear in the DirectX 11 App (Universal Windows) and DirectX 11 and XAML App (Universal Windows) templates.
    • SamplePixelShader.hlsl - シンプルなサンプル ピクセル シェーダーです。SamplePixelShader.hlsl - A simple example pixel shader.
    • SampleVertexShader.hlsl - シンプルなサンプル頂点シェーダーです。SampleVertexShader.hlsl - A simple example vertex shader.
    • ShaderStructures.h - サンプル頂点シェーダーに日付を送信するために使われる構造体。ShaderStructures.h - Structures used to send date to the example vertex shader.
  • 共通Common
    • StepTimer.h - アニメーションとシミュレーションのタイミングを行うためのヘルパー クラスです。StepTimer.h - A helper class for animation and simulation timing.
    • DirectXHelper.h - その他のヘルパー関数。DirectXHelper.h - Misc Helper functions.
    • DeviceResources.h and Device Resources.cpp - 消失または作成されるデバイスについて通知する DeviceResources を所有するアプリケーションにインターフェイスを提供します。DeviceResources.h and Device Resources.cpp - Provides an interface for an application that owns DeviceResources to be notified of the device being lost or created.
    • d3dx12.h - D3DX12 ユーティリティ ライブラリが含まれています。d3dx12.h - Contains the D3DX12 utility library. このファイルは、DirectX 12 アプリ (ユニバーサル Windows) にのみ表示されます。This file only appears in the DirectX 12 App (Universal Windows).
  • アセット - アプリケーションが使うロゴとスプラッシュ画面の画像です。Assets - Logo and splashscreen images used by the application.

次のステップNext steps

これで、出発点に立つことができました。次は、ゲーム開発の知識と Microsoft Store ゲームの開発スキルを学びます。Now that you have a starting point, add to it to build your game development knowledge and Microsoft Store game development skills.

既にあるゲームを移植する場合は、次のトピックをご覧ください。If you are porting an existing game, see the following topics.

新しい DirectX ゲームを作成する場合は、次のトピックをご覧ください。If you are creating a new DirectX game, see the following topics.