[Assimp] Frage zur Material-Shininess

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
capslock
Beiträge: 8
Registriert: 11.04.2012, 12:17

[Assimp] Frage zur Material-Shininess

Beitrag von capslock »

Hallo,

ich benutze Assimp um ein obj-File zu laden. Das funktioniert alles soweit wie gewollt. Allerdings bekomme ich eine andere Shininess zurück, als im mtl-File definiert ist:

Code: Alles auswählen

Ns 96.078431
illum 2
Assimp liefert mir den Wert "384.31372" zurück.Wie kommt dieser Wert zu stande?

Danke & Gruß
capslock
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] Frage zur Material-Shininess

Beitrag von Schrompf »

Man war dort der Meinung, dass ein x4 den orginalen Absichten des Materialwerts näher kommt. Das hat mich auch schon beim Roundtrip Export -> Import erfreut. Kimmi? Was war die Absicht hinter dieser Vervierfachung? Ich kenne die Obj-Spec nicht, daher kann ich das nicht bewerten.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Assimp] Frage zur Material-Shininess

Beitrag von kimmi »

Die Absicht erschließt sich mir zur Zeit gerade eher nicht. Im aktuellen Obj-Importer wird der Faktor nämlich 1 zu 1 in das Material geschrieben. Und soweit ich das überblicke, geschieht das Gleiche beim CoplladaParser. Wo wurde denn dieser Faktor mit 4 multipliziert, der dir beim Roundtrip für das Collada-Format das Leben so "angenehm" gestaltet hat?

Danke und Gruß,
Kimmi
capslock
Beiträge: 8
Registriert: 11.04.2012, 12:17

Re: [Assimp] Frage zur Material-Shininess

Beitrag von capslock »

Schonmal danke für die Antworten.
Schrompf hat geschrieben:Ich kenne die Obj-Spec nicht, daher kann ich das nicht bewerten.
Die Obj-Spec (http://local.wasp.uwa.edu.au/~pbourke/dataformats/mtl/) lautet an der Stelle:
Ns exponent

Specifies the specular exponent for the current material. This defines
the focus of the specular highlight.

"exponent" is the value for the specular exponent. A high exponent
results in a tight, concentrated highlight. Ns values normally range
from 0 to 1000.

Die Shininess sollte daher meiner Meinung nach ohne Modifikation importiert werden.

Ich benutze übrigends die Version 2.0 (SVN Rev 863). Wurde das in der neuesten Revision geändert? Dann würde ich lieber updaten als eine Sonderbehandlung zu implementieren.

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

Re: [Assimp] Frage zur Material-Shininess

Beitrag von kimmi »

In der neuen Revision habe ich nichts dergleichen gesehen. Vielleicht gab es in Release2.0 entwas dementsprechendes. Aber das müßte ich mal nach schauen, was sich im Büro gerade etwas schwierig gestaltet.

Gruß Kimmi
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] Frage zur Material-Shininess

Beitrag von Schrompf »

kimmi hat geschrieben: Wo wurde denn dieser Faktor mit 4 multipliziert, der dir beim Roundtrip für das Collada-Format das Leben so "angenehm" gestaltet hat?
Aktuelle SVN-Revision, ObjFileImporter.cpp, Zeile 513ff. Da steht

Code: Alles auswählen

// multiplying the specular exponent with 2 seems to yield better results
pCurrentMaterial->shineness *= 4.f;
woraus ich leider nicht so schlau werde. Das ist aber der Grund, warum man andere Shininess-Werte erhält, als im MTL-File steht. Ich habe mich damals nicht getraut, den auszubauen, weil ich wie gesagt die Hintergründe nicht kenne.

[edit] Das so passend benannte "SVN-Blame" meint, dass die Zeilen Aramis am 16.5.2009 hinzugefügt hat. Dann kannst Du das gar nicht wissen, Kimmi. Ich reiche die Frage mal an Aramis weiter :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: [Assimp] Frage zur Material-Shininess

Beitrag von kimmi »

Stimmt, hatte ich im Büro auf die Schnelle nicht gefunden. Die Zeile habe ich, wie du ja auch gerade festgestellt hast, nicht eingebaut, daher meine Unkenntnis. Ich wäre auch mal neugirig, was die bringt.

Gruß Kimmi
Antworten