Dane wejściowe
Punkt trafienia P=(0,0,0), normalna N=(0,1,0). Światło w Lpos=(2,4,3). Kamera (eye) w (3,5,4). kd=(0,8; 0,2; 0,2), ks=1,0 (biały), shininess=16, ka=0,1, I=Ia=1.
Krok po kroku
1) L_raw = Lpos−P = (2,4,3). |L_raw| = √(4+16+9) = √29 ≈ 5,385 → L = (0,371; 0,743; 0,557)
2) N·L = 0·0,371 + 1·0,743 + 0·0,557 = 0,743
3) diffuse = kd·I·(N·L) = (0,8; 0,2; 0,2)·1·0,743 = (0,594; 0,149; 0,149)
4) V_raw = eye−P = (3,5,4). |V_raw| = √(9+25+16) = √50 ≈ 7,071 → V = (0,424; 0,707; 0,566)
5) H_raw = L+V = (0,371+0,424; 0,743+0,707; 0,557+0,566) = (0,796; 1,450; 1,123)
6) |H_raw| = √(0,633+2,102+1,261) = √3,996 ≈ 1,999 → H = (0,398; 0,725; 0,562)
7) N·H = 0·0,398 + 1·0,725 + 0·0,562 = 0,725
8) (N·H)^16: ln(0,725)≈−0,322, ×16≈−5,157, e^(−5,157) ≈ 0,00587
9) specular = ks·I·0,00587 = 0,00587 (biały, dodaje się do każdego kanału RGB równo)
10) ambient = ka·Ia = 0,1·1 = 0,1 (każdy kanał)
11) color = ambient + diffuse + specular:
R: 0,1+0,594+0,006 = 0,700
G: 0,1+0,149+0,006 = 0,254
B: 0,1+0,149+0,006 = 0,254
Wynik: color ≈ (0,700; 0,254; 0,254) — nasycona czerwień z małym białym błyskiem
Sprawdzenie rzędu wielkości: N·L=0,743 jest duże (światło blisko „nad” punktem) — diffuse dominuje, zgodnie z wynikiem. Specular jest mały, bo N·H=0,725 podniesione do 16. potęgi szybko maleje.