Seite 1 von 1

Object-Space Normalmap und Schatten

Verfasst: 26.12.2015, 19:42
von starcow
Schöne Weihnachten Zusammen!

Ich habe in einer kleinen Szene ein seltsames Render-Verhalten und wollte deshalb mal die geschätzten Spezialisten hier nach Rat befragen.
Folgende Situation:
Eine Wölbung, bestehend aus wenigen Polygonen. Dem Mesh ist ein Shader zugewiesen, der eine Object-Space-Normalmap beinhaltet.

Die Krümmung vom Mesh selbst müsste ab einem gewissen Lichtwinkel (Infinite Light) auf sich selbst einen Schatten werfen.
Nun stelle ich aber fest, dass bei aktivierter Normalmap einen Teil dieses Schattens fehlt.

Nach reiflichem Überlegen komme ich zum Schluss, dass eine Normalmap in _keinem_ Fall den gecasteten Schatten beeinflussen dürfte. Völlig unabhängig was in dieser Normalmap drin steht. Der "geworfene" Schatten dürfte doch eigentlich nur von der "echten" Mesh-Geometrie abhängig sein.
Übersehe ich da vielleicht etwas oder handelt es sich bei diesem Verhalten eindeutig um einen Renderfehler?

Der Renderer ist Metalray (Raytracing).

Gruss starcow

Re: Object-Space Normalmap und Schatten

Verfasst: 26.12.2015, 23:12
von Schrompf
Wenn ich das Problem richtig verstanden habe, ist das erwartetes Verhalten. Die Normal Map gibt pro Pixel nur an, wie die Oberfläche an dieser Stelle geneigt ist. Sie gibt nicht an, ob ein benachbarter Pixel vielleicht das Licht blockiert. Für die Frage, ob das Licht auf dem Weg zu diesem Pixel von irgendwas blockiert wird, gibt es eigentlich die gängigen Schattentechniken, also heute praktisch nur noch Shadow Mapping. Und Shadow Mapping hat bei dieser konkreten Situation zwei Probleme:

a) Der Schatten beginnt aufgrund von begrenzter Genauigkeit und geometrischen Unwägbarkeiten nicht sofort hinter dem Schattenwerfer, sondern erst mit etwas Abstand.
b) Die Shadow Map ist nicht beliebig hoch aufgelöst. Es kann also sein, dass der Rand der Kugel schon gar keine Pixel mehr auf der ShadowMap hinterlassen hat und dort demzufolge immer Licht ist.

Für das "Nachbarpixel blockiert Licht"-Thema gab's mal die sogenannte Horizon Map, aber die ist irgendwie nie wieder auf meinem Radar aufgetaucht. Anscheinend gibt es heute bessere Techniken.

Re: Object-Space Normalmap und Schatten

Verfasst: 27.12.2015, 23:37
von starcow
Ich danke dir Schrompf für deine Erklärung!
Ich dachte bislang, dass man mittels Raytracing-Verfahren exakte Schatten berechnen kann.
Das Problem in der von mir geschilderten Situation ist aber, das dieser Schattenfehler nur dann auftritt, wenn der Mesh eine Normalmap zugewiesen bekommt.
Ich habe das ganze anhand eines Bildes dokumentiert.
Bild

Die Roten Linien habe ich manuell eingefügt - sie sollen den Schatten (welcher absichtlich nicht 100% deckend gewählt ist) veranschaulichen.

Wenn ich dich jetzt richtig verstanden habe, dürfte die Normalmap den Schatten nicht beeinflussen. Folglich zeigt die Situation einen nun "amtlich" bestätigten Renderfehler.

Gruss starcow

Re: Object-Space Normalmap und Schatten

Verfasst: 27.12.2015, 23:52
von Krishty
Jetzt auf den Bildern sieht das auch mir wie ein Fehler aus.

Re: Object-Space Normalmap und Schatten

Verfasst: 28.12.2015, 11:25
von Tiles
Tja, Softimage wird ja aber nun leider nicht mehr weiterentwickelt ...

Re: Object-Space Normalmap und Schatten

Verfasst: 28.12.2015, 20:57
von starcow
Es scheint wirklich ein Fehler zu sein, der sich über etliche Versionen hinzieht.
Tiles hat geschrieben:Tja, Softimage wird ja aber nun leider nicht mehr weiterentwickelt ...
Ja, sehr ärgerlich und schade - nicht nur bezogen auf diesen Fehler...

Re: Object-Space Normalmap und Schatten

Verfasst: 29.12.2015, 17:38
von starcow
Nach erneuten Versuchen konnte ich das Problem zwar eingrenzen, ganz lösen konnte ich es bisher nicht.

Was ich aber übersehen hatte:
Der Schatten kann bei dieser Konstruktion nicht lückenlos sein, da der Schatten der rechten Frontplatte nicht die ganze Wölbung abdunkelt. Der Unterbruch des Schattens in der Mitte ist folglich normal.
Was aber nicht normal sein kann, ist das fehlende Schattenstück auf dem ersten Polygon der Wölbung.

Bild

Ein weiteres Bild zur Veranschaulichung
Bild