Hallo an alle,
ich wollte jetzt Mithilfe von Assimp Materialien laden, aber mein Programm stürzt beim lesen der Datein ab. Ich bin mal mit den Debugger durch gegangen und hab festgestellt, dass es weniger Materialien gibt, als es Meshes gibt. Ist das Normal das es weniger Materialien gibt als es Meshes gibt?
Mfg Altair
Assimp Materialien
- dowhilefor
- Moderator
- Beiträge: 173
- Registriert: 27.02.2009, 15:44
- Alter Benutzername: 6SidedDice
- Echter Name: Nico Probst
- Wohnort: Bochum
- Kontaktdaten:
Re: Assimp Materialien
Spontan würde ich sagen. Klar! Meshes referenzieren die Materialien doch, also können meherere Meshes ein und dasselbe Material referenzieren.
Ob und wie das genau aber bei ASSIMP gelöst ist, kann dir jemand anderes sicher besser erklären.
Ob und wie das genau aber bei ASSIMP gelöst ist, kann dir jemand anderes sicher besser erklären.
Mein Gehirn besteht nur noch aus einem hash-index, ich weiss was ich kenn aber kenn nicht was ich weiss
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Assimp Materialien
Ja, das ist normal. Wirf bitte einen Blick in die Dokumentation, Abteilung struct aiMesh. Da steht, dass jeder Mesh einen Materialindex enthält, welches Material aus dem Szene-Materialien-Array verwendet wird. Wenn Du mit einem Mesh-Index in das Material-Array reingreifst, werden Abstürze nicht ausbleiben.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- kimmi
- Moderator
- Beiträge: 1405
- Registriert: 26.02.2009, 09:42
- Echter Name: Kim Kulling
- Wohnort: Luebeck
- Kontaktdaten:
Re: Assimp Materialien
Erst einmal: Es kann mehr Meshes als Materialien geben.
Meshes referenzieren Materialien durch deren Id beziehungsweise Index in dem Material-Array, welcher in der Scenen-Datenstruktur hinterlegt sind. Wenn dieser Index einen Out-Of-Bound-Fehler auslöst, ist da wohl ein Fehler in dem Loader. Kannst du uns das Beispiel zukommen lassen, damit wir dem fehler zu leibe rücken können?
Danke und Gruß,
Kimmi
Meshes referenzieren Materialien durch deren Id beziehungsweise Index in dem Material-Array, welcher in der Scenen-Datenstruktur hinterlegt sind. Wenn dieser Index einen Out-Of-Bound-Fehler auslöst, ist da wohl ein Fehler in dem Loader. Kannst du uns das Beispiel zukommen lassen, damit wir dem fehler zu leibe rücken können?
Danke und Gruß,
Kimmi
Re: Assimp Materialien
Ok, danke :) Ich werde den Code dann erstmal bearbeiten, dass ich die Materialien richtig zuordne, wenn dann immernoch Fehler auftreten, melde ich mich nochmal ^^