Bonjour,
voila mon probleme... J'ai cree une classe CPlayer. Dans cette class j'ai une variable interne D3DXMATRIX m_mMat et une mesh CD3DMesh* m_pMesh.
J'ai initialisé dans le constructeur la matrice ainsi:
D3DXMatrixIdentity( &m_mMat );
Dans FrameMove():
1 2 3
| // rendu final
m_vPos+=m_vVel*fElapsedTime;
D3DXMatrixTranslation(&m_mMat,m_vPos.x,m_vPos.y,m_vPos.z); |
m_vPos=(0.0f,0.0f,0.0f) et m_vVel=m_vPos.
Le probleme vient maintenant dans Render():
1 2 3 4 5 6 7
| D3DXMATRIXA16 matSavedWorld, matWorld;
pd3dDevice->GetTransform( D3DTS_WORLD, &matSavedWorld );
D3DXMatrixMultiply( &matWorld, &m_mMat, &matSavedWorld );
pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
// le rendu final
m_pMesh->Render(pd3dDevice);
pd3dDevice->SetTransform( D3DTS_WORLD, &matSavedWorld ); |
La mesh s'affiche tres bien a l'ecran quand je ne tranforme pas la matrice mais quand j'essaie de tranformer le WORLD a partir de la matrice m_mMat la mesh ne s'affiche pas.
Partager