Defining roughness

Practical and theoretical implementation discussion.
Post Reply
papaboo
Posts: 46
Joined: Fri Jun 21, 2013 10:02 am
Contact:

Defining roughness

Post by papaboo » Fri Mar 06, 2015 1:25 pm

Hey

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.

Cheers
Asger
Last edited by papaboo on Fri Mar 06, 2015 6:24 pm, edited 2 times in total.

shocker_0x15
Posts: 75
Joined: Sun Aug 19, 2012 3:24 pm
Contact:

Re: Defining roughness

Post by shocker_0x15 » Fri Mar 06, 2015 3:50 pm

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.

papaboo
Posts: 46
Joined: Fri Jun 21, 2013 10:02 am
Contact:

Re: Defining roughness

Post by papaboo » Fri Mar 06, 2015 6:31 pm

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.

yiningkarlli
Posts: 11
Joined: Tue Jun 26, 2012 9:07 pm
Contact:

Re: Defining roughness

Post by yiningkarlli » Fri Mar 06, 2015 8:41 pm

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.

papaboo
Posts: 46
Joined: Fri Jun 21, 2013 10:02 am
Contact:

Re: Defining roughness

Post by papaboo » Mon Mar 09, 2015 7:35 am

Thanks for the suggestion. I've been looking for a good excuse to read Wenzel's thesis anyway. :D

ultimatemau
Posts: 12
Joined: Wed Jan 08, 2014 9:48 am

Re: Defining roughness

Post by ultimatemau » Mon Mar 09, 2015 5:53 pm

There is definitely no excuse not to read it! ;)

ypoissant
Posts: 97
Joined: Wed Nov 30, 2011 12:44 pm

Re: Defining roughness

Post by ypoissant » Tue Mar 10, 2015 1:29 am

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.

Post Reply