Im Gegensatz zum Vertex Based Lighting wird beim Per-Pixel-Lighting die Beleuchtung nicht für jeden Vertex berechnet und interpoliert. Statt dessen wird für jedes einzelne Pixel, das dargestellt werden soll, ein Beleuchtungswert errechnet. Der Vorteil ist, dass auch wenn Flächen beschienen werden, die größer sind als der Beleuchtungsbereich noch ein realistischer Effekt erzielt wird.
Dies ermöglicht die realistische Darstellung von 'extrem feinen Licht- und Reflexionseffekten wie z.B. Schweißglanz. Hierzu wird zunächst bestimmt welche Punkte der Oberfläche mit einem Pixel korrespondieren. Für jeden dieser Punkte wird dann ein Normalenvektor bestimmt und dieser mit dem Beleuchtungsvektor multipliziert (Skalarprodukt), und am Ende wird das Ergebnis gemittelt. Die Zahl, die man dann erhält, gibt an, wie stark die Farbe des Pixels aufgehellt werden muss. Doch die wahre Macht des Per-Pixel-Lightings liegt aber sprichwörtlich im Detail: so genannte Bumpmaps und Normalmaps speichern die Oberflächenvektoren in ihren Pixel. Da das Beleuchtungsmodell ja die Lichtverhältnisse pro Pixel berechnet (Per-Pixel), können zusätzliche, (in Echtzeit) schattierte Details auf die Oberfläche gezeichnet werden. Handelt es sich bei Normal- und Beleuchtungsvektor um Einheitsvektoren, dann erhält man ein Ergebnis zwischen 0 und 1, was es leicht macht, eine prozentuale Aufhellung zu ermitteln. Da das Verfahren relativ neu ist, wird es nur von wenigen DirectX 9-kompatiblen Grafikkarten unterstützt. Diese jedoch, unterstützen meistens auch noch ein weiteres Zuckerl: Echtzeitschatten für die gesamte Geometrie. Engines, die mit Per-Pixel-Lighting arbeiten, sind Doom III und die FarCry Engine.
Es kann keine Haftung für die Nutzung oder Nichtnutzung, auch nicht für die Vollständigkeit oder Richtigkeit der gemachten Angaben und Beschreibungen übernommen werden. Quellen: Eigene Recherchen und Wikipedia - die freie Enzyklopädie, erreichbar unter wikipedia.de.