I am looking for theoretical and implemented models to represent surface materials in software that strives for physical accuracy.

Is BRDF really the best model? What alternatives are better? Why? What drawbacks beside performance do these models have?

  • 1
    $\begingroup$ There's bsdf which is the full sphere instead of just the positive hemisphere that you get with brdf. That makes it include refraction instead of just reflection. That doesn't handle subsurface scattering though. There's also "participating media" to think about which is stuff like fog in the air. Also, you may have different reflection/refraction properties for different wavelengths of light. How much of this stuff do you care about? (: $\endgroup$
    – Alan Wolfe
    Dec 4, 2016 at 2:47
  • $\begingroup$ Im just curious:) $\endgroup$ Dec 4, 2016 at 3:15
  • 1
    $\begingroup$ A BSDF (a complete scattering function, including BRDF (reflection part), BTDF (transmission part), and BSSRDF (subsurface part)) as part of the rendering equation, should be "the best" model, just with a couple of caveats. First, there is not one BSDF model but many, each with different tradeoffs. So it really comes down to which BSDF/BRDF you use. Second, they often assume "particle optics" and skip the wave properties of light. That's a drawback that means that you can't model some phenomena. (Polarization, and "CD diffraction", e.g.) $\endgroup$ Dec 4, 2016 at 21:31

1 Answer 1


BRDFs are not accurate for any dielectric surface, as all of them have some degree of subsurface scattering. A BSSRDF is also just an approximation based on the assumption of a semi-infinite slab. Ideally, you'd run a volumetric path trace for all surfaces, which would be much more accurate than BRDFs or BSSRDFs, but significantly more expensive. Although, Disney has already used brute force path tracing over BSSRDFs in production, see the SIGGRAPH 2015 course notes, section 2.5.


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.