D3DX Funkktionsaufruf abändern



  • Ich habe hier ein älteres Programm welches DirectX8 verwendet und möchte dieses mit meinem DirectX9 SDK kompilieren, allerdings erzeugt es beim kompilieren 2Fehler, da sich 2Funktionen der D3DX Bibliothek geändert haben. Nur weiß ich nicht wie ich die alten Aufrufe in die neuen ändern soll.

    Einmal wäre das

    if(FAILED(Mesh->m_SkinMesh->GenerateSkinnedMesh(
                      D3DXMESH_WRITEONLY, 0.0f, 
                      AdjacencyIn, AdjacencyOut, 
                      &Mesh->m_Mesh)))
    
    //Die neue Version erwartet 7Parameter:
    //STDMETHOD(GenerateSkinnedMesh)(THIS_ DWORD Options, 
    //                                   FLOAT minWeight, 
    //                                   CONST LPDWORD pAdjacencyIn, 
    //                                   LPDWORD pAdjacencyOut, 
    //                                   DWORD* pFaceRemap, 
    //                                   LPD3DXBUFFER *ppVertexRemap, 
    //                                   LPD3DXMESH* ppMesh) PURE;
    
    //Habe leider keine Dokumentation für die Variante mit 5Parameter, aber
    //Mesh->m_Mesh ist ein ID3DXMesh*
    

    Die andere wäre

    Mesh->m_SkinMesh->UpdateSkinnedMesh(Matrices, Mesh->m_Mesh);
    
    //Hier werden 3Parameter erwartet:
    //STDMETHOD(UpdateSkinnedMesh)(THIS_ CONST D3DXMATRIX* pBoneTransforms,  
    //CONST D3DXMATRIX* pBoneInvTransforms, LPD3DXMESH pMesh) PURE;
    
    //Matrices ist vom Typ D3DXMATRIX*
    

    Ich hoffe ihr könnt mir da weiterhelfen 🙂



  • Es würde mir schon helfen, wenn mir jemand die beiden Funktionen mit den neuen Parametern erklären könnte bzw. was genau für jeden Parameter erwartet wird. Die Doku hat mir da nicht so wirklich geholfen 😕


Anmelden zum Antworten