In Phong shading model (and other shading models as well), the light color is multiplied together with the surface color component-wise. I want to know the justification for this. Is this some what related to the physics of light?
Asked
Active
Viewed 320 times
4
-
As noted in that wikipedia article, the term "Phong shading" refers specifically to interpolating normals across a surface and using them in lighting computations. There is no multiplying of colors in "Phong shading"; that would be a part of "Phong lighting." – Nicol Bolas Oct 02 '19 at 00:35
-
3Multiplying the material colour by the light is an approximation of light absorption – PaulHK Oct 02 '19 at 02:30
-
It is, consider the rendering equation: $$L_o = L_e + \int_{\Omega}fL_i\cos\theta,d\omega$$ For Phong $f= k_d + k_s\frac{\cos\theta_r}{\cos\theta}$. – lightxbulb Oct 02 '19 at 07:27
1 Answers
6
When you multiply colors together the surface color acts as a filter. Remember that colors are scaled from 0 to 1.
That way with white incoming light a green object will remain looking green.
This does bring a few issues because physical light isn't as orthogonal (where the 3 primary colors are actually overlapping frequency response functions) but for the vast majority of cases you can tweak the values enough for it to stay looking realistic.

ratchet freak
- 5,950
- 16
- 28
-
You might want to add that the problems are not a major concern as a) phong isnt really well motivated from a measurement perspective b) If you need to account for real light then RGB is an approximation anyway. – joojaa Oct 03 '19 at 05:18