D3DXCompileShader

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

HRESULT 
D3DXCompileShader(
  LPCSTR pSrcData,
  UINT srcDataLen,
  CONST D3DXMACRO* pDefines,
  LPD3DXINCLUDE pInclude,
  LPCSTR pFunctionName,
  LPCSTR pProfile,
  DWORD Flags,
  LPD3DXBUFFER* ppShader,
  LPD3DXBUFFER* ppErrorMsgs,
  LPD3DXCONSTANTTABLE * ppConstantTable
);

パラメータ

  • pSrcData
    シェーダーを含む文字列へのポインターです。
  • srcDataLen
    データの長さ (バイト単位) です。
  • pDefines
    D3DXMACRO 構造体のオプションの NULL 終端配列です。この値は NULL でもかまいません。
  • pInclude
    #include ディレクティブを処理するために使用される、オプションのインターフェイス ポインター ID3DXInclude です。この値に NULL を指定すると、#include はファイルからコンパイルする場合は有効ですが、リソースやメモリーからコンパイルする場合はエラーとなります。
  • pFunctionName
    実行を開始するシェーダー エントリ ポイント関数の名前を含む文字列へのポインターです。
  • pProfile
    シェーダーの命令セットを決定するシェーダー プロファイルへのポインターです。利用可能なプロファイルの一覧については、「D3DXGetVertexShaderProfile」または「D3DXGetPixelShaderProfile」を参照してください。
  • Flags
    さまざまなフラグにより指定されるコンパイル オプションです。Direct3D 10 HLSL コンパイラが現在の既定のコンパイラです。詳細については、「D3DXSHADER フラグ」を参照してください。
  • ppShader
    作成されたシェーダーを格納するバッファーを返します。このバッファーには、コンパイルされたシェーダー コードだけでなく、埋め込まれたデバッグおよびシンボル テーブル情報が格納されます。
  • ppErrorMsgs
    コンパイル中に発生したエラーおよび警告の一覧を含むバッファーを返します。これらは、デバッグ モードで動作中にデバッガーが表示したものと同じメッセージです。この値は NULL でもかまいません。
  • ppConstantTable
    シェーダー定数へのアクセスを可能にする ID3DXConstantTable インターフェイスを返します。この値は NULL でもかまいません。

戻り値

成功すると、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA、E_OUTOFMEMORY

要件

ヘッダー: D3DX9Shader.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

D3DXCompileShaderFromFile, D3DXCompileShaderFromResource