lately I have been learning about photometry, and everywhere I look I see a BRDF written according to the "dichromatic model". Roughly speaking: $$\rho= \rho_D+\rho_S \cdot (...)$$

for some $(...)$ function depending on the halfway vector and so on. My question would be: is this model physically based, or is it just a modeling choice, or as I suspect, a mixture of the two? Under which assumptions would it then be invalid?

  • $\begingroup$ It's a simplification with some physical basis. See the paper "A Physical Approach to Color Image Understanding" by Klinker et al. $\endgroup$
    – lightxbulb
    Mar 22, 2022 at 22:26

1 Answer 1


It's a modeling choice, but one that allows for a reasonably good fit to a variety of real-world materials through different choices of the parameters.

Many common non-metallic materials can be roughly thought of as being something like a translucent medium with some pigmented particles embedded in it that provide its color. This includes plastics, wood, paints, ceramics, even concrete and asphalt. In such materials, the surface (which can be smooth or rough) produces some specular reflection according to the Fresnel principle. The light which is transmitted (refracted) into the material then strikes the pigmented particles, scatters around randomly many times, and becomes near isotropic by the time it scatters back out (loses any directional distribution from the incoming light).

illustration of specular and diffuse scattering

This slide from Naty Hoffman - Physics and Math of Shading (p. 39) illustrates specular reflection/refraction with the orange arrows, and diffuse scattering with the blue/green ones.

Such materials can be modeled by a BRDF like the one you mentioned, by setting $\rho_S$ to the color induced by the specular reflection, and $\rho_D$ to the overall color produced by the diffuse scattering. For non-metals, the specular color is usually just a monochrome value with a narrow range between 0.02 and 0.05, depending on the density of the material.

Technically, because light that reflects specularly is not available to illuminate the diffuse part of the material, $\rho_D$ also ought to have a factor on it that depends on the light angle and reduces it by the total amount of specular reflection for that light angle. But because non-metals have a relatively low amount of specular overall (especially for rougher surfaces), it's often possible to get away without this and have the result look plausible. If we're trying to get more physically accurate, this is an effect that should be accounted for, though.

For metals, they have essentially all of their reflection through the specular component, and no diffuse component, as metals aren't transparent (unless you get to very, very thin metal foils that aren't really found in everyday materials). So metals can be modeled by setting $\rho_D = 0$ and $\rho_S$ to the reflection color of the metal.

If you're interested in the physical basis of material models, I'd recommend looking at the rest of those slides from Naty Hoffman's talk that I linked above, as well as this other talk by him: Recent Advances in Physically Based Shading (2016). The SIGGRAPH Physically Based Shading courses also have many more interesting talks on different aspects of this issue.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.