Seite 1 von 1

Assimp Materialien

Verfasst: 18.10.2010, 15:27
von Altair
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

Re: Assimp Materialien

Verfasst: 18.10.2010, 15:32
von dowhilefor
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.

Re: Assimp Materialien

Verfasst: 18.10.2010, 15:32
von Schrompf
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.

Re: Assimp Materialien

Verfasst: 18.10.2010, 15:37
von kimmi
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

Re: Assimp Materialien

Verfasst: 20.10.2010, 12:45
von Altair
Ok, danke :) Ich werde den Code dann erstmal bearbeiten, dass ich die Materialien richtig zuordne, wenn dann immernoch Fehler auftreten, melde ich mich nochmal ^^