The Misunderstood BSDF

The Misunderstood BSDF

What is a Bidirectional Scattering Distribution Function (BSDF)? Why should you care? For present purposes we can use a one-sentence nontechnical explanation: The BSDF is just a complete collection of transmission and reflection factors, one for each combination of incoming and outgoing directions. The really important question is how the BSDF is used and how a manufacturer will ever be able to get all that data together for each product. The situation is not nearly as bad as it looks.

For visualization of BSDFs there is a web based interface at

WINDOW6 calculates a BSDF matrix for a glazing/shading system from the BSDF matrix of the individual component layers. The W6 program was created on this platform because it is the most general approach to the problem of combining multi-layers. In cases of low symmetry this generality may be necessary to carry out an accurate combination of layers. In many other cases however it will be possible to measure the properties of the materials in much less detail.

  • Example 1, specular materials: WINDOW5, which operates on specular glazing layers only, has a simplified ray tracing algorithm which can only operate on a small subset of optical factors. In essence, the assumption is made that scattering is nonexistent and does not even have a place in the algorithm. In WINDOW6, where scattering is assumed to be present in general, specular glazing becomes a special case so that the specular glazing factors are just the diagonal elements of the BSDF matrices. Thus the BSDF matrix does not have to be completely filled by the user. When specifying a specular material, WINDOW6 simply fills the non diagonal elements with zeros. That is the specular sub model for WINDOW6.
  • Example 2, diffuse materials: For a material which is close to perfectly diffuse (Lambertian) or which has a specular component combined with a Lambertian back grounded, it is often acceptable to assume that the measured total diffuse component is evenly distributed in space and in the BSDF matrix. So in many cases a greatly reduced set of initial measurements may be adequate although WINDOW6 by its nature will first fully populate the BSDF matrices before performing any multilayer calculation, and then perhaps throw most of it away when reporting the final results. Thus contributors to the WINDOW6 database need not fear that they will be forced to measure 10,000 optical quantities where 10 such measurements were sufficient for the specular case of WINDOW5.
  • Example 3: If you have something crazy like a hologram or a diffusing material that seems not to be uniformly diffuse, then you can measure as much data as you think you might need and populate the BSDF matrix accordingly. The point is that WINDOW6 can handle arbitrary complexity but it can often make do with a lot less.

For these reasons I urge the data supplier not to think too much about BSDFs. Consider it an internal data array in WINDOW5/WINDOW6 or similar programs with the details best left to programmers. Come up with as much directional data as practical. It might be enough for accuracy of combination.