ID3DXEffectCompiler::CompileShader
1 つまたは複数の関数を含むエフェクトからのシェーダーをコンパイルします。
HRESULT
CompileShader(
D3DXHANDLE hFunction,
LPCSTR pTarget,
DWORD Flags,
LPD3DXBUFFER* ppShader,
LPD3DXBUFFER* ppErrorMsgs,
LPD3DXCONSTANTTABLE* ppConstantTable
);
パラメータ
- hFunction
コンパイルされる関数への一意な識別子です。この値を NULL にすることはできません。「ハンドル (Direct3D 9)」を参照してください。 - pTarget
シェーダーの命令セットを決定するシェーダー プロファイルへのポインターです。利用可能なプロファイルの一覧については、「D3DXGetVertexShaderProfile」または「D3DXGetPixelShaderProfile」を参照してください。 - Flags
さまざまなフラグにより指定されるコンパイル オプションです。Direct3D 10 HLSL コンパイラが現在の既定のコンパイラです。詳細については、「D3DXSHADER フラグ」を参照してください。 - ppShader
コンパイルされたシェーダーが格納されるバッファーです。コンパイラ シェーダーは、DWORD の配列です。バッファーへのアクセスの詳細については、「ID3DXBuffer」を参照してください。 - ppErrorMsgs
発生した最初のコンパイル エラー メッセージを格納するバッファーです。エフェクトのコンパイル エラーと上位レベル言語のコンパイル エラーが含まれます。バッファーへのアクセスの詳細については、「ID3DXBuffer」を参照してください。 - ppConstantTable
シェーダー定数へのアクセスを可能にする ID3DXConstantTable インターフェイスを返します。この値は NULL でもかまいません。
戻り値
成功した場合は、S_OK を返します。
引数が無効な場合は、D3DERR_INVALIDCALL を返します。
失敗した場合は、E_FAIL を返します。
解説
ターゲットは、頂点シェーダー、ピクセル シェーダー、およびテクスチャーの塗りつぶし関数に対して指定されます。
頂点シェーダーのターゲット | vs_1_1、vs_2_0、vs_2_sw、vs_3_0 |
ピクセル シェーダーのターゲット | ps_1_1、ps_1_2、ps_1_3、ps_1_4、ps_2_0、ps_2_sw、ps_3_0 |
テクスチャーの塗りつぶしターゲット | tx_0、tx_1 |
このメソッドは、C に似た言語で記述された関数からのシェーダーをコンパイルします。詳細については、「HLSL」を参照してください。
要件
ヘッダー: D3DX9Effect.h 宣言
ライブラリ: D3dx9.lib 内容