Falsche Koordinaten beim Laden

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Falsche Koordinaten beim Laden

Beitrag von Altair »

Servus,
nach langer Abwesenheit wollte ich mich wieder an das Laden der Modelle mit Hilfe von Assimp wagen. Allerdings stoße ich da auf ein Problem, dass das Model die falsche Ausrichtung hat (Bild 1). Wenn ich allerdings beim Kopieren der Koordinaten den y <=> z vertausche, dann hat das Model seine richtige Ausrichtung (Bild 2). Allerdings habe ich dann das Problem, dass bei einem anderen Model die Position der Objekte nicht mehr stimmt (Bild 3).

Meine Flags zum erzeugen der aiScene sieht so aus:

Code: Alles auswählen

unsigned int Flags = aiProcess_Triangulate | 
		aiProcess_ConvertToLeftHanded |
		aiProcess_MakeLeftHanded | 
		aiProcess_JoinIdenticalVertices | 
		aiProcess_SortByPType | 
		aiProcess_JoinIdenticalVertices |
		aiProcess_LimitBoneWeights |
		aiProcess_RemoveRedundantMaterials |
		aiProcess_OptimizeMeshes |
		aiProcess_GenSmoothNormals | 
		aiProcess_CalcTangentSpace;

	::Assimp::Importer Importer;
	mScene = Importer.ReadFile(Filename, Flags);
Im folgende wird einfach nur Mesh für Mesh durchgegangen und die Position, Normale und Texturkoordinaten kopiert.
Evt. habe ich ja schon bei den Flags ein Fehler drinne.
Die Modelle befanden sich alle in einer .3DS Datei - evt. liegt es ja daran. Beim kopieren von .x Dateien habe ich solche Probleme nicht. Deshalb stelle ich mir die Frage, ob es eine Möglichkeit gibt, wie ich, für DirectX, an die richtigen Vertexpositionen komme.
Dateianhänge
FalschePosition.png
RichtigeKoordinaten.png
FalscheKoordinaten.png
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Falsche Koordinaten beim Laden

Beitrag von kimmi »

Kurze Frage: du hast die Transformationsmatrizen der Node beachtet, richtig?

Kimmi
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Falsche Koordinaten beim Laden

Beitrag von Altair »

Ja, habe ich auch.
Was mir aber zudem auffällt, dass ich bei den meisten die Indices (die ja eig. x, y, z sind) in x, z, y anordnen muss. Bei den .3DS-Dateien muss ich die Position auch mit x, z, y anordnen.
Antworten