D3DXCompileShaderFromFile 関数
シェーダー ファイルをコンパイルします。
注意
このレガシ関数を使用する代わりに、Fxc.exeコマンド ライン コンパイラを使用してオフラインでコンパイルするか 、D3DCompile API を使用することをお勧めします。
HRESULT D3DXCompileShaderFromFile(
_In_ LPCTSTR pSrcFile,
_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
);
-
pSrcFile [in]
-
種類: LPCTSTR
ファイル名を指定する文字列へのポインター。
-
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_NOTIMPL、E_OUTOFMEMORYのいずれかになります。
E_NOTIMPLは、1.1 シェーダー (vs_1_1 と ps_1_1) を使用している場合に返されます。
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|