Henri Verbeet a écrit :
On 17 March 2010 12:21, Christian Costa <titan.costa(a)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 ?