Shane, to nie twoja wina, że jesteś zdezorientowany.
Lambert to model oświetlenia (z fizyczną podstawą) dla światła odbijanego od powierzchni, wyrażonego w kategoriach kierunku napływającego światła w odniesieniu do powierzchni normalnej w punkcie padania.
Phong jest bardziej zniuansowanym modelem cieniowania (choć bardziej odrażającym), który mówi, że światło składa się z komponentów ambient + dyfuse + specular. Traktuje on komponent otoczenia jako stały wszędzie (hack!), Komponent rozproszony wykorzystujący powyższy model Lambertiana i element lustrzany wykorzystujący falloff mocy (który jest sprytnym hackerem, przybliżonym przybliżeniem rzeczywistych BRDF).
Słowo "Phong" jest również metodą interpolacji (jeśli jest używane w kontekście nowoczesnych potoków renderowania opartych na trójkątach). Przy obliczaniu oświetlenie na piksel we wnętrzu trójkąta, masz dwie możliwości:
Gouraud cieniowania: Compute kolor na trzech wierzchołkach i interpolacji we wnętrzu, za pomocą barycentryczne współrzędne lub
Cieniowanie Phong: używając normalnego w trzech wierzchołkach, interpoluj normalne we wnętrzu i oblicz cieniowanie przy użyciu tego interpolowanego normalnego dla każdego piksela.
To dlatego (jak @RayToal wskazał), jeśli lustrzane „highlight” spada we wnętrzu trójkąta, żaden z wierzchołków będzie jasne, ale cieniowanie Phong będzie interpolować normalne i nie będzie być jasnym punktem we wnętrzu wytopionego trójkąta.
Użyj szorstkiej siatki wielokątnej i źródła światła, które pozostawia tylko niewielką jasną plamę w środku wielokąta i powinieneś zauważyć różnicę! –