次の方法で共有


D3DXAssembleShaderFromFile

シェーダーをアセンブルします。

HRESULT 
D3DXAssembleShaderFromFile(
  LPCTSTR pSrcFile,
  CONST D3DXMACRO* pDefines,
  LPD3DXINCLUDE pInclude,
  DWORD Flags,
  LPD3DXBUFFER* ppShader,
  LPD3DXBUFFER * ppErrorMsgs
);

パラメータ

  • pSrcFile
    ファイル名を指定する文字列へのポインターです。コンパイラーの設定で Unicode が必要な場合、データ型 LPCTSTR は LPCWSTR に解決されます。それ以外の場合、文字列データ型は LPCSTR に解決されます。「解説」を参照してください。
  • pDefines
    D3DXMACRO 構造体のオプションの NULL 終端配列です。この値は NULL でもかまいません。
  • pInclude
    #include ディレクティブを処理するために使用される、オプションのインターフェイス ポインター ID3DXInclude です。この値に NULL を指定すると、#include はファイルからコンパイルする場合は有効ですが、リソースやメモリーからコンパイルする場合はエラーとなります。
  • Flags
    さまざまなフラグにより指定されるコンパイル オプションです。Direct3D 10 HLSL コンパイラが現在の既定のコンパイラです。詳細については、「D3DXSHADER フラグ」を参照してください。
  • ppShader
    作成されたシェーダーを格納するバッファーを返します。このバッファーには、コンパイルされたシェーダー コードだけでなく、埋め込まれたデバッグおよびシンボル テーブル情報が格納されます。
  • ppErrorMsgs
    コンパイル中に発生したエラーおよび警告の一覧を含むバッファーを返します。これらは、デバッグ モードで動作中にデバッガーが表示したものと同じメッセージです。この値は NULL でもかまいません。

戻り値

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

解説 

コンパイラ設定により、関数のバージョンも決定されます。Unicode が定義されている場合、関数呼び出しは D3DXAssembleShaderFromFileW に解決されます。それ以外の場合は、ANSI 文字列が使用されるため、D3DXAssembleShaderFromFileA に解決されます。

要件

ヘッダー: D3DX9Shader.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

D3DXCompileShader, D3DXCompileShaderFromResource