[C++] D3D

D3D [C++] - C++ - Programmation

Marsh Posté le 05-03-2003 à 15:53:55    

voila, il y a quelques jours j'étais bloqué pour bouger un seul objet issue d'un fichier x, maintenant ca marche mais je voudrais savoir si c'est correct, voila ma fonction:
 
void CMeshes::MoveAt(float dx,float dy, float dz)
{
 
 
 IDirect3DVertexBuffer8 *VBuffer;
 LPDIRECT3DDEVICE8 Device;
 
 g_pMesh->GetVertexBuffer(&VBuffer);
 g_pMesh->GetDevice(&Device);
 
 
 //Transformations matricielles
 D3DXMATRIX mTransfo1;
 D3DXMATRIX mTemporaire1;
 
 D3DXMatrixIdentity(&mTransfo1);
 D3DXMatrixIdentity(&mTemporaire1);
 
 D3DXMatrixTranslation(&mTemporaire1,dx,dy,dz);
 D3DXMatrixMultiply(&mTransfo1,&mTransfo1,&mTemporaire1);
 
 
 //On applique les transformations seulement sur l'objet en question
 Device->SetStreamSource(0, VBuffer, sizeof(VBuffer));
 Device->SetTransform(D3DTS_WORLD, (D3DMATRIX *)&mTransfo1);
 
 
 
 Draw();//j'appelle ma fonction qui dessine l'objet
 
}
 
la variable g_pMesh est issue de la fonction :
D3DXLoadMeshFromX
qui charge mon fichier x.
 
Cette methode fonctionne mais est-elle correcte ?  
Peut-on l'optimiser ou elle fonctionne mais ne tient qu'a un fils ?  
 
Merci :)

Reply

Marsh Posté le 05-03-2003 à 15:53:55   

Reply

Marsh Posté le 05-03-2003 à 16:22:28    

heuh a vu de new ca tient la route, par contre
 
D3DXMatrixMultiply(&mTransfo1,&mTransfo1,&mTemporaire1);
 
est un piti peu inutile vu que m_tranfo1 est a l'identite

Reply

Marsh Posté le 05-03-2003 à 16:35:57    

a vi lol merci ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed