4

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?

Rui Liu
  • 141
  • 1
  • 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
  • 3
    Multiplying 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 Answers1

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