13 #ifndef __D3DX9EFFECT_H__
14 #define __D3DX9EFFECT_H__
36 #define D3DXFX_DONOTSAVESTATE (1 << 0)
37 #define D3DXFX_DONOTSAVESHADERSTATE (1 << 1)
38 #define D3DXFX_DONOTSAVESAMPLERSTATE (1 << 2)
40 #define D3DXFX_NOT_CLONEABLE (1 << 11)
41 #define D3DXFX_LARGEADDRESSAWARE (1 << 17)
56 #define D3DX_PARAMETER_SHARED (1 << 0)
57 #define D3DX_PARAMETER_LITERAL (1 << 1)
58 #define D3DX_PARAMETER_ANNOTATION (1 << 2)
145 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33);
149 #define INTERFACE ID3DXEffectPool
154 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
155 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
156 STDMETHOD_(ULONG, Release)(THIS) PURE;
171 0x17c18ac, 0x103f, 0x4417, 0x8c, 0x51, 0x6b, 0xf6, 0xef, 0x1e, 0x56, 0xbe);
175 #define INTERFACE ID3DXBaseEffect
180 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
181 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
182 STDMETHOD_(ULONG, Release)(THIS) PURE;
194 STDMETHOD_(
D3DXHANDLE, GetParameterBySemantic)(THIS_
D3DXHANDLE hParameter, LPCSTR pSemantic) PURE;
197 STDMETHOD_(
D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR pName) PURE;
201 STDMETHOD_(
D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR pName) PURE;
206 STDMETHOD(SetValue)(THIS_
D3DXHANDLE hParameter, LPCVOID pData,
UINT Bytes) PURE;
210 STDMETHOD(SetBoolArray)(THIS_
D3DXHANDLE hParameter, CONST
BOOL* pb,
UINT Count) PURE;
213 STDMETHOD(GetInt)(THIS_
D3DXHANDLE hParameter,
INT* pn) PURE;
214 STDMETHOD(SetIntArray)(THIS_
D3DXHANDLE hParameter, CONST
INT* pn,
UINT Count) PURE;
216 STDMETHOD(SetFloat)(THIS_
D3DXHANDLE hParameter, FLOAT
f) PURE;
217 STDMETHOD(GetFloat)(THIS_
D3DXHANDLE hParameter, FLOAT* pf) PURE;
218 STDMETHOD(SetFloatArray)(THIS_
D3DXHANDLE hParameter, CONST FLOAT* pf,
UINT Count) PURE;
219 STDMETHOD(GetFloatArray)(THIS_
D3DXHANDLE hParameter, FLOAT* pf,
UINT Count) PURE;
234 STDMETHOD(SetMatrixTransposePointerArray)(THIS_
D3DXHANDLE hParameter, CONST
D3DXMATRIX** ppMatrix,
UINT Count) PURE;
236 STDMETHOD(SetString)(THIS_
D3DXHANDLE hParameter, LPCSTR pString) PURE;
237 STDMETHOD(GetString)(THIS_
D3DXHANDLE hParameter, LPCSTR* ppString) PURE;
262 0x79aab587, 0x6dbc, 0x4fa7, 0x82, 0xde, 0x37, 0xfa, 0x17, 0x81, 0xc5, 0xce);
265 #define INTERFACE ID3DXEffectStateManager
272 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
273 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
274 STDMETHOD_(ULONG, Release)(THIS) PURE;
284 STDMETHOD(SetMaterial)(THIS_ CONST
D3DMATERIAL9 *pMaterial) PURE;
285 STDMETHOD(SetLight)(THIS_
DWORD Index, CONST
D3DLIGHT9 *pLight) PURE;
286 STDMETHOD(LightEnable)(THIS_
DWORD Index,
BOOL Enable) PURE;
291 STDMETHOD(SetNPatchMode)(THIS_ FLOAT NumSegments) PURE;
292 STDMETHOD(SetFVF)(THIS_
DWORD FVF) PURE;
294 STDMETHOD(SetVertexShaderConstantF)(THIS_
UINT RegisterIndex, CONST FLOAT *pConstantData,
UINT RegisterCount) PURE;
295 STDMETHOD(SetVertexShaderConstantI)(THIS_
UINT RegisterIndex, CONST
INT *pConstantData,
UINT RegisterCount) PURE;
296 STDMETHOD(SetVertexShaderConstantB)(THIS_
UINT RegisterIndex, CONST
BOOL *pConstantData,
UINT RegisterCount) PURE;
298 STDMETHOD(SetPixelShaderConstantF)(THIS_
UINT RegisterIndex, CONST FLOAT *pConstantData,
UINT RegisterCount) PURE;
299 STDMETHOD(SetPixelShaderConstantI)(THIS_
UINT RegisterIndex, CONST
INT *pConstantData,
UINT RegisterCount) PURE;
300 STDMETHOD(SetPixelShaderConstantB)(THIS_
UINT RegisterIndex, CONST
BOOL *pConstantData,
UINT RegisterCount) PURE;
313 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0xc, 0xd5);
316 #define INTERFACE ID3DXEffect
321 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
322 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
323 STDMETHOD_(ULONG, Release)(THIS) PURE;
335 STDMETHOD_(
D3DXHANDLE, GetParameterBySemantic)(THIS_
D3DXHANDLE hParameter, LPCSTR pSemantic) PURE;
338 STDMETHOD_(
D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR pName) PURE;
342 STDMETHOD_(
D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR pName) PURE;
347 STDMETHOD(SetValue)(THIS_
D3DXHANDLE hParameter, LPCVOID pData,
UINT Bytes) PURE;
351 STDMETHOD(SetBoolArray)(THIS_
D3DXHANDLE hParameter, CONST
BOOL* pb,
UINT Count) PURE;
354 STDMETHOD(GetInt)(THIS_
D3DXHANDLE hParameter,
INT* pn) PURE;
355 STDMETHOD(SetIntArray)(THIS_
D3DXHANDLE hParameter, CONST
INT* pn,
UINT Count) PURE;
357 STDMETHOD(SetFloat)(THIS_
D3DXHANDLE hParameter, FLOAT
f) PURE;
358 STDMETHOD(GetFloat)(THIS_
D3DXHANDLE hParameter, FLOAT* pf) PURE;
359 STDMETHOD(SetFloatArray)(THIS_
D3DXHANDLE hParameter, CONST FLOAT* pf,
UINT Count) PURE;
360 STDMETHOD(GetFloatArray)(THIS_
D3DXHANDLE hParameter, FLOAT* pf,
UINT Count) PURE;
375 STDMETHOD(SetMatrixTransposePointerArray)(THIS_
D3DXHANDLE hParameter, CONST
D3DXMATRIX** ppMatrix,
UINT Count) PURE;
377 STDMETHOD(SetString)(THIS_
D3DXHANDLE hParameter, LPCSTR pString) PURE;
378 STDMETHOD(GetString)(THIS_
D3DXHANDLE hParameter, LPCSTR* ppString) PURE;
394 STDMETHOD(SetTechnique)(THIS_
D3DXHANDLE hTechnique) PURE;
395 STDMETHOD_(
D3DXHANDLE, GetCurrentTechnique)(THIS) PURE;
396 STDMETHOD(ValidateTechnique)(THIS_
D3DXHANDLE hTechnique) PURE;
407 STDMETHOD(Begin)(THIS_
UINT *pPasses,
DWORD Flags) PURE;
408 STDMETHOD(BeginPass)(THIS_
UINT Pass) PURE;
409 STDMETHOD(CommitChanges)(THIS) PURE;
410 STDMETHOD(EndPass)(THIS) PURE;
411 STDMETHOD(End)(THIS) PURE;
415 STDMETHOD(OnLostDevice)(THIS) PURE;
416 STDMETHOD(OnResetDevice)(THIS) PURE;
423 STDMETHOD(BeginParameterBlock)(THIS) PURE;
424 STDMETHOD_(
D3DXHANDLE, EndParameterBlock)(THIS) PURE;
425 STDMETHOD(ApplyParameterBlock)(THIS_
D3DXHANDLE hParameterBlock) PURE;
426 STDMETHOD(DeleteParameterBlock)(THIS_
D3DXHANDLE hParameterBlock) PURE;
432 STDMETHOD(SetRawValue)(THIS_
D3DXHANDLE hParameter, LPCVOID pData,
UINT ByteOffset,
UINT Bytes) PURE;
445 0x51b8a949, 0x1a31, 0x47e6, 0xbe, 0xa0, 0x4b, 0x30, 0xdb, 0x53, 0xf1, 0xe0);
449 #define INTERFACE ID3DXEffectCompiler
454 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
455 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
456 STDMETHOD_(ULONG, Release)(THIS) PURE;
468 STDMETHOD_(
D3DXHANDLE, GetParameterBySemantic)(THIS_
D3DXHANDLE hParameter, LPCSTR pSemantic) PURE;
471 STDMETHOD_(
D3DXHANDLE, GetTechniqueByName)(THIS_ LPCSTR pName) PURE;
475 STDMETHOD_(
D3DXHANDLE, GetFunctionByName)(THIS_ LPCSTR pName) PURE;
480 STDMETHOD(SetValue)(THIS_
D3DXHANDLE hParameter, LPCVOID pData,
UINT Bytes) PURE;
484 STDMETHOD(SetBoolArray)(THIS_
D3DXHANDLE hParameter, CONST
BOOL* pb,
UINT Count) PURE;
487 STDMETHOD(GetInt)(THIS_
D3DXHANDLE hParameter,
INT* pn) PURE;
488 STDMETHOD(SetIntArray)(THIS_
D3DXHANDLE hParameter, CONST
INT* pn,
UINT Count) PURE;
490 STDMETHOD(SetFloat)(THIS_
D3DXHANDLE hParameter, FLOAT
f) PURE;
491 STDMETHOD(GetFloat)(THIS_
D3DXHANDLE hParameter, FLOAT* pf) PURE;
492 STDMETHOD(SetFloatArray)(THIS_
D3DXHANDLE hParameter, CONST FLOAT* pf,
UINT Count) PURE;
493 STDMETHOD(GetFloatArray)(THIS_
D3DXHANDLE hParameter, FLOAT* pf,
UINT Count) PURE;
508 STDMETHOD(SetMatrixTransposePointerArray)(THIS_
D3DXHANDLE hParameter, CONST
D3DXMATRIX** ppMatrix,
UINT Count) PURE;
510 STDMETHOD(SetString)(THIS_
D3DXHANDLE hParameter, LPCSTR pString) PURE;
511 STDMETHOD(GetString)(THIS_
D3DXHANDLE hParameter, LPCSTR* ppString) PURE;
523 STDMETHOD(SetLiteral)(THIS_
D3DXHANDLE hParameter,
BOOL Literal) PURE;
524 STDMETHOD(GetLiteral)(THIS_
D3DXHANDLE hParameter,
BOOL *pLiteral) PURE;
527 STDMETHOD(CompileEffect)(THIS_
DWORD Flags,
530 STDMETHOD(CompileShader)(THIS_
D3DXHANDLE hFunction, LPCSTR pTarget,
DWORD Flags,
627 #define D3DXCreateEffectFromFile D3DXCreateEffectFromFileW
629 #define D3DXCreateEffectFromFile D3DXCreateEffectFromFileA
649 LPCWSTR pSrcResource,
658 #define D3DXCreateEffectFromResource D3DXCreateEffectFromResourceW
660 #define D3DXCreateEffectFromResource D3DXCreateEffectFromResourceA
686 LPCSTR pSkipConstants,
698 LPCSTR pSkipConstants,
705 #define D3DXCreateEffectFromFileEx D3DXCreateEffectFromFileExW
707 #define D3DXCreateEffectFromFileEx D3DXCreateEffectFromFileExA
718 LPCSTR pSkipConstants,
728 LPCWSTR pSrcResource,
731 LPCSTR pSkipConstants,
738 #define D3DXCreateEffectFromResourceEx D3DXCreateEffectFromResourceExW
740 #define D3DXCreateEffectFromResourceEx D3DXCreateEffectFromResourceExA
751 LPCSTR pSkipConstants,
809 #define D3DXCreateEffectCompilerFromFile D3DXCreateEffectCompilerFromFileW
811 #define D3DXCreateEffectCompilerFromFile D3DXCreateEffectCompilerFromFileA
828 LPCWSTR pSrcResource,
836 #define D3DXCreateEffectCompilerFromResource D3DXCreateEffectCompilerFromResourceW
838 #define D3DXCreateEffectCompilerFromResource D3DXCreateEffectCompilerFromResourceA
862 BOOL EnableColorCode,
871 #endif //__D3DX9EFFECT_H__
interface ID3DXEffect * LPD3DXEFFECT
struct _D3DXEFFECT_DESC D3DXEFFECT_DESC
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
struct IDirect3DDevice9 * LPDIRECT3DDEVICE9
HRESULT WINAPI D3DXCreateEffectFromFileExA(LPDIRECT3DDEVICE9 pDevice, LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
typedef INT(WINAPI *PFNWGLGETGPUINFOAMDPROC)(UINT id
HRESULT WINAPI D3DXCreateEffectPool(LPD3DXEFFECTPOOL *ppPool)
typedef HRESULT(WINAPI *LPD3DXIMTSIGNALCALLBACK)(CONST D3DXVECTOR2 *uv
interface ID3DXEffectStateManager ID3DXEffectStateManager
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
HRESULT WINAPI D3DXCreateEffectCompiler(LPCSTR pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
struct _D3DXFUNCTION_DESC D3DXFUNCTION_DESC
interface ID3DXBaseEffect ID3DXBaseEffect
HRESULT WINAPI D3DXDisassembleEffect(LPD3DXEFFECT pEffect, BOOL EnableColorCode, LPD3DXBUFFER *ppDisassembly)
interface ID3DXEffectCompiler ID3DXEffectCompiler
HRESULT WINAPI D3DXCreateEffectFromResourceExW(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
typedef UINT(WINAPI *PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc)
DECLARE_INTERFACE_(IXAudio2, IUnknown)
struct IDirect3DVertexShader9 * LPDIRECT3DVERTEXSHADER9
HRESULT WINAPI D3DXCreateEffect(LPDIRECT3DDEVICE9 pDevice, LPCVOID pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
HRESULT WINAPI D3DXCreateEffectEx(LPDIRECT3DDEVICE9 pDevice, LPCVOID pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
HRESULT WINAPI D3DXCreateEffectCompilerFromFileA(LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
struct IDirect3DPixelShader9 * LPDIRECT3DPIXELSHADER9
D3DXPARAMETER_CLASS Class
interface ID3DXConstantTable * LPD3DXCONSTANTTABLE
enum _D3DXPARAMETER_CLASS D3DXPARAMETER_CLASS
struct _D3DXTECHNIQUE_DESC D3DXTECHNIQUE_DESC
struct _D3DXPASS_DESC D3DXPASS_DESC
HRESULT WINAPI D3DXCreateEffectFromFileW(LPDIRECT3DDEVICE9 pDevice, LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
interface ID3DXInclude * LPD3DXINCLUDE
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PCM, 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71)
CONST DWORD * pVertexShaderFunction
struct _D3DXPARAMETER_DESC D3DXPARAMETER_DESC
interface ID3DXEffectPool ID3DXEffectPool
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
enum _D3DSAMPLERSTATETYPE D3DSAMPLERSTATETYPE
typedef LPVOID(WINAPI *PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC hDC
interface ID3DXEffectPool * LPD3DXEFFECTPOOL
CONST DWORD * pPixelShaderFunction
HRESULT WINAPI D3DXCreateEffectFromFileExW(LPDIRECT3DDEVICE9 pDevice, LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
struct IDirect3DBaseTexture9 * LPDIRECT3DBASETEXTURE9
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
HRESULT WINAPI D3DXCreateEffectFromResourceExA(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pSkipConstants, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
GLdouble GLdouble GLdouble b
HRESULT WINAPI D3DXCreateEffectFromResourceW(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
interface ID3DXBuffer * LPD3DXBUFFER
enum _D3DRENDERSTATETYPE D3DRENDERSTATETYPE
HRESULT WINAPI D3DXCreateEffectFromResourceA(LPDIRECT3DDEVICE9 pDevice, HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
HRESULT WINAPI D3DXCreateEffectFromFileA(LPDIRECT3DDEVICE9 pDevice, LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTPOOL pPool, LPD3DXEFFECT *ppEffect, LPD3DXBUFFER *ppCompilationErrors)
interface ID3DXBaseEffect * LPD3DXBASEEFFECT
interface ID3DXEffect ID3DXEffect
enum _D3DXPARAMETER_TYPE D3DXPARAMETER_TYPE
interface ID3DXEffectStateManager * LPD3DXEFFECTSTATEMANAGER
HRESULT WINAPI D3DXCreateEffectCompilerFromFileW(LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXEFFECTCOMPILER *ppCompiler, LPD3DXBUFFER *ppParseErrors)
interface ID3DXEffectCompiler * LPD3DXEFFECTCOMPILER
typedef BOOL(WINAPI *PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC