Busquets PĂ©rez Luis C. luiscar2001@yahoo.es writes:
+typedef struct D3DXEFFECT_DESC {
- LPCSTR Creator;
- UINT Parameters;
- UINT Techniques;
- UINT Functions;
+} D3DXEFFECT_DESC, *LPD3DXEFFECT_DESC;
+typedef struct D3DXPARAMETER_DESC {
- LPCSTR Name;
- LPCSTR Semantic;
- D3DXPARAMETER_CLASS Class;
- D3DXPARAMETER_TYPE Type;
- UINT Rows;
- UINT Columns;
- UINT Elements;
- UINT Annotations;
- UINT StructMembers;
- DWORD Flags;
- UINT Bytes;
+} D3DXPARAMETER_DESC, *LPD3DXPARAMETER_DESC;
+typedef struct D3DXTECHNIQUE_DESC {
- LPCSTR Name;
- UINT Passes;
- UINT Annotations;
+} D3DXTECHNIQUE_DESC, *LPD3DXTECHNIQUE_DESC;
+typedef struct D3DXPASS_DESC {
- LPCSTR Name;
- UINT Annotations;
- CONST DWORD * pVertexShaderFunction;
- CONST DWORD * pPixelShaderFunction;
+} D3DXPASS_DESC, *LPD3DXPASS_DESC;
+typedef struct D3DXFUNCTION_DESC {
- LPCSTR Name;
- UINT Annotations;
+} D3DXFUNCTION_DESC, *LPD3DXFUNCTION_DESC;
+typedef interface ID3DXInclude *LPD3DXINCLUDE;
A lot of these LP* types don't seem to exist in the PSDK.
+#define INTERFACE ID3DXEffect +DECLARE_INTERFACE_(ID3DXEffect, ID3DXBaseEffect)
If you derive from ID3DXBaseEffect you have to define that one first.