Obgleich durch das Normal Mapping die Beleuchtung in Computerspielen sehr viel realistischer wirkt, hat es doch einen entscheidenen Nachteil – für die Beleuchtungsberechnungen werden im Prinzip die falschen Textur-Normalen ausgewählt, da beim Auslesen der Normalen die Höhenwerte der Oberfläche unberücksichtigt bleiben – mit anderen Worten, die Texturkoordinaten sind nicht ganz korrekt. Gleiches gilt natürlich auch für das Surface Mapping, da hierfür die gleichen Texturkoordinaten wie beim Normal Mapping verwendet werden. Abhilfe schafft nun das Parallax Mapping (Virtual Displacement Mapping, Offset Mapping), bei dem die Texturkoordinaten für das Surface und Normal Mapping in Abhängigkeit vom Blickwinkel und den Oberflächen-Höhenwerten ein wenig korrigiert werden.
Hinweis:
Für die Ausführung dieses Programmbeispiels muss der Treiber Ihrer Grafikkarte die OpenGL Version 3.3 unterstützen.
Visual C++ 2010: DemoWithOpenGL2010_Tut12