DX11エフェクトシステム作成 Part2 コンパイラ作成

FXファイルのコンパイラを作成します。ただし一部の仕様のみに対応した簡易コンパイラです。複雑な構文解析は行わないので、文字列によって処理を分岐させる程度のプログラムになります。


コンパイラ

コンパイラといっても内容に従って構造体に値を代入するだけの処理です。シェーダコード自体はD3DCompileを使用し、シェーダバイナリコードを保持します。シェーダの変数については直接扱わず、シェーダバイナリコードを介して操作(ID3D11ShaderReflection)。
FXファイル仕様 Effect Format (Direct3D 11)の一部の仕様に対応。

検証に使用したFXファイル
作成したコンパイルが対応できる書式、これ以外のFXファイル仕様は未対応。

コンパイル結果
結果を保存するコンテナクラスを作成。DirectX11関連のオブジェクトはこの時点では作成しない。単純な構造体に値を書き込みとシェーダバイナリコード作成のみ。

使用例
コンパイル結果(FXContainer)から取得した構造体を使用してDirectX11のオブジェクトを生成。


サンプルプログラム

エフェクトシステムの作成 Part2 コンパイラ作成
DX11エフェクトシステムの作成 Part2 コンパイラ作成

コメントを残す

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

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