Ich wollte mich mal dem Thema Normalmapping von der technischen Seite her annehmen. Ich verwende diese Technik zwar oft bei meinen Modellen, habe aber dennoch einige Lücken im Verständnis der Technik. Ich hoffe ihr könnt mir dabei helfen klarheit in die Sache zu bringen.
Folgende Punkte glaube ich Verstanden zu haben:
-> In der Normalmap speichert man in den einzelnen Pixel der Grafik einen Vektor, indem man je einen integer Wert in die Farbkanäle speichert. Diese drei integer Werte repräsentieren einen Punkt im Raum (R = X, G = Y, B = Z). Anhand diesem Punkt im Raum und dem Referenzpunkt (0, 0, 0) lässt sich einen Vektor bilden.
Dieser Vektor lässt sich nun (gleich dem Prinzip von Vertices-Normalen) zur Beleuchtung verwenden.
Stimmt das soweit?
Was ich an der Geschichte nicht verstehe ist, dass dabei immer vom "Tangent Space" gesprochen wird.
Ich habe beobachtet, das in einer Normalmap (R=128, G=128, B=255) als "neutral" gilt.
Meine Schlussfolgerung daraus ist, dass ein Vektor mit diesem Wert, exakt die gleiche Richtung hat, wie die Polygon-Normale.
Bedeutet den dieser Tangentialraum, das immer nur die abweichungen gegenüber der Polygon-Normalen gespeichert werden?
Eine andere offene Frage ist, was beim Normalmapping mit den Vertices-Normal passiert. Werden die dann für die Beleuchtung komplett ignoriert?
(In diesem Bild entsprechen die Vertices-Normalen der Polygon-Normalen)
Gruss starcow