次の方法で共有


D3DXCompileShaderFromResource 関数

シェーダー ファイルをコンパイルします。

Note

このレガシ関数を使用する代わりに、Fxc.exe コマンド ライン コンパイラを使用してオフラインでコンパイルするか 、D3DCompile API を使用することをお勧めします。

 

構文

HRESULT D3DXCompileShaderFromResource(
  _In_        HMODULE             hSrcModule,
  _In_        LPCSTR              pSrcResource,
  _In_  const D3DXMACRO           *pDefines,
  _In_        LPD3DXINCLUDE       pInclude,
  _In_        LPCSTR              pFunctionName,
  _In_        LPCSTR              pProfile,
  _In_        DWORD               Flags,
  _Out_       LPD3DXBUFFER        *ppShader,
  _Out_       LPD3DXBUFFER        *ppErrorMsgs,
  _Out_       LPD3DXCONSTANTTABLE *ppConstantTable
);

パラメーター

hSrcModule [in]

種類: HMODULE

効果の説明を含むモジュールを処理します。 このパラメーターが NULL の場合は、現在のモジュールが使用されます。

pSrcResource [in]

種類: LPCSTR

リソース名を指定する文字列へのポインター。

pDefines [in]

型: const D3DXMACRO*

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

pInclude [in]

種類: LPD3DXINCLUDE

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

pFunctionName [in]

種類: LPCSTR

実行が開始されるシェーダー エントリ ポイント関数へのポインター。

pProfile [in]

種類: LPCSTR

シェーダー命令セットを決定するシェーダー プロファイルへのポインター。 使用可能なプロファイルの一覧については、「 D3DXGetVertexShaderProfile 」または「 D3DXGetPixelShaderProfile 」を参照してください。

Flags [in]

種類: DWORD

さまざまなフラグで識別されるコンパイル オプション。 Direct3D 10 HLSL コンパイラが既定になりました。 詳細については、「 D3DXSHADER フラグ 」を参照してください。

ppShader [out]

種類: LPD3DXBUFFER*

作成されたシェーダーを含むバッファーを返します。 このバッファーには、コンパイルされたシェーダー コードと、埋め込まれたデバッグとシンボル テーブルの情報が含まれます。

ppErrorMsgs [out]

種類: LPD3DXBUFFER*

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

ppConstantTable [out]

種類: LPD3DXCONSTANTTABLE*

シェーダー定数へのアクセスに使用できる ID3DXConstantTable インターフェイスを返します。 この値は NULL にすることができます。 アプリケーションを大きなアドレスに対応するようにコンパイルする場合 (つまり、/LARGEADDRESSAWARE リンカー オプションを使用して 2 GB を超えるアドレスを処理する場合)、このパラメーターを使用できず、 NULL に設定する必要があります。 代わりに、 D3DXGetShaderConstantTableEx 関数を使用して、シェーダー内に埋め込まれているシェーダー定数テーブルを取得する必要があります。 この D3DXGetShaderConstantTableEx 呼び出しでは、 D3DXCONSTTABLE_LARGEADDRESSAWARE フラグを Flags パラメーターに渡して、最大 4 GB の仮想アドレス空間にアクセスするように指定する必要があります。

戻り値

種類: HRESULT

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

要件

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

関連項目

シェーダー関数

D3DXCompileShader

D3DXCompileShaderFromFile