D3DCompileFromFile 関数 (d3dcompiler.h)

メモ この API を使用して Windows ストア アプリを開発できますが、Windows ストアに送信するアプリでは使用できません。 D3DCompile2 の解説の「UWP 用シェーダーのコンパイル」セクションを参照してください。
 
特定のターゲットのバイトコードに Microsoft High Level Shader Language (HLSL) コードをコンパイルします。

構文

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 で終わる定数文字列へのポインター。 効果をコンパイルすると、 D3DCompileFromFilepEntrypoint を無視します。 び出された関数で 使用 されない場合は、ポインター パラメーターを NULL に設定することをお勧めします。

[in] pTarget

コンパイル対象のシェーダー ターゲットまたはシェーダー機能のセットを指定する、null で終わる定数文字列へのポインター。 シェーダー ターゲットには、シェーダー モデル (シェーダー モデル 2、シェーダー モデル 3、シェーダー モデル 4、シェーダー モデル 5 以降など) を指定できます。 ターゲットには、効果の種類 (fx_4_1など) を指定することもできます。 さまざまなプロファイルでサポートされるターゲットの詳細については、「 コンパイラ ターゲットの指定」を参照してください。

[in] Flags1

ビットごとの OR 演算を使用して結合されるシェーダー コンパイル オプションの組み合わせ。 結果の値は、コンパイラが HLSL コードをコンパイルする方法を指定します。

[in] Flags2

ビットごとの OR 演算を使用して結合される効果コンパイル オプションの組み合わせ。 結果の値は、コンパイラが効果をコンパイルする方法を指定します。 効果ファイルではなくシェーダーをコンパイルすると、 D3DCompileFromFileFlags2 を無視します。呼び出された関数で使用されない場合は、非ポイント パラメーターを 0 に設定することをお勧めします。

[out] ppCode

コンパイル済みコードへのアクセスに使用できる ID3DBlob インターフェイスへのポインターを受け取る変数へのポインター。

[out, optional] ppErrorMsgs

コンパイラ エラー メッセージへのアクセスに使用できる ID3DBlob インターフェイスへのポインターを受け取る変数への省略可能なポインター。エラーがない場合は NULL

戻り値

Direct3D 11 のリターン コードのいずれかを返します

注釈

メモ ファイルの D3dcompiler_44.dll 以降のバージョンには、 D3DCompileFromFile コンパイラ関数が含まれています。
 

要件

要件
対象プラットフォーム Windows
ヘッダー d3dcompiler.h
Library D3DCompiler.lib
[DLL] D3DCompiler_47.dll

関連項目

関数