チュートリアル: DirectX 11 と Windows ストアへの簡単な Direct3D 9 アプリの移植

Applies to Windows and Windows Phone

この移植作業では、Direct3D 9 から Direct3D 11 と Windows ストアに簡単なレンダリング フレームワークを移植する方法について説明します。

このセクションの内容

トピック説明

Direct3D 11 の初期化

Direct3D デバイスとデバイス コンテキストへのハンドルを取得する方法や、DXGI を使ってスワップ チェーンを設定する方法など、Direct3D 9 の初期化コードを Direct3D 11 に変換する方法について説明します。

レンダリング フレームワークの変換

ジオメトリ バッファーを移植する方法、HLSL シェーダー プログラムをコンパイルして読み込む方法、Direct3D 11 のレンダリング チェーンを実装する方法など、Direct3D 9 の簡単なレンダリング フレームワークを Direct3D 11 に変換する方法について説明します。

ゲーム ループの移植

IFrameworkView を作成して、全画面表示の CoreWindow を制御する方法など、Windows ストア ゲームまたは Windows Phone ゲームのウィンドウを実装する方法とゲーム ループを移植する方法について説明します。

 

このトピックでは、頂点シェーディングされた回転する立方体を表示する同じ基本的なグラフィックス タスクを実行する 2 つのコード パスについて説明します。いずれの場合でも、コードは次のプロセスに対応しています。

  1. Direct3D デバイスとスワップ チェーンを作成する。
  2. カラフルな立方体のメッシュを表す頂点バッファーとインデックス バッファーを作成する。
  3. 頂点を画面領域に変換する頂点シェーダーと、色値をブレンドするピクセル シェーダーを作成し、シェーダーをコンパイルして、シェーダーを Direct3D リソースとして読み込む。
  4. レンダリング チェーンを実装し、描画された立方体を画面に表示する。
  5. ウィンドウを作成し、メイン ループを開始して、ウィンドウ メッセージの処理に対応する。

このチュートリアルを終了すると、Direct3D 9 と Direct3D 11 の次の基本的な違いを理解できます。

  • デバイス、デバイス コンテキスト、グラフィックス インフラストラクチャの分離。
  • シェーダーをコンパイルし、実行時にシェーダーのバイトコードを読み込むプロセス。
  • 入力アセンブラー (IA) ステージの頂点ごとのデータを構成する方法。
  • IFrameworkView を使って CoreWindow ビューを作成する方法。

このチュートリアルでは、簡単にするために CoreWindow を使用し、XAML の相互運用には対応しないことに注意してください。

前提条件

Windows ストア DirectX ゲームの開発環境を準備する必要があります。テンプレートはまだ必要ありませんが、このチュートリアルのコード サンプルを読み込むために Microsoft Visual Studio 2013 が必要です。

簡単な Direct3D 9 から DirectX 11 Windows ストアへの移植サンプルをダウンロードしてください。このサンプルには、このチュートリアルで説明する Direct3D 9 と Windows ストアのコード パスが含まれています。このサンプルでは Windows ストア アプリを使っていますが、示されている移植の概念は Windows Phone アプリにも適用できます。

このチュートリアルで説明する DirectX 11 と Windows ストアのプログラミングの概念について詳しくは、「DirectX 9 からの DirectX 11 と Windows ストアへの移行」をご覧ください。

関連トピック

Direct3D
機能レベルが異なる Direct3D の開発
Direct3D 9 での HLSL シェーダーの記述
テンプレートからの DirectX ゲーム プロジェクトの作成
Windows ストア
Microsoft::WRL::ComPtr
Handle to Object Operator (^)

 

 

表示:
© 2014 Microsoft