D3DXCreateEffect 関数

ASCII またはバイナリ効果の説明から効果を作成します。

構文

HRESULT D3DXCreateEffect(
  _In_        LPDIRECT3DDEVICE9 pDevice,
  _In_        LPCVOID           pSrcData,
  _In_        UINT              SrcDataLen,
  _In_  const D3DXMACRO         *pDefines,
  _In_        LPD3DXINCLUDE     pInclude,
  _In_        DWORD             Flags,
  _In_        LPD3DXEFFECTPOOL  pPool,
  _Out_       LPD3DXEFFECT      *ppEffect,
  _Out_       LPD3DXBUFFER      *ppCompilationErrors
);

パラメーター

pDevice [in]

種類: LPDIRECT3DDEVICE9

効果を作成するデバイスへのポインター。 「IDirect3DDevice9」を参照してください。

pSrcData [in]

種類: LPCVOID

効果の説明を含むバッファーへのポインター。

SrcDataLen [in]

型: UINT

効果データの長さ (バイト単位)。

pDefines [in]

型: const D3DXMACRO*

プリプロセッサ定義を記述する D3DXMACRO 構造体の NULL で終わる省略可能な配列。 この値は NULL にすることができます

pInclude [in]

種類: LPD3DXINCLUDE

#include ディレクティブの処理に使用するオプションのインターフェイス ポインター ID3DXInclude。 この値が NULL の場合、#includesはファイルからコンパイルするときに優先されるか、リソースまたはメモリからコンパイルされるときにエラーが発生します。

Flags [in]

種類: DWORD

pSrcData にテキスト効果が含まれている場合、フラグは D3DXSHADER フラグと D3DXFX フラグの組み合わせになります。それ以外の場合、pSrcData にはバイナリ効果が含まれており、指定されるフラグは D3DXFX フラグのみです。 Direct3D 10 HLSL コンパイラが既定になりました。 詳細については、「 エフェクト コンパイラ ツール 」を参照してください。

pPool [in]

種類: LPD3DXEFFECTPOOL

共有パラメーターに使用する ID3DXEffectPool オブジェクトへのポインター。 この値が NULL の場合、パラメーターは共有されません。

ppEffect [out]

種類: LPD3DXEFFECT*

ID3DXEffect インターフェイスへのポインターを返します。

ppCompilationErrors [out]

種類: LPD3DXBUFFER*

コンパイル エラーの一覧を含むバッファーを返します。

戻り値

種類: HRESULT

関数が成功した場合、戻り値はD3D_OK。 関数が失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA、E_OUTOFMEMORY。

要件

要件
ヘッダー
D3DX9Effect.h
ライブラリ
D3dx9.lib

関連項目

効果関数

D3DXCompileShader

D3DXCompileShaderFromResource