diffuse + specular > totalreflectance?

Hi Lars,

Unless I'm missing something, there is no real convention for specular or glossy (in the graphics field), but for Radiance, I think it means the same thing. The degree of rapid fall off from the mirror direction (what we call specular/glossy reflection) is characterized by the roughness of the material. I suspect you're already familar with this. In the blinn-phong model, the exponent, alpha, is that roughness.

But in Radiance, blinn-phong is not good enough. For physical accurarcy, Ward developed an emipircal BRDF model:


the 2nd part of Equation 4 on page 168 is essentially how Radiance models specular/glossy reflections. There is additional consideration for steradians subtended, but let's not go there.

the exp[-tan2(delta)/alpha2] part of the expression determines how fast the falloff is from the mirror direction. This is equivalent to a cos curve raised to some power, in the range [0-1], and is only a factor. In other words, it describes the relative distribution of radiance reflected at different angles. The rest of the expression in eq4 is just to normalize/scale the "magnitude" of the expression so that it is physically accurate as a BRDF.

For shiny surfaces, the BRDF at mirror directions can be upwards of 15.

Going back to your problem, the reflectance total (ASTM) and reflectance specular only describes how the incoming Radiance is divided (10% incoming energy is diffusely reflected, 76% is specularly reflected). This information is not complete since you have no idea at this point how the energy to be specularly reflected should be distributed. Do all of the light go out in the mirror direction? Is there *some* specular scattering? The distribution is defined by the roughness of the material, which, for Radiance, is RMS slope of surface facets.

What I was guessing in my previous email was that the reflectance specular 60-degree being 82%, descibes the solution to equation(4) as evaluated at a particular angle, and thus might actually be a way of defining the roughness.

Imagine a function fn(x) = (cos x)^n

n is the rougness we need, but this is not measured directly. Instead, we are given the value of the function at x=60, say fn(60)=0.5 . We can then work backwards and get n=1! That is the general idea.


YC Huang

p.s. Are you working with Stephen Wittkopf?


Get in touch with your inner athlete. Take the quiz.