9.Dx12版のプロジェクト設定

今回は、前回Dx11版用に設定した内容を、Dx12版として設定します。
実行結果はメッセージボックスが出るだけなので、Dx11版と同じでいいかと思われますが、Dx12を動かすには「Windows10」と「WindowsSDK」が必要で、そのように設定しなければなりません。
ただ、プロパティページの表示方法や設定の方法は前回と一緒なので、図説の部分は省略させていただいて、設定すべき項目のみ、以下に示させていただきます。
最初にメインプロジェクトのプロパティページの設定を行います。「7.Dx11のプロジェクトの設定」の要領で、「BaseCrossDx12」プロジェクトのプロパティページで設定を行います。

以下は、プロパティページでの設定です。
「構成/すべての構成」「プラットフォーム/アクティブ(Win32)」の状態で
1、「構成プロパティ/全般」「全般/ターゲットプラットフォームバージョン」を「10.0.10240.0」にします。
2、「構成プロパティ/全般」「全般/中間ディレクトリ」を「$(SolutionDir)Temp\Dx12\$(Configuration)\」にします。
3、「構成プロパティ/VC++ディレクトリ」「全般/インクルードディレクトリ」に「$(SolutionDir)..\Libs\include」を追加します。
4、「構成プロパティ/VC++ディレクトリ」「全般/ライブラリディレクトリ」に「$(SolutionDir)..\Libs\lib\Dx12\$(Configuration)\」を追加します。
5、「構成プロパティ/[C/C++]/全般」「追加のインクルードディレクトリ」に「$(ProjectDir)」を追加します。
6、「構成プロパティ/[C/C++]/コード生成」「拡張命令セットを有効にする」を「ストリーミング SIMD 拡張命令 2 (/arch:SSE2)」にします。
7、「構成プロパティ/[C/C++]/コード生成」「浮動小数点モデル」を「Fast (/fp:fast)」にします。
(ここでいったん保存します)
「構成/Debug」「プラットフォーム/アクティブ(Win32)」の状態で
8、「構成プロパティ/[C/C++]/コード生成」「ランタイムライブラリ」を「マルチスレッド デバッグ (/MTd)」にします。
「構成/Release」「プラットフォーム/アクティブ(Win32)」の状態で
9、「構成プロパティ/[C/C++]/コード生成」「ランタイムライブラリ」を「マルチスレッド (/MT)」にします。
ここまで設定したら、保存の上プロパティページを閉じます。

次に「Libsソリューションフォルダ」を作ります。「6.DirectXTexの追加」と同じです。
そして「DirectXTexの追加」を行います。ソリューションへの追加方法は「6.DirectXTexの追加」と同様ですが、追加するプロジェクトが違います。
Dx11版では、「DirectXTex_Desktop_2015.vcxproj」を追加しましたが、Dx12版では「DirectXTex_Desktop_2015_Win10.vcxproj」を追加します(ここは重要ですので、間違わないようにしましょう)
「DirectXTexの追加」が終わったら「ソリューション」の「プロパティ」で「プロジェクトの依存関係」で「DirectXTex」にチェックを入れます。
その後、「6.DirectXTexの追加」のように「構成」から「Profile」を削除し、「プラットフォーム」から「x64」を削除します。 削除が終わったら、「DirectXTexのプロパティページ」を出して以下の設定を行います。

以下は、プロパティページでの設定です。「7.Dx11のプロジェクトの設定」が参考になると思います。
「構成/すべての構成」「プラットフォーム/アクティブ(Win32)」の状態で
1、「構成プロパティ/全般」「全般/ターゲットプラットフォームバージョン」を「10.0.10240.0」にします。
2、「構成プロパティ/全般」「全般/出力ディレクトリ」を「..\lib\Dx12\$(Configuration)\」にします。
3、「構成プロパティ/全般」「全般/中間ディレクトリ」を「$(SolutionDir)Temp\DirectXTX\Dx12\$(Configuration)\」にします。
4、「構成プロパティ/[C/C++]/コード生成」「拡張命令セットを有効にする」を「ストリーミング SIMD 拡張命令 2 (/arch:SSE2)」にします。
5、「構成プロパティ/[C/C++]/コード生成」「浮動小数点モデル」を「Fast (/fp:fast)」にします。
(ここでいったん保存します)
「構成/Debug」「プラットフォーム/アクティブ(Win32)」の状態で
6、「構成プロパティ/[C/C++]/コード生成」「ランタイムライブラリ」を「マルチスレッド デバッグ (/MTd)」にします。
「構成/Release」「プラットフォーム/アクティブ(Win32)」の状態で
7、「構成プロパティ/[C/C++]/コード生成」「ランタイムライブラリ」を「マルチスレッド (/MT)」にします。
ここまで設定したら、保存の上プロパティページを閉じます。

その後「共有アイテムプロジェクト」を設定します。「Libs」フィルタに「プロジェクトの追加」「既存のプロジェクト」で「DxLib」を追加します。これはDx11、Dx12共有で使用するので、既存の追加、で問題ありません。

そしてもう一つ。「Libs」フィルタに「プロジェクトの追加」「新規プロジェクト」で、「Dx12Lib」を同じ階層に追加します。こちらはDx12専用の「共有アイテムプロジェクト」になります。
「共有アイテムプロジェクト」を追加したら、「BaseCrossDx12」の参照で「DxLib」「Dx12Lib」の両方を「参照の追加」をしておきます。ここまで設定したソリューションエクスプローラが以下です。

2016080206

この状態で「ビルド」「リビルド」でダイアログが出れば成功です。

なおこの時点でのGitHubのコミットが
「Dx11、Dx12両環境設定とDirectXTexをプロジェクトに追加。でもまだまだただのWindowsアプリです。」
というコミットです。
https://github.com/WiZFramework/BaseCross
を確認ください。

それではこの項終了です。

カテゴリー

ピックアップ記事

  1. 2016092201
    今回は前回のサンプルを少し機能を追加しまして、いろんなオブジェクトを追加しています。FullTuto…
  2. 2016092001
    前回更新から時間がたってしまいましたが、今回はフルバージョンチュートリアル003をアップしました。内…
  3. eyecatch
    前回更新から時間がたってしまいましたが、今回はフルバージョンチュートリアル002で懸案となっていまし…
PAGE TOP