2010-12-01 3 views
0

Je travaille avec OpenGL ES 2 sur iphone et maintenant j'essaye de faire travailler mes textures sur mes objets. J'utilise des fichiers .obj et toutes les données qu'ils contiennent sont correctes. J'ai écrit un analyseur moi-même pour récupérer toutes les données, je le convertis en tableaux statiques en C. Je rejette les propriétés du matériel pour l'instant, obtenant seulement le chemin de l'image à partir des fichiers .mtl manuellement.Textures dans OpenGL ES 2 ne fonctionne pas correctement

J'ai un objet avec 336 triangles, ce qui rend ce non-trivial à observer, avec des vertices, des faces de sommet et des coordonnées de texture (u, v).

En passant toutes les données dans les shaders, l'image résultante est la suivante:

http://img530.imageshack.us/img530/9637/pic1io.png

http://img404.imageshack.us/img404/7358/pic2pg.png

Mais il devrait ressembler à ceci (Affichage dans un visualiseur d'objets). S'il vous plaît ignorer les propriétés du matériau.

http://img16.imageshack.us/img16/1401/pic3cq.png

L'utilisation de cette image comme une texture:

http://img217.imageshack.us/img217/1300/shirtdiffuse.png

Je pense qu'il pourrait avoir à faire avec coordonnées de texture visages? Il est défini dans mon fichier .obj et je ne les utilise pas du tout. Dans les livres et les tutoriels, je n'ai rien trouvé à ce sujet.

Cordialement Niclas

Répondre

0

Avez-vous essayé de retourner la texture verticale? Parfois, quand une texture a été chargée, elle est disposée en mémoire de sorte que les lignes verticales viennent dans la direction opposée comme prévu dans les texcoords.

+0

Oui, j'ai :) Les images que vous regardez sont en fait retournées verticalement. Savez-vous à quoi servent les faces de coordonnées de texture? – tyuip

+0

@Adl la texture "se déplace" lorsque vous faites pivoter le modèle? Je ne suis pas un spécialiste des shaders, mais si cela se produisait, j'imagine qu'il y a un bug dans votre shader texcoord. – epatel

+0

Le problème est que j'ai différents index, en fonction des attributs que j'utilise. Les sommets, les normales et les TextureCoordinates ont tous des indices différents. Je ne sais pas comment dessiner des sommets avec leurs indices correspondants quand je suis également supposé dessiner TextureCoords avec leurs index. – tyuip

Questions connexes