Frage

Ich bin neu in OpenGL. Ich spiele, um mit ihm JOGL verwenden. Ich verwende dieses Modell .

Ich bin Rendering es erfolgreich zum Fenster. Ich möchte jedoch Texturen / Materialien anzuwenden. Ich bin mir nicht ganz sicher, wie dies zu tun.

Von der OBJ-Datei:

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

Wikipedia sagt mir, dass alles, was nach der usemtl Anweisung und vor der nächste usemtl Anweisung soll Gebrauch khaki_light_pave_W.png. Aber ich bin nicht sicher, wie dies in OpenGL tun.

Es gibt eine Reihe von Eckpunkten an der Spitze der Datei definiert:

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

Muss ich die vt Eckpunkte für die Textur benutzen? Die f Aussagen enthalten Indizes. Sind diese indicies in die v Ecken, vt oder beides?

War es hilfreich?

Lösung

tl; dr:. Die Einträge vt Texturkoordinaten angeben und die Einträge f Index (! Basis 1) in drei separate Arrays (v, vt und vn)

Von den spec Abschnitt „Referenzierung Vertexdaten „:

Für alle Elemente, Nummern werden verwendet, geometrische zu identifizieren Ecken, Textur Ecken, Vertex- Normale und Parameterraum Eckpunkten.

Jede dieser Arten von Eckpunkten ist numerierten getrennt, beginnend mit 1. Das bedeutet, dass die erste geometrische Eckpunkt in der Datei 1 ist, ist die zweite 2, und so weiter. Die erste Textur Vertex in der Datei 1 ist, ist die zweite 2 und demnächst. Die Nummerierung wird sequentiell über die gesamte Datei. Häufig haben Dateien von mehreren Quellen Listen von Scheitelpunktdaten. diese Nummerierung Sequenz wird fortgesetzt, auch wenn Vertex Daten werden von anderen Daten getrennt.

Neben dem Zählen Scheitel nach unten von der Spitze der ersten Liste in der Datei können Sie auch Ecken zurück zählen auf die Liste von einer Position des Elements in der Datei. Wenn Sie zählen die Liste von einem Element, das Referenz Zahlen sind negativ. Eine Referenz Anzahl von -1 zeigt den Scheitelpunkt unmittelbar über dem Element. EIN Bezugszahl -2 zeigt zwei Referenzen oben und so weiter

Andere Tipps

Ich schrieb eine OBJ-Datei loader up zusammen mit einem Beispielmodell Betrachter das Modell anzuzeigen LWJGL mit, die JOGL ähnlich, aber nicht genau das gleiche. (Ich habe beide JOGL und LWJGL verwendet -. In der Tat habe ich vor kurzem von JOGL zu LWJGL geschaltet)

Ich suche den Code so sauber und einfach wie möglich zu machen. Leider ist es „altmodisch“, dass es die Fest Funktion Pipeline verwendet, anstatt individuelle Shadern, aber ich hoffe es und etwas nützlich sein kann lehrreich für die Grundlagen. Sie können ihn unter finden;

http://darksleep.com/oObjLoader/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top