# Predicting reflectance functions from complex surfaces

There are three principal ways to obtain a BRDF. We can

1. Derive an analytic formula using physical principles
2. Use simulation given an assumed or measured model of the surface microgeometry
3. Measure the BRDF based on empirical observation

A number of analytic formulae have been proposed for BRDFs. Many Formulae have been derived from physical principles. A number of models such as the Torrance-Sparrow model have been derived from the distribution of microfacet orientations. One may postulate a certain microgeometry for the surface, and simulate the resulting BRDF by using a software raytracer.

Once the scattering of light on a surface is understood how is a reflectance function derived? Can anyone recommend any resources on this topic?

• The reflectance is modelled by physical principles of Radiometry, which means basically Fresnelreflection if the light reflects off the surface of an object or some approximation like Lambert reflection if the light enters the objects interior and leaves the object again at some point. Is this what you're asking? – Tare Apr 5 '18 at 7:42
• I've updated the question to specify a little more about what I'm asking. Hopefully, it isn't as vague :) – Arjan Singh Apr 5 '18 at 16:28
• I have written my comment after you have updated it ;) However your update was what made me comment. In terms of the general specular BRDF model, there is the F (Fresnel reflection), D (Normal distribution function) and G (Shadowing / Masking Term). Do you want to know about any of these in particular? You said microgeometry for the surface is known, therefore D and G are already there. You also said scattering of light on a surface is understood, which would be F. Apart from the normalization, you really have your BRDF now, there is nothing more to look for... Therefore I'm asking ;) – Tare Apr 6 '18 at 5:41
• Isn't the F (Fresnel reflection), D (Normal distribution function) and G (Shadowing / Masking Term) strictly for the Microfacet model though? What about materials that are significantly different like hair or cloth? How are BRDFs for these types of materials made? What happens in circumstances where microfacet theory doesn't work best? – Arjan Singh Apr 6 '18 at 5:46
• Now we're getting somewhere ;) I have never tried to shade this, however cloth is not easy to render correctly and is often just approximated with "standard" BRDFs or BSSDFs (to include sub surface scattering). I have also seen some work done on BTF (Bidirectional Texture Function), but they use a whole lot of textures which is not always practical - also they need "measurements", afaik no analytic way exists. In general, I would recommend you look into Digital Modeling of Material Appearance (Dorsey et al.) and Physically Based Rendering (Pharr et al.), there is a lot of information there. – Tare Apr 6 '18 at 6:00