我读过许多关于GGX重要性抽样的文章。然而,我仍然感到困惑。
GGX的公式是:

许多文章说,我们应该使用这个公式来进行示例:

在公式中,θ是法向量和半矢量之间的夹角。那么,这个公式所显示的是如何对法向量和半矢量之间的角度进行采样?但是,在https://schuttejoe.github.io/post/ggximportancesamplingpart1/一文中,它说:“对于重要的样本D(ω^m ),我们将使用D的If (ω^m)的逆来生成一个微面正常的ω^m,如果您熟悉在游戏渲染中使用GGX,这可以被认为是在切线空间中创建了一半的向量。”θ与微小面的关系如何?我怎样才能根据θ来取样一个Li呢?
发布于 2019-01-10 07:36:57
在微小面BRDF中,半矢量与微面法是一致的.根据反射定律,半矢量正是微面反射光从入射射线反射到出射射线所需的法线。因此,对于给定的入射方向和输出方向,只有法线与半矢量对齐的微面才是“活动的”。
反之,当重要性抽样一个微面分布时,我们希望选择一个随机的微面正态分布,然后通过这个法线反射入射射线,从而产生出射射线。然后,入射射线和发出射线将选择的微面正常作为它们的半矢量。
对于各向同性BRDF,您将从逆CDF中采样θ,还必须采样phi,即法向方位角,在0到2π之间一致;然后用通常的球面坐标(如链接博客文章中提到的)将它们转换成一个单位矢量,并结合切线到世界的变换。对于各向异性的BRDF,θ和phi都是通过采样逆函数来得到的。
https://computergraphics.stackexchange.com/questions/8465
复制相似问题