Ich habe einen einfachen Modell-Viewer für Android geschrieben, der eine .obj Wavefront-Datei analysiert, um ein 3D-Modell zu erstellen. Ich bin ein einfaches icosphere exportieren, die vom Mixer mit einer UV-Karte texturierten wurde, die in diesem Format kommtopengl es 2.0 texture coordinates
v 0.000000 -1.000000 0.000000
v 0.723600 -0.447215 0.525720
v -0.276385 -0.447215 0.850640
.
.
.
v -0.723600 0.447215 -0.525720
v 0.276385 0.447215 -0.850640
v 0.894425 0.447215 0.000000
vt 0.238062 0.172144
vt 0.314133 0.212645
vt 0.264721 0.263452
.
.
.
vt 0.176955 0.098382
vt 0.327646 0.115775
vt 0.361262 0.040083
f 103/1 15/2 48/3
f 48/3 44/4 103/1
f 13/5 103/1 44/4
.
.
.
f 47/12 105/8 46/10
f 14/9 46/10 105/8
f 105/8 47/12 15/2
„v“ stellt die Eckpunkte „vt“ stellt die Texturkoordinaten und „f“ steht für die Gesichter wobei die Werte vor dem Schrägstrich die Indizes sind, die den Eckpunkten entsprechen, und die Werte nach dem Schrägstrich die Indizes sind, die den Texturkoordinaten entsprechen. Mein Problem ist, dass ich nicht sicher bin, wie man die Texturkoordinatenindizes in OpenGLs eingibt, so dass mein aktuelles Modell sehr seltsam aussieht, da die Texturkoordinaten nicht übereinstimmen.
Also meinst du das Bild in seiner Frage zeigt die richtige Textur nur vertikal gekippt? –
Ich bin optimistisch, dass das der Fall ist. Die Texturkoordinaten wurden für die Frage automatisch ausgepackt. Es gibt also keinen Grund anzunehmen, dass es so aussieht, wie es sollte, sondern umgekehrt. Ich werde eine Diskussion über OpenGL-Vertices hinzufügen, da Sie eindeutig skeptisch sind und ich habe gesehen, dass Sie in anderen Fragen wirklich gute Antworten geben. – Tommy