class CHLSLVertexShaderFromFile

【概要】
 CHLSLShaderContainer の派生クラス。

 ピクセルシェーダを管理する。
 ピクセルシェーダはファイル名から読み込まれ、コンパイルされる。
 (ファイルは、ソースファイルでなければならない。)
 メモリ管理およびシステム登録は、CHLSLShaderContainer クラスの機能を用いる。

重要度メソッド名アクセス解説
CHLSLVertexShaderFromFile(CD3DEnv *pEnv, TCHAR *strFilename, GUID guid, DWORD dwOpt)publicコンストラクタ
LPDIRECT3DVERTEXSHADER9 GetDXVertexShader()publicこのオブジェクトが管理する、ピクセルシェーダを返す
LPDIRECT3DPIXELSHADER9 GetDXConstantTable()publicこのオブジェクトが管理する、シェーダの定数テーブルを返す
HRESULT SetDefaults(LPDIRECT3DDEVICE) lpd3ddev)publicこのオブジェクトが管理する、シェーダの定数を初期値に設定

※重要度の意味:

◎これを知らないとこのライブラリを使えないレベル。
○知っておいたほうが良いレベル。
△知らなくても支障は無いレベル。


CHLSLVertexShaderFromFile(CD3DEnv *pEnv, TCHAR *strFilename, TCHAR *strEntryPoint, GUID guid, DWORD dwOpt);

引数:pEnv本オブジェクトを登録する描画環境。
strFilename:頂点シェーダのHLSLソースファイル(実行ファイルからの相対パスで指定。)
strEntryPoint:頂点シェーダのエントリーポイント名
guid:本オブジェクトを識別する為の guid(システム内で重複してはならない。)
dwOpt:コンパイル時のコンパイルオプション(省略可)

コンストラクタ
アセンブラソースファイルで指定されたファイルをコンパイルして、頂点シェーダとして使用する。


LPDIRECT3DVERTEXSHADER9 GetDXVertexShader();

返値:本オブジェクトが管理する頂点シェーダ。

本オブジェクトが管理する頂点シェーダを返す。
このメソッドは、内部でAddRef() しないので、受け取った側は Release しないこと。


LPD3DXCONSTANTTABLE GetDXConstantTable();

返値:本オブジェクトが管理するシェーダの定数テーブル。無ければNULL

本オブジェクトの派生クラスが管理するシェーダの定数テーブルを返す。
このメソッドは、内部でAddRef() しないので、受け取った側は Release しないこと。


HRESULT SetDefaults(LPDIRCT3DDEVICE9 lpd3ddev);

返値:成功すると、S_OK

HLSL シェーダは、Device にセットしただけでは初期値を読み込まないため
このメソッドを用いて、初期値をセットする。


D3DQuickLib のTOPページへ。