Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1702 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] Problème avec un membre d'une class

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Problème avec un membre d'une class

n°76424
Alload
Posté le 28-11-2001 à 19:45:09  profilanswer
 

Voilà, je voudrais copier un vertex buffer existant (Direct3D) dans un vertex buffer membre de ma class.
 
Voilà la variable et la fonction publique de celui ci:
 
LPDIRECT3DVERTEXBUFFER8 m_lpVBuffer;
 
public:
void SetVBuffer(LPDIRECT3DVERTEXBUFFER8 lpVBuffer) {m_lpVBuffer = lpVBuffer;}
 
 
Donc quand je veux l'initialiser dans ma class, je crée un vertex buffer que j'initialise avec les sommets que je veux, puis je fais:
 
Création d'un vertex buffer lpVBuffer puis je l'initialise;
object.SetVBuffer(lpVBuffer);
 
Le problème, c'est que quand j'essaie d'afficher mon objet, rien ne s'affiche à l'écran, mais si j'essaie d'afficher le vertex buffer utilisé pour initialiser ma class là l'objet s'affiche...
 
Je comprends plus rien...

mood
Publicité
Posté le 28-11-2001 à 19:45:09  profilanswer
 

n°76441
LeGreg
Posté le 28-11-2001 à 20:08:28  profilanswer
 

Alload a écrit a écrit :

Voilà, je voudrais copier un vertex buffer existant (Direct3D) dans un vertex buffer membre de ma class.
Voilà la variable et la fonction publique de celui ci:
LPDIRECT3DVERTEXBUFFER8 m_lpVBuffer;
public:
void SetVBuffer(LPDIRECT3DVERTEXBUFFER8 lpVBuffer) {m_lpVBuffer = lpVBuffer;}
Donc quand je veux l'initialiser dans ma class, je crée un vertex buffer que j'initialise avec les sommets que je veux, puis je fais:
Création d'un vertex buffer lpVBuffer puis je l'initialise;
object.SetVBuffer(lpVBuffer);
Le problème, c'est que quand j'essaie d'afficher mon objet, rien ne s'affiche à l'écran, mais si j'essaie d'afficher le vertex buffer utilisé pour initialiser ma class là l'objet s'affiche...
Je comprends plus rien...  




 
Ca ne m'a pas l'air d'etre un probleme lie a ta classe.
Tu dois surement faire un truc que D3D n'aime pas..
ou fais-tu tes release()? une fois que tu as copie ton pointeur
dans ton nouvel objet qui se charge de le releaser?
 
Le type LPDIRECT3DVERTEXBUFFER8 est juste un pointeur,
donc le simple fait de l'affecter n'a aucun effet dessus.
 
A mon avis il nous manque du code pour qu'on puisse juger de la nature de ton probleme.
 
LEGREG

n°76471
Alload
Posté le 28-11-2001 à 21:21:40  profilanswer
 

Voilà le bout du code qui peut être interessant pour trouver le problème:
 
LPDIRECT3DVERTEXBUFFER8 lpVBuffer = NULL;
 
  g_lpD3DDevice->CreateVertexBuffer( 3 * pModels[i].nFaces * sizeof(SVertex), 0, D3DFVF_CUSTOM,
           D3DPOOL_DEFAULT, &lpVBuffer);
.....
Remplissage de lpVBuffer;
.....
 
  CObject object;
  object.SetMaterial(pMaterials[pModels[i].nMatRef].material);
  object.SetnFaces(pModels[i].nFaces);
  object.SetVBuffer(lpVBuffer);
 
  pFrame->AddObject(object);
 
  lpVBuffer->Release();

n°76474
Alload
Posté le 28-11-2001 à 21:22:58  profilanswer
 

Je n'avais pas fais gaffe que LPDIRECT3DVERTEXBUFFER8 n'était qu'un pointeur, cela doit surement venir de ça. Mais alors je ne sais pas comment règler le problème, comment remplir le buffer de ma class grâce à un pointeur sur un buffer temporaire?

n°76506
Alload
Posté le 28-11-2001 à 22:32:06  profilanswer
 

En fait ça marche ce que j'avais fais, l'erreur venait d'autre part... J'avais oublié de mettre à zéro un membre de ma class dans le créateur.
:)
 
Quel ane je suis desfois :D

n°76507
chrisbk
-
Posté le 28-11-2001 à 22:32:32  profilanswer
 

edit : bon ben rien :D

 

[edtdd]--Message édité par chrisbk--[/edtdd]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] Problème avec un membre d'une class

 

Sujets relatifs
Gros problème avec base MYSQL !!!!! :([SQL] problème avec CAST
Probléme avec php ?Problème avec tableau dynamique
[C++] Problème avec des pointeursToujours le même problème !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!
problème avec un script PHP[D3D] Problème avec les matériaux
[PHP-NUKE] Probleme avec le bloc Last Links ! :([java & C++] utilisation .class java en C++
Plus de sujets relatifs à : [C++] Problème avec un membre d'une class


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR