Ich möchte ein c++-Programm mit dem Ziel schreiben, eine 3D-Normaltexturkarte zu "backen". Ein Benutzer muss ein Low-Poly- und High-Poly-Modell mit der Option eingeben, ein 3D-Cage-Mesh-Modell hinzuzufügen. Das Programm wird ausgeführt, sobald der Benutzer "run" drückt. Was ist der beste Ansatz, um loszulegen? Welche Bibliotheken kann ich verwenden, um den Prozess zu beschleunigen? Welche Datentypen werden benötigt, um ein solches Programm zu erstellen?
Wenn Sie ein c++-Programm für normales Kartenbacken schreiben möchten, ist das normale Kartenbacken ein Prozess der Übertragung der normalen Informationen von einem hochpoligen Modell zu einem niedrigpoligen Modell mit UVs. Auf diese Weise wird das niedrigpolige Modell detaillierter und realistischer aussehen, ohne die Polygonzahl zu erhöhen. Um zu beginnen, benötigen Sie einen c++-Compiler und eine IDE, die c++ unterstützt. Sie benötigen auch einige Bibliotheken, die Ihnen beim Laden und Speichern von 3D-Modellen helfen können, manipulieren von Bildern und Durchsuchen von Strahlen. Eine mögliche Bibliothek, die Sie für normale Kartenbacken verwenden können, ist Embree, die eine Sammlung von Hochleistungs-Strahlenverfolgungskernen ist. Embree kann komplexe Geometrie und Materialien handhaben, und es hat eine einfach zu bedienende API. Eine andere Bibliothek, die Sie benötigen, ist OpenEXR, um die hohe Dynamik der Bilddateiformatierung zu speichern. OpenEXR können normale Karten mit hoher Präzision und Kompression speichern. Um ein solches Programm zu erstellen, benötigen Sie von der Schnittstelle zu handhaben. Eine andere Bibliothek, die Sie benötigen, um die API zu prüfen, um eine hohe API-Dateiformat zu speichern.