Problème avec D3DXLoadMeshHierarchyFromX
Salut à tous,
Je développe un RTS avec DirectX et j'ai un probleme avec la fonction pour charger des models 3D animés. Dès que je passe dedans, le programme plante me disant :
"Microsoft Visual Studio C Runtime Library has detected a fatal error in RTSProject.exe."
Voici le bout de code qui plante.
BONE_HIERARCHY est la classe héritée de ID3DXAllocateHierarchy, elle ne contient rien d'autre que la redéfinition des fonction.
m_pRootBone est un pointeur sur une D3DXFRAME.
m_pAnimController est un pointeur sur un ID3DXAnimationController.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
class BONE_HIERARCHY : public ID3DXAllocateHierarchy
{
public:
STDMETHOD( CreateFrame )( THIS_ LPCSTR Name,
LPD3DXFRAME *ppNewFrame );
STDMETHOD( CreateMeshContainer )( THIS_ LPCSTR Name,
CONST D3DXMESHDATA *pMeshData,
CONST D3DXMATERIAL * pMaterials,
CONST D3DXEFFECTINSTANCE * pEffectInstances,
DWORD NumMaterials, CONST DWORD * pAdjacency,
LPD3DXSKININFO pSkinInfo,
LPD3DXMESHCONTAINER * ppNewMeshContainer );
STDMETHOD( DestroyFrame )( THIS_ LPD3DXFRAME pFrameToFree );
STDMETHOD( DestroyMeshContainer )( THIS_ LPD3DXMESHCONTAINER pMeshContainerToFree );
};
void SKINNED_MESH::Load(char filename[], IDirect3DDevice9 *Dev)
{
m_pDevice = Dev;
BONE_HIERARCHY boneHierarchy;
D3DXLoadMeshHierarchyFromX(filename,D3DXMESH_MANAGED,m_pDevice,
&boneHierarchy,NULL,&m_pRootBone,&m_pAnimController);
} |
Je rajoute que le debugger me renvoi dans dbghook.c si quelqu'un sait ce que c'est que ca.... 8O
Merci d'avance.