[ASSIMP] Normalmaps

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
snoob741
Beiträge: 76
Registriert: 03.04.2012, 22:36

[ASSIMP] Normalmaps

Beitrag von snoob741 »

Ich bin aktuell dabei meinen ASSIMP Importer (basiert auf GitHub Stand vom Januar) weiter auszubauen und wollte mich nun an das Normalmapping wagen. Dabei ist mir aufgefallen, dass sämtliche Modelle (Hab gut ein Dutzend getestet, darunter Crytecs-Sponza, Rainers-Tilesets usw.) die Normalmaps entgegen der Dokumentation als Highmaps laden (So werden sie auch im Viewer (2.0)) dargestellt. Das verwirrt mich grad, denn es gibt ja noch ein MAT-Key für TangentSpace Normalmaps.

Was ist denn nun der korrekte Anwendungsfall? Wann erkennt ASSIMP NormalMaps als NormalMaps und wann als Heighmaps (die ja wenn ich das aus der Doku heraus richtig verstanden habe, eigentlich den alten Greyscale Maps entsprechen müssten) ...
Benutzeravatar
xq
Establishment
Beiträge: 1582
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: [ASSIMP] Normalmaps

Beitrag von xq »

Ich importiere meine Modelle mit Assimp.NET stand von keine ahnung wann :P
In COLLADA-Files heißt die Export-Textur für Normal Maps "bump" und wird mit TextureType.Normal importiert.
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
snoob741
Beiträge: 76
Registriert: 03.04.2012, 22:36

Re: [ASSIMP] Normalmaps

Beitrag von snoob741 »

Du hast recht, exportiere ich die Modelle ins DAE Format und öffne diese dann, dann wird aus der Heighmap eine Normalmap. Das ganze verwirrt mich nun noch mehr. Der Importer differenziert das Verhalten auf Basis der Ursprungsformate? Ich hatte bisher nur OBJ und 3DS verwendet, da ich noch lange nicht beim Skinning angekommen bin....
Benutzeravatar
xq
Establishment
Beiträge: 1582
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: [ASSIMP] Normalmaps

Beitrag von xq »

Ich hab grade mal noch ins COLLADA-XML-Schema geschaut:
http://www.khronos.org/files/collada_schema_1_5
Nach kurzer Suche stellte ich fest: Es sind zwar die ganzen Material-Werte Diffuse, Specular, ... definiert, aber weder "heightmap" noch "bump". Von daher gehe ich aus, dass das je nach Editor/Exporter/Importer anders gehandelt wird.
Ich werde mir wohl auch nen preprocessor für DAE-Files schreiben müssen, der die Material-Werte richtig umbenennt und relative Pfade aus den Texturpfaden macht.
Grüße
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
snoob741
Beiträge: 76
Registriert: 03.04.2012, 22:36

Re: [ASSIMP] Normalmaps

Beitrag von snoob741 »

Ohne jetzt eigentlich maulen zu wollen, da der ASSIMP Importer sonst eigentlich erste Sahne ist und einem die Arbeit unendlich erleichtert, aber das ist murx. Für mich ist der Importer eine Blackbox, der brav verschiedene Formate importiert und die gleich behandelt so dass ich einen klaren definierten Output habe :cry: Naja, ich behandle beide erstmal gleich und hoffe, dass es mir nicht wo anders wieder auf die Füsse fällt ...
Benutzeravatar
Schrompf
Moderator
Beiträge: 4884
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: [ASSIMP] Normalmaps

Beitrag von Schrompf »

Die Collada-Spec ist diesbezüglich leider nicht konkret, also was sollen wir machen? Eine Menge Formate da draußen haben gar keine Methode, Bump- oder Normal Maps zu repräsentieren. Das wird also auf absehbare Zeit ein fröhliches Rumgerate bleiben.

Und nebenbei: die Materialstrukturen all dieser 30+ Formate sind so extrem unterschiedlich, dass ich Materialien komplett entfernen würde, wenn ich importiere. Wenn ihr eure Material-Interpreter feintuned, bis bei den 10 Testfiles, die ihr da habt, alles gut ankommt, dann habt ihr nur eure Loader auf genau diese 10 Testfiles geeicht. Das erstbeste File, was ihr danach ausprobiert, wird wieder auf eine kreative Art scheitern. Und mit physik-basierten Renderern haben sich die ganzen Textur- und Farbwerte eh komplett erledigt.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
xq
Establishment
Beiträge: 1582
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: [ASSIMP] Normalmaps

Beitrag von xq »

Im Endeffekt sollte man nach dem Import eh nochmal die Möglichkeit haben, die importierten Daten nachzubearbeiten und dann in ein Engine-eigenes Format zu packen. Damit hat man dann die ganzen Material-Probleme gelöst. Außerdem lädt sich sowas meist wesentlich schneller.
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Antworten