Bonjour,
Je suis en train de créer un parser de fichier OBJ pour un programme.
Le parser est terminé mais je me heurte à un petit problème de données ...
En effet avant la création du parser OBJ pour mon programme les données
été écrites en "dure":
Un tableau float *points contenait la liste des points sous cette forme là :
foat points[nbr] = { xv1, yv1, zv1, xv2, yv2, zv2 , .....}
J'utilisais aussi un tableau triangleIndex.
Comme c'est très sale d'avoir des données en dure comme cela j'ai décidé de me monter un petit parser.
Cependant les données du tableau triangleIndex ne correspondent pas aux données lisibles du fichier OBJ, qui contient les même informations. D'où un problème lors du parsage, je ne sais pas comment traiter certaines données pour générer automatiquement le tableau triangleIndex ....
Je m'explique les valeurs du tableau points correspondent parfaitement
aux données vertex du fichier OBJ (voir plus loin), mais les données "face" du fichier OBJ ne correpondent pas - directement - au tableau triangleIndex
que j'utilisais avant ....
Les tableaux sont en piéces jointes.
Le fichier OBJ sensé correspondre est en piéce jointe.
Les données "face" du fichier OBJ ne vont que jusqu'à 2412, et le tableau triangleIndex va jusqu'à plus de 7000 ...
dans mon parser je récupére les données de f pour construire le tableau triangleIndex de la manière suivante :
triangle[nbr] = 2401, triangle[nbr] = 2405, triangle[nbr] = 2406 etc ...
et les données ne correspondent pas aux anciennens données en dure que j'avais ..... alors soit le fichier OBJ ne correspond pas aux données en dure
ou alors je me trompe en construisant mon tableau triangleIndex ou alors encore autre chose ?
Savez-vous d'où vient le problème ?
merci,
Partager