Modelle in C++ einbinden

Original geschrieben von KAY
Kann mir einer sagen wie ich Modelle (*.obj) in C++ einbinden und anzeigen kann.
Um was für "Modelle" handelt es sich da genau?
Womit wurden die erstellt?
Und wie willst du die einbinden?

MfG
mini
 
Das sind 3d-Modelle, die mit Lightwave erstellt wurden.
Ich will die so einbinden, dass ich die genauso behandeln kann wie Modelle, die nur in C++ erstellt wurden, sprich: Rotation, Transformation, Beleuchtung etc.
 
Also ich hab mich zwar mit DirectX noch nicht alzuviel befasst, sondern mit OpenGL. Aber das Laden von Modellen ist irgendwo sinngemäß das gleiche. Ich um ein 3D-Modell einzuladen brauchst du natürlich den entsprechenden Reader für dein Format (in deinem Fall .obj). Musst mal bei http://www.google.de oder so suchen, ob es dafür schon einen Reader gibt.
Ansonsten musst du nach der Beschreibung des File-Formates suchen und dir selbst einen Reader schreiben. Da aber .obj meines Wissens binär ist, ist es nicht ganz einfach solch einen Reader zu schreiben.
Daher empfehle ich dir benutz für den Anfang ein lesbares ASCII-Format um deine 3D-Modelle zu beschreiben. Anbieten würde sich dazu:

1. STL (= StereoLitho) FileFormat
2. ASE (= ASCII-Scene-Exporter)
Diese beiden Formate kann man mit dem Editor ansehen und auch verstehen. Jetzt brauchst du nur noch eine Anwendung, die dir die .obj konvertiert (z.B. 3D-Max oder andere). Dann kannst du dir einen art Parser schreiben, der dein 3D-Model einliest und dir die Daten für dein DirectX-Programm zur Verfügung stellt.
Wenn du Interesse hast, für ASE hab ich mir vor kurzem selbst einen Reader geschrieben, er ist zwar nicht perfekt, aber er funktioniert ganz gut.

Gruss Homer
 
Wie deinem Modeller klar machen??? Das Versteh ich jetzt nicht. Mit was erstellst du die Modelle?. Zum Rausschreiben der ASE-Dateien kenn ich aber leider nur 3D-Studio-Max.

Gruss Homer
 
ich erstell doch die modelle nicht(hab ich gar keine zeit für).
Mein Modeller ( n Kumpel) macht das, aber halt mit Lightwave->*.obj.
 
Tja dann kannst du dir überlegen, ob du einen Reader für diese *.obj schreiben kannst, bzw. vielleicht gibt es schon einen, musst hald im Internet suchen. Das ist je nachdem einfach oder etwas schwieriger, je nach dem ob das *.obj Format ASCII ist oder binär.

Gruss Homer
 
Zurück