Assimp, problem mit Texturkoordinaten

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Schrompf
Moderator
Beiträge: 5397
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: Assimp, problem mit Texturkoordinaten

Beitrag 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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Assimp, problem mit Texturkoordinaten

Beitrag 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
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Assimp, problem mit Texturkoordinaten

Beitrag 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
Eisflamme
Establishment
Beiträge: 412
Registriert: 26.05.2002, 17:42
Wohnort: Köln

Re: Assimp, problem mit Texturkoordinaten

Beitrag 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.
Benutzeravatar
Krishty
Establishment
Beiträge: 8413
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Assimp, problem mit Texturkoordinaten

Beitrag 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.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Assimp, problem mit Texturkoordinaten

Beitrag von Altair »

Jetz klappt es auch, ohne die z-Achse zu rotieren, dankeschön :D
Antworten