Modelle Laden mit DirectX 11

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

Modelle Laden mit DirectX 11

Beitrag von Altair »

Hallo an alle,

ich wollte euch fragen, ob einer von euch ein gutes Tutorial kennt, wie man Model Daten auslesen kann... Früher bei DirectX 9 hab ich, dass immer mit der D3DX Hilfsfunktion gemacht, aber die ist mit DirectX 11 leider verschwunden... Deshalb meine Frage, nach ein Tut um ein Modelformat auszulesen

Vielen Dank im voraus und Mfg Altair
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Modelle Laden mit DirectX 11

Beitrag von Aramis »

Grundsaetzlich ist das Laden von Modellen nichts, was etwas mit dem verwendeten Grafik–API zu tun haette. Die D3DX-Hilfsfunktionen sind eigentlich nur fuer’s Prototyping brauchbar.

Empfehlen wuerde ich – auch wenn es sich streng genommen um Eigenwerbung handelt :-) – die Bibliothek in meiner Signatur. Assimp laedt fast alle gaengigen 3D–Formate, inklusive derer, die D3DX liest. Den Rendercode musst du dafuer selber schreiben, aber das ist sowieso zu empfehlen. Bei Rueckfragen findest du hier auf ZFX zudem zuverlaessige Hilfe.
keepcoding
Beiträge: 30
Registriert: 28.11.2003, 17:19
Kontaktdaten:

Re: Modelle Laden mit DirectX 11

Beitrag von keepcoding »

Ich nehme mal an du meinst das x-File-Format. Eigentlich könntest du noch immer die D3DX-Funktion zum Laden des Modells verwenden und dann einfach die Vertex-, Index- und Materialdaten in einem eigenen Dateiformat speichern...
Ansonsten könntest du die Modelldateien auch in ein anderes Format konvertieren, z.B. 3ds (dazu gibt's hier etwas Code: http://www.flipcode.com/archives/3DS_File_Loader.shtml).
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Modelle Laden mit DirectX 11

Beitrag von Altair »

Ich werd mir mal die beiden Sachen anschauen :) Ich weiß das es nichts mit der API zu tun hat, aber bei DirectX 9 kann man halt ganz einfach ein Model laden, indem man die Funktion aufruft, aber bei DirectX 11 müsste man dies selber machen... In erster Linie geht es mir nur drum, die Modeldaten auszulesen und sie in ein Vertex- und Indexbuffer zu speichern
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Modelle Laden mit DirectX 11

Beitrag von Altair »

Ein schönen Abend an alle und sry für den Doppelpost... Also ich hab mir überlegt erstmal mit den x. Datein weiter zu arbeiten, aber ich werd die dann selber auslesen... Weil ich die ModelLoader Lib von der Signatur, momentan für meine Bedürfnisse, ein bissi für Overkill halte und den 3DS Loader aus den Link irgentwie nicht verstehe :( Hat jemand von euch eine Seite wo drin steht wie die x. Datei aufgebaut ist, damit ich die auslesen kann?

Mfg Altair
Specialist
Establishment
Beiträge: 135
Registriert: 29.08.2003, 14:22
Kontaktdaten:

Re: Modelle Laden mit DirectX 11

Beitrag von Specialist »

Wenn du eh beim X-Format bleiben möchtest, dann nimm doch auch direkt die entsprechenden D3DX-Funktionen zum Laden.
Danach hast du Zugriff auf Vertexbuffer, Indexbuffer so wie die Materialien.
Wir machen es z.B. so, dass wir die X-Dateien durch einen eigenen Konverter jagen, der uns dann unser Modelformat ausgibt. Allerdings arbeiten wir noch mit DirectX9c. Einen Konverter könntest du damit ja immerhin noch schreiben, auch wenn du sonst DX11 benutzt.
Zu anderen Formaten kann ich leider nicht viel sagen.

Wenn du es dennoch selbst einlesen willst, Beschreibungen zum Format finden sich überall im Internet, z.B. auf http://www.wotsit.org
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Modelle Laden mit DirectX 11

Beitrag von Altair »

Danke für den Link :) Zu den X File hab ich leider nichts gefunden, aber dafür andere Formate, die ich mir mal anschauen werde... Bremst es nicht aus, wenn man ein D3D9 Device, um mit D3DX die Modelle zu laden und dann ein D3D11 Device erstellt?
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Modelle Laden mit DirectX 11

Beitrag von Altair »

So jetzt hab ich es endlich geschaft das Model endlich anzuzeigen und zu rendern
Mfg Altair
Specialist
Establishment
Beiträge: 135
Registriert: 29.08.2003, 14:22
Kontaktdaten:

Re: Modelle Laden mit DirectX 11

Beitrag von Specialist »

Altair hat geschrieben:Bremst es nicht aus, wenn man ein D3D9 Device, um mit D3DX die Modelle zu laden und dann ein D3D11 Device erstellt?
Deshalb sollst du ja einen Konverter schreiben, quasi ein kleines Programm, das das Laden des X-Files übernimmt (DX9) und es dann in ein eigenens Dateiformat umwandelt und abspeichert. So musst du in deinem DX11-Proggi nur noch dein eigenes Dateiformat laden.
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Modelle Laden mit DirectX 11

Beitrag von Aramis »

… oder doch Assimp nutzen :-) Ich sage es ja ungern, aber es ist vermutlich die einfachste Loesung.
Altair
Beiträge: 26
Registriert: 28.06.2010, 15:51

Re: Modelle Laden mit DirectX 11

Beitrag von Altair »

So ich benutze jetzt doch Assimp. Hab mich doch dafür entschieden, damit ich auch flexibel mit den ganzen Modellformaten bin, weil ich nicht weiß welche Format der Grafiker benutzt und ich auch keine Lust habe, für jedes Format ein Loader zu schreiben ^^ Ich werde erstmal versuchen meine .obj Daten damit zu laden, bei Fragen werde ich mich dann nochmal melden

Mfg Altair
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: Modelle Laden mit DirectX 11

Beitrag von kimmi »

Bei Obj-Fragen kannst du mir gern eine Message schreiben. Den habe ich verbrochen.

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

Re: Modelle Laden mit DirectX 11

Beitrag von Altair »

Vielen Dank für das Angebot :)
Antworten