D3DCompileFromFile 関数 (d3dcompiler.h)
構文
HRESULT D3DCompileFromFile(
[in] LPCWSTR pFileName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[in] LPCSTR pEntrypoint,
[in] LPCSTR pTarget,
[in] UINT Flags1,
[in] UINT Flags2,
[out] ID3DBlob **ppCode,
[out, optional] ID3DBlob **ppErrorMsgs
);
パラメーター
[in] pFileName
シェーダー コードを含むファイルの名前を含む、null で終わる定数文字列へのポインター。
[in, optional] pDefines
シェーダー マクロを定義 するD3D_SHADER_MACRO 構造体の省略可能な配列。 各マクロ定義には、名前と null で終わる定義が含まれています。 使用しない場合は、NULL に設定 します。 配列内の最後の構造体はターミネータとして機能し、すべてのメンバーを NULL に設定する必要があります。
[in, optional] pInclude
コンパイラがインクルード ファイルの処理に使用する ID3DInclude インターフェイスへの省略可能なポインター。 このパラメーターを NULL に設定し、シェーダーに #include が含まれている場合は、コンパイル エラーが発生します。 既定のインクルード ハンドラーへのポインターである D3D_COMPILE_STANDARD_FILE_INCLUDE マクロを渡すことができます。 この既定のインクルード ハンドラーには、現在のディレクトリに対して相対的なファイルが含まれます。
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[in] pEntrypoint
シェーダーの実行が開始されるシェーダー エントリ ポイント関数の名前を含む、null で終わる定数文字列へのポインター。 効果をコンパイルすると、 D3DCompileFromFile は pEntrypoint を無視します。 呼 び出された関数で 使用 されない場合は、ポインター パラメーターを NULL に設定することをお勧めします。
[in] pTarget
コンパイル対象のシェーダー ターゲットまたはシェーダー機能のセットを指定する、null で終わる定数文字列へのポインター。 シェーダー ターゲットには、シェーダー モデル (シェーダー モデル 2、シェーダー モデル 3、シェーダー モデル 4、シェーダー モデル 5 以降など) を指定できます。 ターゲットには、効果の種類 (fx_4_1など) を指定することもできます。 さまざまなプロファイルでサポートされるターゲットの詳細については、「 コンパイラ ターゲットの指定」を参照してください。
[in] Flags1
ビットごとの OR 演算を使用して結合されるシェーダー コンパイル オプションの組み合わせ。 結果の値は、コンパイラが HLSL コードをコンパイルする方法を指定します。
[in] Flags2
ビットごとの OR 演算を使用して結合される効果コンパイル オプションの組み合わせ。 結果の値は、コンパイラが効果をコンパイルする方法を指定します。 効果ファイルではなくシェーダーをコンパイルすると、 D3DCompileFromFile は Flags2 を無視します。呼び出された関数で使用されない場合は、非ポイント パラメーターを 0 に設定することをお勧めします。
[out] ppCode
コンパイル済みコードへのアクセスに使用できる ID3DBlob インターフェイスへのポインターを受け取る変数へのポインター。
[out, optional] ppErrorMsgs
コンパイラ エラー メッセージへのアクセスに使用できる ID3DBlob インターフェイスへのポインターを受け取る変数への省略可能なポインター。エラーがない場合は NULL 。
戻り値
Direct3D 11 のリターン コードのいずれかを返します。
注釈
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3dcompiler.h |
Library | D3DCompiler.lib |
[DLL] | D3DCompiler_47.dll |