我在读取样微小面BRDF的文章。
GGX函数是D(h),文章说,关于球面坐标的PDF是P_1(\theta)=D(h)Cos(\theta)Sin(\theta)。但我认为PDF(在球面坐标下)是P_2(\theta)=D(h)Cos(\theta),其中术语Sin(\theta)是积分器的Jacobian。注意,\theta是法向量和半矢量之间的夹角。
另一种直觉是P_1(0)=0,P_2(0)=D(h)。我认为P_2似乎更合理。
我的理解正确吗?谢谢。
发布于 2021-08-30 18:56:18
关于实心角度(球面上的面积)的pdf是D(h) \cos \theta \, \mathrm{d}\omega,但是当你用球面坐标来采样它时,你必须包括\sin \theta因子。
如果你想象在(\theta, \phi)空间中均匀地选择样本点,那么它们就会集中在极点,所以你需要用\sin \theta的重量来补偿它,得到球面上面积均匀的点。
对于重要性-采样NDF,像这样的各向同性NDF,\phi参数是从[0, 2\pi]中均匀选择的,然后剩余的P(\theta)确实需要包含\sin \theta因子,否则会有太多接近极点的点。的确,P(0) = 0;这是正确的,因为\mathrm{d}\phi-wide条在极点的宽度为零,所以在(\theta, \phi)空间中的密度必须达到零。
https://computergraphics.stackexchange.com/questions/12161
复制相似问题