D3DPreprocess 関数 (d3dcompiler.h)
コンパイルされていない HLSL コードを前処理します。
構文
HRESULT D3DPreprocess(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in, optional] LPCSTR pSourceName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[out] ID3DBlob **ppCodeText,
[out, optional] ID3DBlob **ppErrorMsgs
);
パラメーター
[in] pSrcData
種類: LPCVOID
コンパイルされていないシェーダー データへのポインター。ASCII HLSL コードまたはコンパイル済み効果のいずれか。
[in] SrcDataSize
種類: SIZE_T
pSrcData の長さ。
[in, optional] pSourceName
種類: LPCSTR
コンパイルされていない HLSL コードを含むファイルの名前。
[in, optional] pDefines
型: const D3D_SHADER_MACRO*
NULL で終わるマクロ定義の配列 ( D3D_SHADER_MACROを参照)。
[in, optional] pInclude
種類: ID3DInclude*
インクルード ファイルを処理するための ID3DInclude へのポインター。 これを NULL に設定すると、シェーダーに #include が含まれている場合、コンパイル エラーが発生します。 既定のインクルード ハンドラーへのポインターである D3D_COMPILE_STANDARD_FILE_INCLUDE マクロを渡すことができます。 この既定のインクルード ハンドラーには、現在のディレクトリに対して相対的なファイルと、初期ソース ファイルのディレクトリを基準とするファイルが含まれます。 D3D_COMPILE_STANDARD_FILE_INCLUDEを使用する場合は、pSourceName パラメーターにソース ファイル名を指定する必要があります。コンパイラは、pSourceName から初期相対ディレクトリを派生させます。
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
種類: ID3DBlob**
コンパイル済みコードを含む ID3DBlob のアドレス。
[out, optional] ppErrorMsgs
種類: ID3DBlob**
コンパイラ エラー メッセージを含む ID3DBlob へのポインター。エラーがない場合は NULL 。
戻り値
種類: HRESULT
Direct3D 11 のリターン コードのいずれかを返します。
解説
D3DPreprocess は ディレクティブ #line 出力し、ソース入力の行番号を保持して、出力行番号を入力ソースに適切に関連付けることができます。
要件
対象プラットフォーム | Windows |
ヘッダー | d3dcompiler.h |
Library | D3dcompiler_47.lib |
[DLL] | D3dcompiler_47.dll |