Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Cook-Torrance’s BRDF


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 allingm   Members   -  Reputation: 523

Like
0Likes
Like

Posted 03 April 2013 - 03:46 PM

I’m having trouble understanding Cook-Torrance’s BRDF fundamentals.  The function is:

 

F * G * D

----------------

4 * N.L * N.V

 

My question is where do the N.L and N.V come from?  The main reason I ask is the N.V is giving me trouble.  I know that the N.L goes away when we multiply the BRDF by the N.L and the incoming light intensity, but N.V remains and causes problems for me.  The objects in my scene have bright halo/sparkles around them.  Perhaps this isn’t even supposed to be a problem?  I would like a deeper understanding, so I can figure out what is going wrong.



Sponsor:

#2 MJP   Moderators   -  Reputation: 13631

Like
0Likes
Like

Posted 03 April 2013 - 05:02 PM

That denominator term accounts for foreshortening of the surface with respect to the eye and the light. You'd have to read through the original Cook-Torrance and Torrance-Sparrow papers for a full derivation and motivation. The main problem with those terms (and other similar terms commonly found in the distribution and geometry terms of other microfacet BRDF's) is that they are only stable when N.L > 0 and N.V > 0. In real-time rendering scenarios it's common to end up with N.V being negative due to normal maps, so you typically have to branch over the BRDF if either one of those terms is less than or equal to zero.


Edited by MJP, 03 April 2013 - 05:16 PM.


#3 Vilem Otte   Crossbones+   -  Reputation: 2028

Like
1Likes
Like

Posted 03 April 2013 - 05:07 PM

I won't explain exactly why - because the derivation could be a bit longer for single forums post, and it might not be as easy to understand as when you read paper describing it. Either google for "Cook torrance derivation" or look F.e. here http://www.hungrycat.hu/microfacet.pdf - look for Appendix A where there is probabilistic derivation of Cook Torrance BRDF.

 

EDIT: MJP was faster, I'll just leave post here for the link to paper, where there is derivation. It's not original paper though...

EDIT2: Here is also original paper - http://inst.eecs.berkeley.edu/~cs283/sp13/lectures/cookpaper.pdf


Edited by Vilem Otte, 03 April 2013 - 05:11 PM.

My current blog on programming, linux and stuff - http://gameprogrammerdiary.blogspot.com





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS