0
$\begingroup$

Hi I'm trying to get a better understanding of the BRDF modeling. I only implemented naive diffuse(lambert), specular and microfacet BRDF before, but I don't have much experience in mixed BRDFs and also rendering using 3D softwares like Maya, etc. Now I have to figure out the metal-rough or spec-gloss "work flows", or PBR materials used in most industrial standard products.

At first, I didn't understand what metallic and roughness are really doing so I read the long paper by Brent Burley on Disney's principal BRDF. However, more and more questions pops up..

Oh I also read the useful and clear slides https://blog.selfshadow.com/publications/s2015-shading-course/hoffman/s2015_pbs_physics_math_slides.pdf , in which I learn about the specular/diffuse decomposition. I think this is essentially decoupling the reflection into two separate lobes.

So I want to understand the PBR materials in such a decoupling scheme.

Basically we have a diffuse + specular pattern, where

diffuse is usually enough to model by simply Lambert (not always true though..)

specular term is usually modeled by a microfacet BRDF (contains specularD, specularG, specularF terms)

If I start from the metal-rough model, there are usually three parameters

1. base color

2. metalness

3. roughness

My questions are as follows:

  1. What is base color for? Is it the same as the diffuse color? Will it influence the specular behavior?

  2. Regarding metalness, is it true that we only consider the diffuse term when the material is non-metal, and only specular reflection should be considered when rendering metal materials?

  3. What's the relationship between roughness and specular D (surface normal distribution)?

In general, I'm very confused by this three-parameter representation, instead of the diffuse+specular(microfacet) one. What's the relationship between the three parameters and the other ones (diffuse color, specular D/G/F)?

I need to understand this because I want to add the conversion (metal-rough -> diffuse+specular) in my own code..

Thanks in advance!!

$\endgroup$
  • $\begingroup$ One model is simply more expressive than the other, there's no injection from Cook Torrance to Phong though, so your last requirement cannot be satisfied unambiguously. $\endgroup$ – lightxbulb Mar 31 at 6:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.