Page 1 of 1

Defining roughness

Posted: Fri Mar 06, 2015 1:25 pm
by papaboo

I was wondering if there was a definition of roughness for glossy/microfacet BRDFs, as this could be useful to a lot of stuff in one of my renderers. Fx
  • An SPPM integrator bases the decision about whether or not to gather photons or continue tracing on the materials roughness. I have seen others do this based on GGX's roughness parameter or Blinn's exponent, but manually tweaking it for each BSDF is going to be a pain.
  • Initializing a microfacet BRDF from a unified roughness term would make a renderer more robust wrt changing material definitions. The same roughness would lead to approximately the same visual result across multiple BRDFs.
  • Image space lighting could also benefit from it. Instead of convoluting an image with all possible BRDFs, simply convolute it using some distribution (spherical gaussian) and use roughness to map between that distribution and the BRDF.
When going over the unreal source code I saw that they initialized all of their different microfacet distributions (Blinn, GGX, ...) from a unified roughness term. Does anyone know how they derived that term or what it is based off? I would link the shader code, but I think that's more lines then their EULA allows me to.

In the Physically Based Area Lights chapter in GPU Pro 5 they mention that Beckmann and Spizzichino, 1963, defines roughness for the Beckmann distribution as the "root mean square of the specular cone slope." ... whatever that means, but it sounds somewhat akin to the standard deviation, which would make it easy to map between any BRDF and a spherical gaussian.

Does anyone have any input on this subject? Good definitions of roughness or sources for some further research?

Ninja-edit: I forgot to mention what we've thought of so far. Mapping a BRDF as best as possible to a spherical gaussian and then using the 'sharpness' of that curve as the definition.


Re: Defining roughness

Posted: Fri Mar 06, 2015 3:50 pm
by shocker_0x15
My opinion is that there is no clear boundary between diffuse and glossy surfaces.
That is why methods using MIS like BPT or (Progressive) BPM are robuster on glossy-dominant scenes than other methods.

I'm sorry I'm not familiar with the other subjects.

Re: Defining roughness

Posted: Fri Mar 06, 2015 6:31 pm
by papaboo
That is exactly the reason why I would like to be able to define som kind of roughness or 'glossiness' for a surface. Dividing materials into Diffuse and Specular just doesn't cut it in real world scenes. :) Having a roughness or glossiness range would make a lot of approximations simpler and more consistent across BRDFs.

Re: Defining roughness

Posted: Fri Mar 06, 2015 8:41 pm
by yiningkarlli
If you look on page 96 of Wenzel Jakob's thesis, he talks about randomly classifying glossy surfaces as either non-specular or specular at each scattering event, probably based on the glossiness level. The particular application in Wenzel's thesis is for Manifold Exploration, but I found that a similar approach works well for SPPM and VCM in my own implementations.

Re: Defining roughness

Posted: Mon Mar 09, 2015 7:35 am
by papaboo
Thanks for the suggestion. I've been looking for a good excuse to read Wenzel's thesis anyway. :D

Re: Defining roughness

Posted: Mon Mar 09, 2015 5:53 pm
by ultimatemau
There is definitely no excuse not to read it! ;)

Re: Defining roughness

Posted: Tue Mar 10, 2015 1:29 am
by ypoissant
Walter et al paper "Microfacet Models for Refraction through Rough Surfaces" gives equivalency functions for Beckmann roughness, vs Phong exponent but no equivalency for GGX, strangely.

Blinn in "Models of Light Reflection for Computer Synthesized Pictures" gives equivalency functions for Phong exponent, vs Torrance-Sparrow roughness, vs Trowbridge-Reitz roughness (and thus GGX and Schlick, which are Trowbridge-Reitz distributions).

Even the different industries have their own standard ways of measuring roughnesses which not only are not comparable between different industries but are generally not very comparable between different materials within the same industry.