Ich habe eine C++ DirectX9-Rendering-Engine mit Y als meine Hochachse. Wenn ich ein Modell importiere, das mit Z als Hochachse modelliert wurde, vertausche ich einfach die Y- und Z-Werte aller Scheitelpunkte des Modells, um das Modell korrekt auszurichten. Dies funktioniert gut, außer dass die Wicklungsreihenfolge der meisten (nicht aller) Maschen falsch ist.So konvertieren Sie Z-Up-Scheitelpunkte in Y-Up-Scheitelpunkte, ohne die Wicklungsreihenfolge eines Polygonnetzes zu ändern. (DX9c)
Da ich das Modell mit aktiviertem Rückseitenauswählen rendert, sind die äußeren Hüllen der Modelle unsichtbar und die internen Hüllen sind sichtbar.
Ich habe die Indizes invertiert, um das Problem zu beheben, und es funktioniert gut ... aber da nicht alle Modelle die gleiche falsche Wicklungsreihenfolge haben, sitze ich mit der Hälfte der Modelle mit korrekten Wicklungsreihenfolgen und die andere Hälfte mit falschen Wickelanweisungen.
Also meine Frage ist dann: Wie konvertiere ich korrekt ein 3D-Modell mit Z als Hochachse zu einem 3D-Modell mit Y als Hochachse, ohne dabei die Wicklungsreihenfolge zu brechen.
Vielen Dank im Voraus.
Vertauschen Sie das Y mit -Z. –