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

  FORUM HardWare.fr
  Programmation
  C++

  problème pour charger des mesh au format .x

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème pour charger des mesh au format .x

n°1339106
akalash47
Posté le 04-04-2006 à 19:55:21  profilanswer
 

Voila, je cherche à charger des modèles au format .x pour un moteur 3D sous Windows qui fonctionne aussi avec OpenGL.
Pour cela j'utilise la fonction de chargement D3DXLoadMeshFromX (bien plus rapide et fiable que les loaders .x "maison" - voir par exemple http://www.gamedev.net/reference/p [...] s/xfilepc/, j'ai longuement essayé).
 
En fait je copie le contenu des vertex et index buffers du mesh vers les buffers propriétaires au moteur et tout va très bien, mon modèle s'affiche parfaitement. Enfin PRESQUE parfaitement...
 
Le gros problème, c'est que le mesh est partitionné en plusieurs éléments qui ont leurs propres textures et matériaux.
Je n'apprends rien aux habitués, l'affichage sous directX est on ne peut plus simple, il faut juste appeler la fonction DrawSubset ( i ) avec les matériaux et textures n°i pour afficher l'élément i du mesh.
 
Simple exemple :  
 

Code :
  1. for( DWORD i=0; i<materialsCount; i++ )
  2.         {
  3.             // Set the material and texture for this subset
  4.             Device->SetMaterial( &meshMaterials[i] );
  5.             Device->SetTexture( 0, meshTextures[i] );
  6.        
  7.             // Draw the mesh subset
  8.             mesh->DrawSubset( i );
  9.         }


 
Mais pour moi ce n'est pas aussi simple, car le mesh ne comporte qu'un seul vertex et index buffer : tous les éléments doivent être concaténés à la suite et apparemment seul le mesh connait les indices de début et de fin dans ces buffers pour chaque élément.
 
Ce que je veux :
 

Code :
  1. for( DWORD i=0; i<myModel.meshesCount; i++ )
  2.         {
  3.             // Set the material and texture for this subset
  4.             myModel.setMaterial( i );
  5.             myModel.setTexture( i );
  6.        
  7.             // Draw the mesh subset
  8.             // I only have 1 buffer since the original Dx mesh also had one
  9.             myModel.setVertexBuffer ( start?, end? );
  10.         }


 
Alors y a-t-il un moyen de connaître ces valeurs de début et de fin pour chaque élément?

mood
Publicité
Posté le 04-04-2006 à 19:55:21  profilanswer
 

n°1339359
bjone
Insert booze to continue
Posté le 05-04-2006 à 01:35:59  profilanswer
 

déjà le format .X ce n'est pas un format imposé par le DirectX, c'est le format manipulé par le D3DX, qui est l'équivalent du GLUT.  
c'est donc de l'assistance, voir plus une implémentation de démo dans le cas des mesh d3dx.
 
maintenant je vois ce que tu veux, mais moi je l'ai fait en partant de mon propre format maison, je jetterai demain un coup d'oeil dans le SDK, mais si tu n'as rien vu pour obtenir les offsets & co, je pense pas que je le verrais non plus...

n°1339477
akalash47
Posté le 05-04-2006 à 10:42:47  profilanswer
 

Non, j'ai beau eu chercher dans le SDK, je n'ai rien trouvé à ce sujet. En tout cas si cela est possible il doit s'agir d'une fonction Dx qui prend le mesh en paramètre, car visiblement il n'y a aucune méthode du mesh à cette intention.
 
Rhââ quand je pense que j'ai fait 90% du travail et si ça continue je vais devoir refaire un loader par moi-même! C'est trop stupide!  :pfff:


Message édité par akalash47 le 05-04-2006 à 10:45:54
n°1339538
bjone
Insert booze to continue
Posté le 05-04-2006 à 12:00:59  profilanswer
 

bin apriori wé :/


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

  problème pour charger des mesh au format .x

 

Sujets relatifs
probléme avec la fonction rmdirjavascript: probleme de focus
[EasyPhp] Gros problème de lenteur avec MySQLprobleme parse_url
Utilisation de libsndfile: problème de linkProbleme de PHP avec IIS et Apache
Probleme ascenseur et overflow[Java] Probleme de répertoire courant
[resolu] probleme avec un echo "<a href..." au niveau du ">" de finProblème :recupération de tableaux html
Plus de sujets relatifs à : problème pour charger des mesh au format .x


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