IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

Extraire les coordonnées des triangles d'un X


Sujet :

DirectX

  1. #1
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut Extraire les coordonnées des triangles d'un X
    Je vais faire un programme qui va travailler sur un fichier X, pour cela j'ai besoin de la géométrie du meh qu'il contient. Donc des triangles.
    Mon problème vient de l'extraction des coordonnées des triangles du mesh.
    Je n'ai pas besoin des informations d'adjacence, seulement des coordonnées.
    Question :
    Et je me suis rendu compte que les vertex avaient différents types dans les fichiers X, et qu'il était très difficile de les extraire, je voulais avoir votre avis sur l'extraction de ces triangles.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Si tu n'as besoin que des coordonnées XYZ, tu peux cloner ta mesh en forçant le format D3DFVF_XYZ, ainsi tu es sûr que son vertex buffer ne contiendra que des sommets de type (float, float, float).

    Aussi, si ID3DXMesh permet de récupérer le stride (vérifier dans la doc), tu peux utiliser le fait que la position se trouve toujours en premier dans un sommet.

  3. #3
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Tu dis que la position se trouve toujours en premier quelque soit le format ???
    Ca ça peut-etre intéressant.

  4. #4
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Il me semble que les ID3DXMesh ont la fonction getDeclaration()
    qui retourne exactement la description de ton vertex buffer. Donc pas besoin de deviner.

    LeGreg

  5. #5
    Membre averti Avatar de Rafy
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    415
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 415
    Points : 417
    Points
    417
    Par défaut
    Dans la description du vertex buffer j'ai le nombre de vertex, la taille en mémoire d'un vertex, et un pointeur sur le vertex buffer, mais en aucun cas une liste de triangle, mais grâce à ce qu'a dit Laurent (la position est la première donnée), alors il est peut-être possible de faire une magouille :
    Je peux parcourir le vertex buffer, j'ai le première élément, et je connais la taille, en mémoire, d'un vertex et du vertex buffer. Puis comme j'ai chaque vertex et que je sais que les premières données sont la position alors je peux prendre les premières données de chaque vertex du vertex buffer....
    Mais je trouve ça quand même extrèment bourin... Il va y avoir des casting dans tous les sens et ça me plait moyen de jouer avec la mémoire comme un fou... Quelqu'un a une autre solution à proposer ????

Discussions similaires

  1. Extraire les coordonnées des points d'intersection et calibrage 3D
    Par Lysasim dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 03/04/2012, 16h22
  2. Réponses: 3
    Dernier message: 11/03/2010, 15h26
  3. [VBA-E]Extraire les infos des cellules
    Par boosty dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/04/2006, 09h46
  4. Extraire les liens des fichiers flash
    Par bluecurve dans le forum Langage
    Réponses: 3
    Dernier message: 16/03/2006, 21h24
  5. C'est quoi les INDICES des triangles?
    Par Happy dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/03/2006, 22h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo