Jump to content

BSDF Bonanza: GGX, Microfacets, Disney BRDF and More


Wolfwood

Recommended Posts

Other Tidbits-

 

The GGX/GTR model has a roughness parameter that ranges from 0 to 1 instead of phong/blinn's shiny parameter that goes from 0 to inf.  In Houdini the shiny parameter has been reparameterized to be a angle between 0 and 90 degrees.  Blinn and Phong both have a well defined specular lobe that where as the GGX/GTR model's lobe has a really long tail that falls off over the full hemisphere.  (Which is why people like it.)  Because of this there isn't really a direct one to one mapping of the parameters however if you are only comparing the brightest part of the lobe you can get a fairly close mapping with the following

$roughness = sqrt(2.0/sqrt(6-log(4)/log(cos(radians($angle)))));
Edited by Wolfwood
Link to comment
Share on other sites

So, I'm playing around with the new shading toys here, and they look fantastic.  I'm wondering though, what's a good way to use these along with refraction?  Would I add a physically based specular with refract label, and use the fresnel vop to blend between them?  or add them together? or is there another more "intelligent/correct" way to implement refraction here?

Link to comment
Share on other sites

So, I'm playing around with the new shading toys here, and they look fantastic.  I'm wondering though, what's a good way to use these along with refraction?  Would I add a physically based specular with refract label, and use the fresnel vop to blend between them?  or add them together? or is there another more "intelligent/correct" way to implement refraction here?

 

There isn't a "clean" way to do it currently.  If using the distribution only (and not the microfacet model) you can flip the normals and do it similar to how the Mantra surface works (fresnel blend), but ultimately support should be built in.   I already have logged an issue (#19) for this.  So far only the BRDF has been implemented from Walter's 2007 paper, issue #19 is to implement the BTDF too (making the full BSDF).  It shouldn't be too difficult, and is high up on my TODO list once I'm back from Siggraph.

Edited by Wolfwood
Link to comment
Share on other sites

One small issue - Disney Mixer doesn't mix anisoAngle.

Ha. I was debating whether or not that parm should be mixable just the other day. Guess that answers that. I'll have it updated in a few hours. (And I'm looking forward to the "I told you so" from one of my coworkers :) )

Fyi- currently none of the geometric parameters blend, like nN or the tangent directions.

Edited by Wolfwood
Link to comment
Share on other sites

Furthermore, seems like the Disney BRDF in passthough-mode doesn't pass anisoAngle through, so in any mixing scenario the angle is 0 everywhere.

Correct, currently the disney_struct has no concept of any of those geometry terms and they can only be set on the final Vop. Was a design decision but an easily changeable one. :D (I had considered anisoAngle a geometric term, but I am easily swayed.)

Edited by Wolfwood
Link to comment
Share on other sites

Ah, yes, I see. Hmm. If the layering scenario is e.g. brushed paint on brushed metal, then the aniso direction would need to be different for the layers? A bit contrived, this - dunno if there is an actual use case.

If the layers are thought of as complete materials, then maybe the bump/normal should blend as well? Then again, if you want to have an option to use displacement, then you'd want to do the normal/displacement blending separately in the displacement shader anyway.

 

Ah, I don't know, it's quite fine as it is in any case.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...