8

CG (Subject) / Normalmapping (Lesson)

-

This lesson was created by Missunderstand.

Learn lesson

This lesson is not released for learning.

  • Wozu Normal Mapping - Texturen für Beleuchtungsmodelle simulieren - Vertices und Texels auch Höhenwerte übergeben -> Relief, aus dem im Shader Normale approximiert wird (Selbstverschattung nicht möglich)
  • Implementierung vom Normalmapping Die Normalen werden als Farbtextur gespeichert. Die x,y,z-Werte der Normalen werden zu RGB-Werten. Eine Height-Map (Graustufen) kann im Alphakanal mitgespeichert werden. 
  • Wo befinden sich die Normalen in der NormalMap  im lokalen KS der Fläche (Tangenten-Space)  -> Zur Beleuchtung dieses System in Weltkoordinaten überführen oder Lichtquelle in Koordinatensystem, letzeres weniger rechenintensiv
  • Wie berechnet sich die Position der Lichtquelle im Tangentenspace? über Skalarprodukte  als Matrixprodukt  Position Lichtquelle = (Vektor Tangente , Vektor Bitangente, Vektor Normale) * lw
  • Wie werden t und b Vektoren berechnet? Im Regelfall verwendet das Polygon nur einen Ausschnitt der Normalen-Textur. Es müssen also die t- und b- Achsen der gesamten Texur (im Welt-KS) bestimmt werden. Die Verbindungsvektoren der Polygon-Eckpunkte ergeben zwei Vektoren u und v , welche auf der Textur liegen.
  • Bump Mapping - Pro Vertex Tangente und Bitangente berechnen - Vertex Shader = Lichtvektor in Tangentenspace transformiert - Fragment Shader = mittels interpoliertem Lichtvektor und Normal-Map Beleuchtungsmodell berechnen
  • Prarallax Mapping Normalenberechnung pro Fragment   -> Texturkoordinaten abhängig von der Blickrichtung verschoben werden können Aus Height Map (Alpha-Kanal der Textur) und Winkel T zwischen Blickrichtung und Normale -> Berechnen des Offsets, um welchen Textur verschoben wird Delta u = tan T * h
  • Sphere Map Die Umgebung wird durch eine Textur repräsentiert,   Spiegelungen durch dynamisch berechnete Texturkkoordinaten  =^ Othografische Einheitskugel um den Ursprung eines Objektes Berechnung im Kamera Koordimatensystem, view Vektor wie oben reflektiert um r zu erzeugen
Advertisement