次の方法で共有


D3DXPreprocessShaderFromResource 関数

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

注意

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

 

構文

HRESULT D3DXPreprocessShaderFromResource(
  _In_        HMODULE       hSrcModule,
  _In_        LPCSTR        pSrcResource,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _Out_       LPD3DXBUFFER  *ppShaderText,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

パラメーター

hSrcModule [in]

種類: HMODULE

シェーダー リソースを保持するモジュールを処理します。 この値が NULL の場合は、現在のモジュールが使用されます。

pSrcResource [in]

種類: LPCSTR

モジュール内のリソースの名前を表す文字列。

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

D3DXPreprocessShader