次の方法で共有


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

関連項目

関数