DX11エフェクトシステム作成 Part4 ツール作成

コンパイル結果をバイナリデータに、コンパイラをオフラインツールにしてVisualStudioに組み込みます。バイナリデータは、ファイル出力とC++ソースコード(配列データ)の2形式で出力できるようにする。VSの組み込みはカスタムビルド。
とりあえず、これで完成。これまでで得られたもの、シェーダの知識(変数、コンパイル)、字句解析処理、カスタムビルドの方法など。


バイナリデータの作成

シリアライズ、デシリアライズではなく、ちょっと違う方法でバイナリ化。バイナリデータに簡単なデータ構造情報を埋め込むことで、構築処理が不要、メモリ確保はバイナリデータ格納用の一回のみになり、簡単&高速構築。
説明するよりソースコードで

ツール化

コンパイルで生成したバイナリデータをファイル出力するツールを作成(fxc.exeの超劣化版)。オプション指定で出力形式などの設定可能、includeやdefine、最適化指定なし(今後必要に応じて)。出力形式はバイナリとC++ソースコードでの配列定義の2種類。

VisualStudio2012への組み込み

プログラムのビルド時にシェーダコンパイルするために、カスタムビルドツールを使用。シェーダソースコードをプロジェクトに追加後、プロパティを変更。

プロパティ設定

全般
 項目の種類 ⇒ ”カスタムビルドツール”
カスタムビルドツール
 コマンドライン ⇒ ツール実行用のコマンド
 出力ファイル ⇒ 出力ファイルのパス(コマンドラインの出力ファイルと同じもの)
詳しい設定などはサンプルプログラムを


サンプルプログラム

コンパイラツール作成用とカスタムビルドツールを使用したビルド時シェーダコンパイル使用例の2つのソリューション。
DX11エフェクトシステムの作成 Part4 ツール作成

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

認証:数字を入力してください(必須) * Time limit is exhausted. Please reload CAPTCHA.