Je suis nouveau sur OpenGL. Je joue avec JOGL. J'utilise ce model.Analyse de fichiers .obj: Comment faire des matériaux/textures?
Je le rends avec succès à la fenêtre. Cependant, je voudrais appliquer des textures/matériaux. Je ne suis pas entièrement sûr de savoir comment faire cela.
A partir du fichier obj:
f 6307/4525/3 6303/4524/3 6327/4523/3 6315/4526/3
usemtl kahki_light_pave_W.png
f 6445/3470/305 6437/4623/305 6593/4624/305 6597/4625/305
f 6594/4626/306 6438/4627/306 6446/4628/306 6598/4629/306
f 6595/4630/307 6439/4631/307 6447/4632/307 6599/4633/307
f 6448/3482/308 6440/4634/308 6596/4635/308 6600/4636/308
Wikipédia me dit que tout après la déclaration usemtl
et avant la déclaration suivante usemtl
est censé utiliser khaki_light_pave_W.png
. Cependant, je ne suis pas sûr comment cela se fait dans OpenGL.
Il y a un tas de sommets définis en haut du fichier:
v 19.886690 3.093822 -21.149584
v 23.886690 3.093822 -21.149584
vt 0.918121 0.920883
vt 0.918121 0.959193
vt -0.537323 1.541370
vt -0.537323 1.503060
vt 0.462677 0.503060
Dois-je utiliser les vt
sommets pour la texture? Les instructions f
incluent des index. Ces indices sont-ils dans les sommets v
, vt
ou les deux?
Ok, donc étant donné un ensemble de points de vt et une image, ce que les appels opengl dois-je appliquer la texture? Étant donné une ligne comme 'f 1/2/3 4/5/6 7/8/9', comment puis-je savoir à quelle liste de vertex il indexe? –
Il y a juste une liste de vertex par OBJ: tous les éléments 'f' sont indexés dedans. – genpfault
Ok, mais ce que vous avez posté ci-dessus dit que chaque type de sommet est numéroté séparément? donc si elle dit f 1/2, comment savoir si elle fait référence à v [1] et v [2] ou vt [1] et vt [2]? –