LPDIRECT3DVERTEXBUFFER9 :: LOCK [Résolu]

Signaler
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
-
Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
-
bonjour a tous, je debute en directx et pour apprendre le fonctionnement je regarde les tortuo ki sont fournis avec le sdk. L'un d'entre eux, (le 2eme) affiche un triangle immobile. pour apprendre je suis en train d'essayer d'en placer un 2eme a cote

voici une partie du programme ki affiche un triangle et ki marche :

VOID* PointerTriangle1;
if( FAILED( BufferTriangle1->Lock( 0, sizeof(triangle1), (void**)&PointerTriangle1, 0 ) ) ) { return E_FAIL; }
memcpy( PointerTriangle1, triangle1, sizeof(triangle1) );
BufferTriangle1->Unlock();

voici ce ke j'ai modifie ( aucun probleme lors de la compilation mais lors de l'execution )

VOID* PointerTriangle1;
VOID* PointerTriangle2; //rajou
if( FAILED( BufferTriangle1->Lock( 0, sizeof(triangle1), (void**)&PointerTriangle1, 0 ) ) ) { return E_FAIL; }
if( FAILED( BufferTriangle2->Lock( 0, sizeof(triangle2), (void**)&PointerTriangle2, 0 ) ) ) { return E_FAIL; } //rajou
memcpy( PointerTriangle1, triangle1, sizeof(triangle1) );
memcpy( PointerTriangle2, triangle2, sizeof(triangle2) ); //rajou
BufferTriangle1->Unlock();
BufferTriangle2->Unlock(); //rajou

l'erreur ne se produit pas si j'ignore cette instruction :

if( FAILED( BufferTriangle2->Lock( 0, sizeof(triangle2), (void**)&PointerTriangle2, 0 ) ) ) { return E_FAIL; } //rajou

mais bien entendu sans cette instruction je n'ai qu'un triangle

je ne comprend pas pourkoi je ne peut pas faire un lock 2 foisa la suite, j'ai pourtant ete sur la documentation msdn.

merci !

Adeon

1 réponse

Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2
c bon ca marche, il fo en fait dabord creer le premier triangle et kan il est creer on peu creer le 2eme. Si vous y arrivez pas, dite le je vous ecrirai le code corrige.

salut !

Adeon