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...
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...
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
c'est plus dur de faire une bonne mise en forme ici
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
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.
Merci pour vos futures réponses 