Seite 1 von 1

Re: Assimp, problem mit Texturkoordinaten

Verfasst: 21.08.2010, 14:32
von Schrompf
Moin Altair,

AssimpView lädt die Datei korrekt. Das sieht man zwar nicht, da die Datei kein Material enthält, aber mit dem Debugger sehe ich Texturkoordinaten, die für mich valide aussehen... anscheinend hast Du in jede Richtung 4 Texturwiederholungen auf dem Mesh drauf, die Texkoords gehen von 0.0f bis knapp 4.0f. Theoretisch könnte man in AssimpView mittels Kontextmenü auf dem Material-Eintrag im Szenegraphen eine Diffuse-Textur hinzufügen, so dass Du das auch sehen kannst, aber der entsprechende Eintrag scheint nicht implementiert... tja. Das Leben ist hart.

Nach allem, was ich von der 3ds-Datei bisher gesehen habe, lädt Assimp die jedenfalls korrekt. Schau mal durch Deinen Rendercode, ob Du da was falsch machst. Oder nimm Dir PIX und steppe mal durch einen VertexShader und PixelShader, ob die Werte aus dem VertexBuffer korrekt ankommen.

Re: Assimp, problem mit Texturkoordinaten

Verfasst: 21.08.2010, 14:49
von Altair
Vielen Dank für deine Hilfe und Mühe.
Ich bin mal mit PIX durch den Vertexshader durchgegangen, und die Werte werden von Vertexbuffer nicht richtig an den Vertexshader weitergeleitet, also guck ich mir mal an was ich bei den Vertexbuffer falsch mache.

Mfg Altair

Re: Assimp, problem mit Texturkoordinaten

Verfasst: 21.08.2010, 16:44
von Altair
So, ich hab den Fehler gefunden, irgentwie wurde die größe des Vertexbuffers nicht richtig ausgerechnet, aber das Problem ist jetzt gelöst. Die Textur wird jetzt richtig angezeigt, nur verkerht herrum, z.B. würde Südamerika im Norden liegen und Nordamerika in Süden, aber das hab ich so gelöst, dass ich das Modell um die Z-Achse drehe.
Vielen Dank für eure Mühe und Hilfe

Mfg Altair

Re: Assimp, problem mit Texturkoordinaten

Verfasst: 25.08.2010, 05:18
von Eisflamme
Das Modell um die z-Achse drehen klappt aber wirklich nur bei der Erde. ;)

Ich habe als v-Koordinate 1-v genommen und das funktioniert dann.

Re: Assimp, problem mit Texturkoordinaten

Verfasst: 26.08.2010, 12:49
von Krishty
Prüf mal, ob die u-Koordinate in [-1, 0] ist statt [0, 1] (das fällt bei normalem Texture-Wrapping nicht auf) – ich muss nämlich immer u = 1 + u; und v = 1 - v; rechnen. Liegt aber scheinbar nicht an Assimp.

Re: Assimp, problem mit Texturkoordinaten

Verfasst: 28.08.2010, 22:18
von Altair
Jetz klappt es auch, ohne die z-Achse zu rotieren, dankeschön :D