Texturproblem bei Kugel in LWJG

Rubber

Aktives Mitglied
Hi,
ich habe ein Problem mit den Texturen.
In Blender habe ich eine Figur erstellt und es dort auch geschafft, dass die Textur sich richtig auf meinen Kopf legt.
kopf1.jpg


Wenn ich die Figur jetzt mittels OpenGL durch die LWJGL zeichnen will, sieht das Gesicht nur leider irgedwie ... anders aus.
kopf2.jpg


Ich wollte mal frage, ob da wer auf anhieb ne Idee hat, woran das liegen könnte?

Ich lade die Daten aus ner OBJ datei (quellcode kann ich nachreichen, falls es da mal wer drüber schauen mag ;) ) und lass es dann in ner DrawList ablegen.
Was mich halt wundert ist, dass es in Blender hin haut und in LWJGL nicht.
Die UV-Koordinaten müssten ja stimmen, weil sonst Blender auch ein Problem haben müsste mit dem darstellen - oder?
Speichert Blender die Koordinaten eventuell anders ab, als OpenGL sie haben will?
Oder ist es wahrscheinlicher, dass ich beim auslesen aus der Datei einen fehler mache?
Die Textur liegt in ner .jpg Datei.

Danke schonmal fürs durchlesen *g

Gruß,
David
 

Rubber

Aktives Mitglied
Hm...
Ich hab jetzt auch festgestellt, dass wenn ich in Blender ein Quadrat erstelle und dem eine Textur zuweise und dann beim exportieren triangulate faces aktiviere, bei dem Ergebnis auch die Kanten zu sehen sind.
(Also ne sehr kleine Textur auf ne große Fläche.

Speichert Blender due UV-Koordinaten anders, als OpenGL sie haben will?
 

Rubber

Aktives Mitglied
So,
ein Stück bin ich jetzt schonmal weiter.

Momentan sieht es so aus:
kopf_neu.jpg


Wen interessiert, woran es lag:
Blender arbeitet mit UV-Koordinaten.
OpenGL mit ST.
Der Unterschied ist relativ Simpel.

Bei UV-Koordinaten ist der 0-Punkt unten links und bei ST-Koordinaten Oben Links.
Man muss also die T Koordinate umdrehen:
T = 1 - V

Aber woran liegt es jetzt, dass mein Gesicht trotzdem noch nicht ganz "sauber" ist?
 

Ähnliche Java Themen


Oben