12 #ifndef __D3DX9SHADER_H__
13 #define __D3DX9SHADER_H__
22 #define D3DXTX_VERSION(_Major,_Minor) (('T' << 24) | ('X' << 16) | ((_Major) << 8) | (_Minor))
79 #define D3DXSHADER_DEBUG (1 << 0)
80 #define D3DXSHADER_SKIPVALIDATION (1 << 1)
81 #define D3DXSHADER_SKIPOPTIMIZATION (1 << 2)
82 #define D3DXSHADER_PACKMATRIX_ROWMAJOR (1 << 3)
83 #define D3DXSHADER_PACKMATRIX_COLUMNMAJOR (1 << 4)
84 #define D3DXSHADER_PARTIALPRECISION (1 << 5)
85 #define D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT (1 << 6)
86 #define D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT (1 << 7)
87 #define D3DXSHADER_NO_PRESHADER (1 << 8)
88 #define D3DXSHADER_AVOID_FLOW_CONTROL (1 << 9)
89 #define D3DXSHADER_PREFER_FLOW_CONTROL (1 << 10)
90 #define D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY (1 << 12)
91 #define D3DXSHADER_IEEE_STRICTNESS (1 << 13)
92 #define D3DXSHADER_USE_LEGACY_D3DX9_31_DLL (1 << 16)
96 #define D3DXSHADER_OPTIMIZATION_LEVEL0 (1 << 14)
97 #define D3DXSHADER_OPTIMIZATION_LEVEL1 0
98 #define D3DXSHADER_OPTIMIZATION_LEVEL2 ((1 << 14) | (1 << 15))
99 #define D3DXSHADER_OPTIMIZATION_LEVEL3 (1 << 15)
107 #define D3DXCONSTTABLE_LARGEADDRESSAWARE (1 << 17)
118 #ifndef D3DXFX_LARGEADDRESS_HANDLE
273 0xab3c758f, 0x93e, 0x4356, 0xb7, 0x62, 0x4d, 0xb1, 0x8f, 0x1b, 0x3a, 0
x1);
277 #define INTERFACE ID3DXConstantTable
282 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
283 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
284 STDMETHOD_(ULONG, Release)(THIS) PURE;
287 STDMETHOD_(
LPVOID, GetBufferPointer)(THIS) PURE;
288 STDMETHOD_(
DWORD, GetBufferSize)(THIS) PURE;
293 STDMETHOD_(
UINT, GetSamplerIndex)(THIS_
D3DXHANDLE hConstant) PURE;
329 0x3e3d67f8, 0xaa7a, 0x405d, 0xa8, 0x57, 0xba, 0
x1, 0xd4, 0x75, 0x84, 0x26);
332 #define INTERFACE ID3DXTextureShader
337 STDMETHOD(QueryInterface)(THIS_ REFIID iid,
LPVOID *ppv) PURE;
338 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
339 STDMETHOD_(ULONG, Release)(THIS) PURE;
342 STDMETHOD(GetFunction)(THIS_
LPD3DXBUFFER *ppFunction) PURE;
343 STDMETHOD(GetConstantBuffer)(THIS_
LPD3DXBUFFER *ppConstantBuffer) PURE;
355 STDMETHOD(SetDefaults)(THIS) PURE;
356 STDMETHOD(SetValue)(THIS_
D3DXHANDLE hConstant, LPCVOID pData,
UINT Bytes) PURE;
360 STDMETHOD(SetIntArray)(THIS_
D3DXHANDLE hConstant, CONST
INT* pn,
UINT Count) PURE;
361 STDMETHOD(SetFloat)(THIS_
D3DXHANDLE hConstant, FLOAT
f) PURE;
362 STDMETHOD(SetFloatArray)(THIS_
D3DXHANDLE hConstant, CONST FLOAT* pf,
UINT Count) PURE;
370 STDMETHOD(SetMatrixTransposePointerArray)(THIS_
D3DXHANDLE hConstant, CONST
D3DXMATRIX** ppMatrix,
UINT Count) PURE;
409 #define INTERFACE ID3DXInclude
413 STDMETHOD(Open)(THIS_
D3DXINCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID *ppData,
UINT *pBytes) PURE;
414 STDMETHOD(Close)(THIS_ LPCVOID pData) PURE;
480 #define D3DXAssembleShaderFromFile D3DXAssembleShaderFromFileW
482 #define D3DXAssembleShaderFromFile D3DXAssembleShaderFromFileA
499 LPCWSTR pSrcResource,
507 #define D3DXAssembleShaderFromResource D3DXAssembleShaderFromResourceW
509 #define D3DXAssembleShaderFromResource D3DXAssembleShaderFromResourceA
575 LPCSTR pFunctionName,
587 LPCSTR pFunctionName,
595 #define D3DXCompileShaderFromFile D3DXCompileShaderFromFileW
597 #define D3DXCompileShaderFromFile D3DXCompileShaderFromFileA
607 LPCSTR pFunctionName,
617 LPCWSTR pSrcResource,
620 LPCSTR pFunctionName,
628 #define D3DXCompileShaderFromResource D3DXCompileShaderFromResourceW
630 #define D3DXCompileShaderFromResource D3DXCompileShaderFromResourceA
640 LPCSTR pFunctionName,
668 CONST
DWORD* pShader,
669 BOOL EnableColorCode,
714 CONST
DWORD* pFunction,
732 CONST
DWORD* pFunction);
748 CONST
DWORD* pFunction);
769 CONST
DWORD* pFunction,
775 CONST
DWORD* pFunction,
798 CONST
DWORD* pFunction,
824 CONST
DWORD* pFunction,
829 CONST
DWORD* pFunction,
850 CONST
DWORD* pFunction,
905 #define D3DXPreprocessShaderFromFile D3DXPreprocessShaderFromFileW
907 #define D3DXPreprocessShaderFromFile D3DXPreprocessShaderFromFileA
922 LPCWSTR pSrcResource,
929 #define D3DXPreprocessShaderFromResource D3DXPreprocessShaderFromResourceW
931 #define D3DXPreprocessShaderFromResource D3DXPreprocessShaderFromResourceA
1009 #endif //__D3DX9SHADER_H__
struct _D3DXSEMANTIC D3DXSEMANTIC
struct _D3DXMACRO * LPD3DXMACRO
HRESULT WINAPI D3DXCompileShaderFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs, LPD3DXCONSTANTTABLE *ppConstantTable)
D3DXREGISTER_SET RegisterSet
LPCSTR WINAPI D3DXGetPixelShaderProfile(LPDIRECT3DDEVICE9 pDevice)
HRESULT WINAPI D3DXPreprocessShaderFromFileA(LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPD3DXBUFFER *ppShaderText, LPD3DXBUFFER *ppErrorMsgs)
struct IDirect3DDevice9 * LPDIRECT3DDEVICE9
HRESULT WINAPI D3DXPreprocessShaderFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPD3DXBUFFER *ppShaderText, LPD3DXBUFFER *ppErrorMsgs)
D3DXHANDLE * LPD3DXHANDLE
typedef INT(WINAPI *PFNWGLGETGPUINFOAMDPROC)(UINT id
HRESULT WINAPI D3DXCompileShader(LPCSTR pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs, LPD3DXCONSTANTTABLE *ppConstantTable)
typedef HRESULT(WINAPI *LPD3DXIMTSIGNALCALLBACK)(CONST D3DXVECTOR2 *uv
HRESULT WINAPI D3DXGetShaderConstantTable(CONST DWORD *pFunction, LPD3DXCONSTANTTABLE *ppConstantTable)
HRESULT WINAPI D3DXAssembleShader(LPCSTR pSrcData, UINT SrcDataLen, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs)
HRESULT WINAPI D3DXDisassembleShader(CONST DWORD *pShader, BOOL EnableColorCode, LPCSTR pComments, LPD3DXBUFFER *ppDisassembly)
HRESULT WINAPI D3DXCompileShaderFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs, LPD3DXCONSTANTTABLE *ppConstantTable)
HRESULT WINAPI D3DXAssembleShaderFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs)
struct _D3DXSEMANTIC * LPD3DXSEMANTIC
typedef UINT(WINAPI *PFNWGLGETCONTEXTGPUIDAMDPROC)(HGLRC hglrc)
enum _D3DXPARAMETER_TYPE * LPD3DXPARAMETER_TYPE
struct _D3DXSHADER_CONSTANTTABLE D3DXSHADER_CONSTANTTABLE
DECLARE_INTERFACE_(IXAudio2, IUnknown)
LPCSTR WINAPI D3DXGetVertexShaderProfile(LPDIRECT3DDEVICE9 pDevice)
struct _D3DXSHADER_CONSTANTINFO * LPD3DXSHADER_CONSTANTINFO
interface ID3DXConstantTable ID3DXConstantTable
HRESULT WINAPI D3DXGetShaderSamplers(CONST DWORD *pFunction, LPCSTR *pSamplers, UINT *pCount)
HRESULT WINAPI D3DXGetShaderInputSemantics(CONST DWORD *pFunction, D3DXSEMANTIC *pSemantics, UINT *pCount)
interface ID3DXConstantTable * LPD3DXCONSTANTTABLE
HRESULT WINAPI D3DXFindShaderComment(CONST DWORD *pFunction, DWORD FourCC, LPCVOID *ppData, UINT *pSizeInBytes)
enum _D3DXPARAMETER_CLASS * LPD3DXPARAMETER_CLASS
HRESULT WINAPI D3DXCompileShaderFromFileA(LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs, LPD3DXCONSTANTTABLE *ppConstantTable)
enum _D3DXREGISTER_SET * LPD3DXREGISTER_SET
enum _D3DXPARAMETER_CLASS D3DXPARAMETER_CLASS
HRESULT WINAPI D3DXPreprocessShaderFromFileW(LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPD3DXBUFFER *ppShaderText, LPD3DXBUFFER *ppErrorMsgs)
struct _D3DXSHADER_CONSTANTINFO D3DXSHADER_CONSTANTINFO
struct _D3DXSHADER_CONSTANTTABLE * LPD3DXSHADER_CONSTANTTABLE
enum _D3DXINCLUDE_TYPE D3DXINCLUDE_TYPE
interface ID3DXInclude * LPD3DXINCLUDE
HRESULT WINAPI D3DXGetShaderConstantTableEx(CONST DWORD *pFunction, DWORD Flags, LPD3DXCONSTANTTABLE *ppConstantTable)
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_PCM, 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71)
struct _D3DXCONSTANTTABLE_DESC * LPD3DXCONSTANTTABLE_DESC
DWORD WINAPI D3DXGetShaderVersion(CONST DWORD *pFunction)
HRESULT WINAPI D3DXGetShaderOutputSemantics(CONST DWORD *pFunction, D3DXSEMANTIC *pSemantics, UINT *pCount)
enum _D3DXINCLUDE_TYPE * LPD3DXINCLUDE_TYPE
struct _D3DXSHADER_STRUCTMEMBERINFO D3DXSHADER_STRUCTMEMBERINFO
DECLARE_INTERFACE(IXAudio2Voice)
interface ID3DXInclude ID3DXInclude
enum _D3DXREGISTER_SET D3DXREGISTER_SET
typedef LPVOID(WINAPI *PFNWGLCREATEIMAGEBUFFERI3DPROC)(HDC hDC
GLuint GLfloat GLfloat GLfloat x1
HRESULT WINAPI D3DXAssembleShaderFromResourceW(HMODULE hSrcModule, LPCWSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs)
struct _D3DXMACRO D3DXMACRO
struct _D3DXCONSTANT_DESC * LPD3DXCONSTANT_DESC
HRESULT WINAPI D3DXCreateTextureShader(CONST DWORD *pFunction, LPD3DXTEXTURESHADER *ppTextureShader)
HRESULT WINAPI D3DXPreprocessShader(LPCSTR pSrcData, UINT SrcDataSize, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPD3DXBUFFER *ppShaderText, LPD3DXBUFFER *ppErrorMsgs)
HRESULT WINAPI D3DXAssembleShaderFromFileA(LPCSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs)
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
HRESULT WINAPI D3DXCompileShaderFromFileW(LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPCSTR pFunctionName, LPCSTR pProfile, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs, LPD3DXCONSTANTTABLE *ppConstantTable)
struct _D3DXCONSTANT_DESC D3DXCONSTANT_DESC
GLdouble GLdouble GLdouble b
interface ID3DXBuffer * LPD3DXBUFFER
UINT WINAPI D3DXGetShaderSize(CONST DWORD *pFunction)
struct _D3DXSHADER_TYPEINFO D3DXSHADER_TYPEINFO
interface ID3DXTextureShader ID3DXTextureShader
struct _D3DXCONSTANTTABLE_DESC D3DXCONSTANTTABLE_DESC
HRESULT WINAPI D3DXPreprocessShaderFromResourceA(HMODULE hSrcModule, LPCSTR pSrcResource, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, LPD3DXBUFFER *ppShaderText, LPD3DXBUFFER *ppErrorMsgs)
D3DXPARAMETER_CLASS Class
enum _D3DXPARAMETER_TYPE D3DXPARAMETER_TYPE
HRESULT WINAPI D3DXAssembleShaderFromFileW(LPCWSTR pSrcFile, CONST D3DXMACRO *pDefines, LPD3DXINCLUDE pInclude, DWORD Flags, LPD3DXBUFFER *ppShader, LPD3DXBUFFER *ppErrorMsgs)
struct _D3DXSHADER_STRUCTMEMBERINFO * LPD3DXSHADER_STRUCTMEMBERINFO
typedef BOOL(WINAPI *PFNWGLSETSTEREOEMITTERSTATE3DLPROC)(HDC hDC
struct _D3DXSHADER_TYPEINFO * LPD3DXSHADER_TYPEINFO
interface ID3DXTextureShader * LPD3DXTEXTURESHADER