D3D10CreateEffectFromMemory 関数 (d3d10effect.h)
コンパイル済み効果を含むバッファーから ID3D10Effect を作成します。
構文
HRESULT D3D10CreateEffectFromMemory(
[in] void *pData,
[in] SIZE_T DataLength,
[in] UINT FXFlags,
[in] ID3D10Device *pDevice,
[in] ID3D10EffectPool *pEffectPool,
[out] ID3D10Effect **ppEffect
);
パラメーター
[in] pData
型: void*
コンパイルされた効果へのポインター。
[in] DataLength
種類: SIZE_T
pData の長さ。
[in] FXFlags
型: UINT
効果 コンパイル オプション。
[in] pDevice
種類: ID3D10Device*
デバイスへのポインター ( 「ID3D10Device Interface」を参照)。
[in] pEffectPool
種類: ID3D10EffectPool*
省略可能。 効果間で共有される効果変数のメモリ領域へのポインター ( 「ID3D10EffectPool インターフェイス」を参照)。
[out] ppEffect
種類: ID3D10Effect**
作成された効果を含む ID3D10Effect インターフェイス へのポインター。
戻り値
種類: HRESULT
次のいずれかの Direct3D 10 リターン コードを返します。
解説
注意
リンクすると d3d10_1.lib
、 の d3d10_1.dll
実装が提供されます。これは、Direct3D10.1 プログラミング モデルの実装です。 リンクを使用 d3d10.lib
すると、 の d3d10.dll
実装が提供されます。これは、Direct3D10 プログラミング モデルの実装です。
このメソッドは、ランタイムの前にコンパイルされ、メモリに読み込まれた効果から ID3D10Effect Interface オブジェクトを作成するために使用されます。 効果のプリコンパイルについては、「 オフライン コンパイル」を参照してください。 ASCII .fx ファイルを読み込んでコンパイルするには、「 効果のコンパイル (Direct3D 10)」を参照してください。
例
効果をコンパイルする
fxc.exe /T fx_4_0 /Fo Tutorial03.fxo Tutorial03.fx
実行時にコンパイルされた効果を読み込みます。
ifstream is("tutorial03.fxo", ios::binary);
is.seekg(0,ios_base::end);
streampos pos = is.tellg();
is.seekg(0,ios_base::beg);
char * effectBuffer = new char[pos];
is.read(effectBuffer,pos);
hr = D3D10CreateEffectFromMemory((void *)effectBuffer,pos,0,g_pd3dDevice,NULL,&g_pEffect);
必要条件
対象プラットフォーム | Windows |
ヘッダー | d3d10effect.h |
Library | d3d10_1.lib、d3d10.lib |
[DLL] | d3d10_1.dll、d3d10.dll |