IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

Problème avec D3DXLoadMeshHierarchyFromX


Sujet :

DirectX

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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....


    Merci d'avance.

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Bonjour.

    Un débugage pas-à-pas dans les fonctions héritées de "ID3DXAllocateHierarchy" devrait te donner plus de renseignements.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 27
    Par défaut
    Merci d'avoir répondu, j'ai passé toute une journée a faire du débuggage pas à pas sans rien trouver de concluant, avant de me rendre compte que ce problème venait d'une option de compilation; l'option runtime library dans visual studio était sur Multi-Threaded et il faut qu'elle soit sur Multi-Threaded Debug pour que ca marche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo