I got a function that generates samples from a GGX visible normal distribution function. When I use it to calculate reflection directions obviously some of these intersect with the surface agin (negative). These bas samples become more of an issue if the roughness increases. How to handle this case ?

  • $\begingroup$ Is this for the case where parts of the reflected lobe intersect the surface, usually seen at glancing angles? I think for that case you need to flip the vector using the surface normal. $\endgroup$
    – PaulHK
    Mar 27, 2020 at 7:26
  • $\begingroup$ I solved it by just resampling the normal if the reflection direction is bad. This might be rather computationally expensive but I was able to reduce the overhead so it is barely noticeable. $\endgroup$
    – noName
    Mar 27, 2020 at 14:06
  • $\begingroup$ just flipping results in non accurate reflections $\endgroup$
    – noName
    Mar 27, 2020 at 14:07


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.