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

DirectX とユニバーサル Windows プラットフォーム (UWP) のテンプレートは、ゲームの出発点として使ってプロジェクトをすばやく作成することができます。

前提条件

プロジェクトを作成するには、次の作業が必要です。

テンプレートの選択

Visual Studio 2015 には、DirectX と UWP のテンプレートが 3 つ用意されています。

  • DirectX 11 アプリ (ユニバーサル Windows) - DirectX 11 アプリ (ユニバーサル Windows) テンプレートは、DirectX 11 を使ってアプリ ウィンドウに直接レンダリングする UWP プロジェクトを作成します。
  • DirectX 12 アプリ (ユニバーサル Windows) - DirectX 12 アプリ (ユニバーサル Windows) テンプレートは、DirectX 12 を使ってアプリ ウィンドウに直接レンダリングする UWP プロジェクトを作成します。
  • DirectX 11 および XAML アプリ (ユニバーサル Windows) - DirectX 11 および XAML アプリ (ユニバーサル Windows) テンプレートは、DirectX 11 を使って XAML コントロール内にレンダリングする UWP プロジェクトを作成します。 このテンプレートは SwapChainPanel を使うため、XAML UI コントロールを使うことができます。 そのため、ユーザー インターフェイス要素をより簡単に追加できますが、XAML テンプレートを使うとパフォーマンスが低下する場合があります。

どちらのテンプレートを使うかは、必要なパフォーマンスと利用するテクノロジによって異なります。

テンプレートの構造

DirectX ユニバーサル Windows テンプレートには、次のファイルが含まれています。

  • pch.h and pch.cpp - プリコンパイル済みヘッダーのサポートです。
  • Package.appxmanifest - アプリの展開パッケージのプロパティです。
  • *.pfx - アプリケーションの証明書です。
  • 外部の依存関係 - プロジェクトが使う外部ファイルへのリンクです。
  • *Main.h と *Main.cpp - アプリケーション アセットの管理、アプリケーション状態の更新、フレームのレンダリングを行うためのメソッドです。
  • App.h と App.cpp - アプリのメイン エントリ ポイントです。 アプリと Windows シェルを接続し、アプリケーション ライフサイクル イベントを処理します。 これらのファイルは、DirectX 11 アプリ (ユニバーサル Windows) と DirectX 12 アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。
  • App.xaml、App.xaml.cpp、App.xaml.h - アプリのメイン エントリ ポイントです。 アプリと Windows シェルを接続し、アプリケーション ライフサイクル イベントを処理します。 これらのファイルは、DirectX 11 および XAML アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。
  • DirectXPage.xaml、DirectXPage.xaml.cpp、DirectXPage.xaml.h - DirectX SwapChainPanel をホストするページ。 これらのファイルは、DirectX 11 および XAML アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。
  • Content
    • Sample3DSceneRenderer.h and Sample3DSceneRenderer.cpp - 基本的なレンダリング パイプラインをインスタンス化するサンプル レンダラーです。
    • SampleFpsTextRenderer.h and SampleFpsTextRenderer.cpp - Direct2D と DirectWrite を使って画面の右下隅に現在の FPS 値をレンダリングします。 これらのファイルは、DirectX 11 アプリ (ユニバーサル Windows) と DirectX 11 および XAML アプリ (ユニバーサル Windows) のテンプレートにのみ表示されます。
    • SamplePixelShader.hlsl - シンプルなサンプル ピクセル シェーダーです。
    • SampleVertexShader.hlsl - シンプルなサンプル頂点シェーダーです。
    • ShaderStructures.h - サンプル頂点シェーダーに日付を送信するために使われる構造体。
  • 共通
    • StepTimer.h - アニメーションとシミュレーションのタイミングを行うためのヘルパー クラスです。
    • DirectXHelper.h - その他のヘルパー関数。
    • DeviceResources.h and Device Resources.cpp - 消失または作成されるデバイスについて通知する DeviceResources を所有するアプリケーションにインターフェイスを提供します。
    • d3dx12.h - D3DX12 ユーティリティ ライブラリが含まれています。 このファイルは、DirectX 12 アプリ (ユニバーサル Windows) にのみ表示されます。
  • アセット - アプリケーションが使うロゴとスプラッシュ画面の画像です。

次の手順

これで、出発点に立つことができました。次は、ゲーム開発の知識と Microsoft Store ゲームの開発スキルを学びます。

既にあるゲームを移植する場合は、次のトピックをご覧ください。

新しい DirectX ゲームを作成する場合は、次のトピックをご覧ください。