[Assimp] Alle Texturen enumerieren

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Jonathan
Establishment
Beiträge: 2658
Registriert: 04.08.2004, 20:06
Kontaktdaten:

[Assimp] Alle Texturen enumerieren

Beitrag von Jonathan »

Moin,

Hintergrund:
ich habe ein Ogre-Modell, dass ich mit Assimp lade. Das Problem ist, das es scheinbar im Blender keine einfache Möglichkeit gibt, den Verwendungszweck der Texturen zu definieren. Ich bekomme bloß so etwas:

Code: Alles auswählen

texture_unit 
{
     texture holz_rauh_n.jpg
     tex_address_mode wrap
     scale 1.0 1.0
     colour_op modulate
}
Ich würde den ganzen Texturkram jetzt gerne vom Materialsystem unabhängig machen und den Verwendungszwekc der Textur aus dem Namen lesen (_n -> Normal). Insbesondere wenn man irgendwann mal für lustige Effekte Spezialtexturen haben will, kommt man eh nicht mehr mit den Standardtypen aus. Ich habe zwar damals in dem Ogre-Importer schon den Flag AI_CONFIG_IMPORT_OGRE_TEXTURETYPE_FROM_FILENAME eingebaut, der genau das für Normalmaps macht, aber jetzt möchte ich das ganze eben eine Ebene hinter Assimp umsetzen. Und damit komme ich zu der Frage:


Frage:
Bietet Assimp auch eine Möglichkeit, Texturen unabhängig vom Typ aufzulisten? Was ich momentan aus der Dokumentation lese ist, dass ich für ~8 Typen alle Texturen separat auflisten muss. Ich hätte jetzt aber gerne eine Liste, in der alle Texturen drin stehen, unabhängig vom Typ. Natürlich könnte ich einfach alle auflisten und zusammenschmeißen, aber vielleicht geht das auch jetzt schon besser? Und wenn nicht, wäre das eine sinnvolle Erweiterung?
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Schrompf
Moderator
Beiträge: 5161
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: [Assimp] Alle Texturen enumerieren

Beitrag von Schrompf »

Das geht im bisherigen Materialsystem nicht, glaube ich. Da ist aber Aramis der Spezialist. Es wäre meiner Meinung nach eine sinnvolle Erweiterung, wenn das gänge.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Antworten