Henri Verbeet a écrit :
On 17 March 2010 12:21, Christian Costa titan.costa@wanadoo.fr wrote:
+typedef struct _D3DXPASS_DESC {
- LPCSTR Name;
- UINT Annotations;
- DWORD VSVersion;
- DWORD PSVersion;
- UINT VSSemanticsUsed;
- D3DXSEMANTIC VSSemantics[MAXD3DDECLLENGTH];
- UINT PSSemanticsUsed;
- D3DXSEMANTIC PSSemantics[MAXD3DDECLLENGTH];
- UINT PSSamplersUsed;
- LPCSTR PSSamplers[16];
+} D3DXPASS_DESC;
Which version of the SDK is this supposed to match? It doesn't match mine or MSDN.
I was using original dx9 version before I realize it was the wrong version then I switch to dx9c but forgot to update this structure.
Those don't like right for C++. The other interfaces have similar issues, including:
+#define ID3DXEffect_CommitChanges() (p)->lpVtbl->CommitChanges(p)
and
+#define ID3DXEffect_GetVertexShader(p,a,b) (p)->>GetVertexShader(p,a,b)
However, my SDK doesn't have C object macros for any of the interfaces in d3dx9effect.h.
In dx9c, I don't see any structural change between d3d9effect.h and d3d9shader.h for instance. And how could I write test without these macros ?