CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[OpenGL] Parser fichier .obj et .mtl

[denshaotoko]
[denshaotoko]
Niveau 25
11 juillet 2013 à 02:06:10

Bonjour,

J'ai suivi ce tutoriel : http://www.siteduzero.com/informatique/tutoriels/charger-des-fichiers-obj/parser-les-formats-obj-et-mtl

Je débute donc j'ai eu un peu de mal à comprendre certains passages, mais bon, j'ai essayé de faire au mieux et de relire etc...

:globe: Mon problème en bref :

Lorsque je veux load un .OBJ et un .MTL avec seulement une seule texture, tout se passe très bien.

Par contre, dès que je veux load un .OBJ et un .MTL avec plusieurs textures, ce sera toujours la dernière texture analysé dans le fichier .mtl qui sera appliqué à toutes les faces du polygones...

:globe: Mon problème PAS en bref :

Donc, le parser marche bien, il load bien le fichier .obj et le fichier .mtl

Cependant, j'ai l'impression que le parser de ce tuto permet seulement de charger des fichiers .obj et .mtl accompagné d'une SEULE texture, en effet, toutes les textures sont bel et bien chargé et analysé, mais dans mon code, il n'y a que la dernière texture analysé qui est appliqué lors de l'affichage (à l'appel de draw_model(), lorqu'on fait glBindTexture(GL_TEXTURE_2D, texture);)

Dans la méthode charger_mtl(), lorsqu'il y a loadTexture, ça écrase la texture qui a été loadé à l'itération précédente une fois qu'il y a un nouveau "usemtl" de détecté, ça remplace l'attribut "GLuint texture" de l'instance MeshObj en cours.

Par conséquent, il n'y aura que la dernière texture analysé du fichier .mtl qui sera prise en compte, je sais pas du tout comment faire pour y remédier et pour faire en sorte que chaque texture soit afficher sur leur face, et pas que ce ne soit que la dernière texture analysé qui soit appliqué sur toutes les faces du polygones, c'est pour ça que je demande votre aide :)

Voilà l'archive avec tout les fichiers et le projet .cpb : https://mega.co.nz/#!8osVBQhT!P-binmLpl1SzCKnrFG4YlWjaKO4eR9Wgrj_d2k2ouNY

J'ai posté le même topic d'aide sur le forum du Site du Zero : http://www.siteduzero.com/forum/sujet/opengl-parser-de-fichiers-wavefront-obj-et-mtl

Vous pouvez y faire un tour, la mise en forme est un peu meilleur :oui: c'est plus dur de faire une bonne mise en forme ici :noel:

PS : Ne faites pas attention au ofstream "fluxSortant" ça me permettait d'avoir un fichier .txt qui me servait comme sorte de rapport d’exécution pour y voir un peu plus clair :hap:

Veuillez m'excuser si je n'ai pas été très clair à propos de ma demande d'aide, je peux réexpliquer certains points si vous le désirez. :oui:

Merci pour vos futures réponses :oui:

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment