Konzepte: Normalmaps
Mit dem Jargon "Bumpmapping" im Home-Nostruktor ist eigentlich die Hinzunahme von Displacement- und Normal-Maps zusätzlich zur Textur gemeint.
Das Ziel ist, kleine Höhenunterschiede (etwa in einer Mauer) nicht auszumodellieren, sondern ein besseres Erscheinungsbild durch Displacement- und Normal-Maps zu erhalten.
- Eine Displacement-Map enthält eine Höheninformation zu den einzelnen Pixeln einer Textur.
- Eine Normal-Map beschreibt die Ausrichtung der Fläche im Bereich einzelner Pixel. Diese Flächenausrichtung (Normale) beeinflusst die Helligkeit, die durch das einfallende Licht und ggf. eine Spiegelung verändert wird.
Beide Maps zusammen ergeben den Verlauf der darzustellenden Oberfläche relativ zur Polygonfläche und damit die für den Betrachter (Auge) abweichende Textur-Koordinate:
Bei geeignetem Einsatz kann das "Bumpmapping" eine wesentlich plastischere Darstellung erreichen:
Bestandteile des Bumpmappings
Für das Bumpmapping werden benötigt:
- Der Parameter
bump_t(Wert)
in der Texturen.txt, wobei Wert ein kleiner, positiver Wert sein soll. Seine Größe bestimmt, wie weit Teile der Textur nach vorne bzw. hinten versetzt erscheinen. 0.04 ist ein guter Startwert für eigene Experimente. - Eine Displacement-Map: Eine Graphik in derselben Größe und Auflösung wie die Textur in Grautönen (heller = nach vorne, dunkler = nach hinten). Der Name der Displacement-Map ist der der Textur mit einem angehängten
d
. - Eine Normal-Map: Eine weitere Graphik in derselben Größe und Auflösung wie die Textur, die meist in Türkis- und Magenta-Tönen erscheint. Die Werte werden als Normalen an den Pixelpositionen interpretiert. Der Name der Normal-Map ist der der Textur mit einem angehängten
n
.
Displacement- und Normal-Map dürfen selbst nicht in die Texturen.txt geschrieben werden, sondern werden über diese Namenskonvention herangezogen.