Seite 2 von 2

Re: [ASSIMP] Problem mit Texturkoordinaten

Verfasst: 29.07.2009, 12:54
von Zudomon
Schrompf hat geschrieben:
Zudomon hat geschrieben:Wird der Input im VS nicht automatisch aufgefüllt? Also wenn das Vertexformat z.B. 2 Floats für Texcoords vorsieht und im Shader aber 4 Floats als Input angegeben werden, läuft das alles trotzdem ohne Probleme. Die beiden zusätzlichen Floats sind dann ebend nicht vernünftig initialisiert.
Äh... nein. Die Input-Deklaration beschreibt das Speicherlayout der Vertexstruktur - die MUSS stimmen, und zwar Byte für Byte. Was Du meinst, ist die Eingabestruktur im VertexShader - da kann man einzelne Elemente größer machen als angeliefert, die übrigen Elemente werden dann zu (0, 0, 0, 1) ergänzt.
Jap, das meinte ich. Aber bis auf, dass ich davon ausgegangen bin, dass die Werte dann nicht richtig initialisiert sind, meine ich, dass gleiche gesagt zu haben, wie du jetzt. Also das man im VS von dem deklarierten Vertexformat abweichen kann.

Re: [ASSIMP] Problem mit Texturkoordinaten

Verfasst: 03.08.2009, 00:50
von Aramis
Hoi, sorry dass ich mal wieder ein paar Tage gebraucht hab um meine Mailbox zu öffnen :-)

Ich bin im Debugger wie im Hexeditor durch, und kann definitiv sagen: dieses 3DS-File ist
a) vollständig valid -> alle Chunkoffsets stimmen (bei 3DS eine Seltenheit)
b) enthält genau ein Material (17-Default), aber keine Textur (jedenfalls müsste ihr Klartextname im Hexeditor auftauchen, und das ist nicht der Fall). Texturkoordinaten sind enthalten.

Editiere ich manuell eine Texturreferenz hinzu, erhalte ich das (ist eine andere Textur, Quintessenz draus ist, dass jedes einzelne Dreieck die ganze Textur auf sich mappt):
av2.png
Du musst also definitiv gucken, dass du aus 3DS max dein Zeugs auch ordentlich exportiert kriegst. Du kannst zu Testzwwecken auch nach ASE exportieren -> Assimp kann es nahezu genauso gut lesen und die Struktur entspricht im wesentlichen einem 3DS-File, in Textform und somit menschenlesbar. Du siehst also genau was alles exportiert wurde.

Hoffe ich konnte helfen. Ansonsten, schreib einfach.