olivierpot2
Messages postés14Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 9 février 2005
-
8 mars 2004 à 21:10
tsanti
Messages postés9Date d'inscriptionjeudi 11 septembre 2003StatutMembreDernière intervention22 mars 2006
-
30 mars 2004 à 22:41
Bonjour à tous,
Je débutes avec c++/directx, et j'essaye d'afficher une image toutes bêtes. Apparement l'initialisation de directX et ok, mais rien ne s'affiche.
tsanti
Messages postés9Date d'inscriptionjeudi 11 septembre 2003StatutMembreDernière intervention22 mars 2006 30 mars 2004 à 22:41
Tu doit créée un objet avec une forme et y appliquée ta texture.
La forme la plus simple est un plan carré.
LPDIRECT3DVERTEXBUFFER9 m_taforme;
LPDIRECT3DTEXTURE9 m_tatexture;
déclare aussi un Vertex comme ca :
Initialise comme ca :
struct VERTEX
{
D3DXVECTOR3 p;
FLOAT tu, tv;
dans ton rendu tu fait :
peripherique3D->SetTexture( 0, m_ta texture );
peripherique3D->SetFVF( VERTEX::FVF );
peripherique3D->SetStreamSource( 0, m_taforme, 0, sizeof(VERTEX) );
peripherique3D->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );
La difficulté est la car il ne suffit pas de charger une image.
=>Les informations de formes sont chargé à ta carte graphiques et peuvent être perdu si la fenètre a bouger.
Il faut donc invalidé et restoré les données de ta forme.
=> avant de quitter ton application, tu doit détruire les informations de ta forme par un SAFE_DELETE.
=> Afficher à l'écran , c'est lui donnée des infomations genre positions dans l'espace, position de l'oeil(ou dit caméra) et position du plan de vue. c'est a dire travailler avec des vecteurs 3D, faire les produit scalaire, etc etc
l'auberge n'est pas loin de chez toi mais tu n'est pas sorti encore. ( euh c'est p tete pas ca la sitation.)