Jump to content
  • Advertisement

3D GGX Normalization Factor

Recommended Posts

Posted (edited)

I'm trying to implement sphere light shading using the representative point technique described in Brian Karis' course notes for Real Shading in Unreal Engine 4.
So far I implemented the widening effect, but I'm stuck at normalizing the NDF.

The paper mentions that the normalization factor for GGX is 1/(πα²) and an approximate normalization for the representative point operation they used (equation 14) is (α/α′)². However, I'm unsure what α and α′ is referring to, since in the description it mentions "divide the new widened normalization factor by the original", but α stands for the roughness in the other equation (10) they're referring to, not the normalization factor. Also, in the equation the operands seem to be swapped, compared to the description. Furthermore, I don't know where the normalization factor he is talking about is coming from, since the equation for the GGX NDF is α²/(π((n.h)²(α²-1)+1)²), so I don't know how to swap the normalization in the first place.
I tried to change the equation to 1/(π²((n.h)²(α²-1)+1)²(1/(πα²))) so that it contains the mentioned normalization factor and I can swap it out, but I'm not sure whether that's how it's supposed to be done.

So, anyone know the equation for the adjusted NDF or can help me understand what is meant exactly in the paper?



Edited by Mailbox

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!