Bonjour,
Mon probleme :
j'essaye de faire un parser/viewer de fichier collada (.dae) et je bloque depuis un long moment face à un bug dont je n'arrive pas du tout à comprendre la provenance
donc comme vous pouvez le voir sur cette image :
https://camo.githubusercontent.com/d29efd521fa90fe3a56391f417993301cfe95924/687474703a2f2f7069782e746f696c652d6c696272652e6f72672f75706c6f61642f6f726967696e616c2f313430373438303232332e706e67
à gauche, le rendu que j'ai avec mon programme, donc on voit bien que ça affiche mal les textures par rapport au model de droite, qui lui, est le rendu voulu
Informations supplementaires :
le projet complet : https://github.com/stanoob/ParserColladaDAE
présentation : https://github.com/stanoob/ParserColladaDAE/blob/master/README.md
je charge ma texture (mise de manière static pour l'instant) à partir d'ici https://github.com/stanoob/ParserColladaDAE/blob/master/mesh.cpp#L14
jusque la ligne 51
je recupère mes coordonnées de textures finales pour chaque <geometry> dans cette fonction : https://github.com/stanoob/ParserColladaDAE/blob/master/nodexml.cpp#L111
les coordonnées de texture parser sont les bonnes normalement, puisque je fais exactement la même procédure que j'ai faite pour parser les coordonnées de positions des vertices, j'ai juste bougé l'offset qui est plus à 0, mais à 2 et puis bien sûr je prends mes données dans le noeud source correspondant aux données des coordonnées de textures
pour lire les coordonnées des vertices je lis les 3 coordonnées consécutives (X,Y,Z) dans le float_array
mais là pour les coordonnées de texture, je n'en lis que 2 (S, T) sur les 3 (S, T, P)
si je me trompe pas, S et T sont les coordonnées X et Y du ième pixel lu dans la texture à associé au ième sommet,
par contre, le parametre P je ne vois pas ce que ça peut être, c'est pourquoi je ne le lis pas, le probleme peut venir de là?
en fait j'ai essayé de voir ce qu'était ce paramètre P, j'ai cru comprendre que c'était en lien avec les projections geometriques de textures, mais je n'arrive pas à comprendre le lien avec les données correspondant au parametre P
Merci d'avance pour vos réponses !
----------------
p.-s: si vous voyez des affreusetés dans mon code, n'hésitez pas à me le dire car je suis encore assez novice niveau OpenGL 3.x
p.-p.-s: si je n'ai pas été clair sur certains points de mon probleme, n'hésitez pas à me demander davantage de précisions/détails