次の方法で共有


D3DXPreprocessShader 関数

コンパイルを実行せずにシェーダーを前処理します。 これにより、すべての#definesと#includesが解決され、後続のコンパイル用に自己完結型シェーダーが提供されます。

Note

このレガシ関数を使用する代わりに、 D3DPreprocess API を使用することをお勧めします。

 

構文

HRESULT D3DXPreprocessShader(
  _In_        LPCSTR        pSrcData,
  _In_        UINT          SrcDataSize,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _Out_       LPD3DXBUFFER  *ppShaderText,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

パラメーター

pSrcData [in]

種類: LPCSTR

シェーダーを含む文字列へのポインター。

SrcDataSize [in]

型: UINT

データの長さ (バイト単位)。

pDefines [in]

型: const D3DXMACRO*

D3DXMACRO 構造体の NULL で終わる省略可能な配列。 この値は NULL である可能性があります。

pInclude [in]

種類: LPD3DXINCLUDE

#include ディレクティブの処理に使用するオプションのインターフェイス ポインター ID3DXInclude。 この値が NULL の場合、#includesはファイルからコンパイルするときに優先されるか、リソースまたはメモリからコンパイルされるときにエラーが発生します。

ppShaderText [out]

種類: LPD3DXBUFFER*

結果の書式設定されたトークン ストリームを表す 1 つの大きな文字列を含むバッファーを返します。

ppErrorMsgs [out]

種類: LPD3DXBUFFER*

コンパイル中に発生したエラーと警告の一覧を含むバッファーを返します。 これらは、デバッグ モードで実行中にデバッガーに表示されるメッセージと同じです。 この値は NULL である可能性があります。

戻り値

種類: HRESULT

関数が成功した場合、戻り値はD3D_OK。 関数が失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA、E_OUTOFMEMORY。

要件

要件
ヘッダー
D3DX9Shader.h
ライブラリ
D3dx9.lib

関連項目

シェーダー関数

D3DXPreprocessShaderFromFile

D3DXPreprocessShaderFromResource