Reflection 路径跟踪:为什么在计算完美镜像反射时没有余弦项?

Reflection 路径跟踪:为什么在计算完美镜像反射时没有余弦项?,reflection,graphics,rendering,raytracing,montecarlo,Reflection,Graphics,Rendering,Raytracing,Montecarlo,我一直在看Kevin Beason的路径跟踪器“smallpt”(),对镜像反射计算有疑问(第62行) 我对渲染方程()的理解是,要计算微分区域的出射辐亮度,需要对微分区域上方半球中每个微分立体角上的入射辐亮度进行积分,通过BRDF和余弦因子进行加权,余弦系数的目的是减少入射光以更大掠射角照射到区域上的差分辐照度(因为这些角度的光将传播到更大的区域,这意味着所讨论的差分区域将接收较少的此类光) 但在smallpt代码中,该余弦因子不属于第62行镜像反射计算的一部分。(漫反射计算中也省略了它,但我

我一直在看Kevin Beason的路径跟踪器“smallpt”(),对镜像反射计算有疑问(第62行)

我对渲染方程()的理解是,要计算微分区域的出射辐亮度,需要对微分区域上方半球中每个微分立体角上的入射辐亮度进行积分,通过BRDF和余弦因子进行加权,余弦系数的目的是减少入射光以更大掠射角照射到区域上的差分辐照度(因为这些角度的光将传播到更大的区域,这意味着所讨论的差分区域将接收较少的此类光)

但在smallpt代码中,该余弦因子不属于第62行镜像反射计算的一部分。(漫反射计算中也省略了它,但我认为这是因为漫反射光线是通过余弦加权重要性采样选择的,这意味着不需要显式乘以余弦因子)


我的问题是,为什么镜像反射计算不需要余弦因子?如果入射辐射相同,但入射角变得更为掠射,那么无论考虑漫反射还是镜面反射,到达差分区域的辐照度不会降低吗?

这是一个很好的问题。我不完全理解,但让我试着给出一个答案

在漫反射计算中,通过采样包括余弦因子。在可能的入射光线半球面之外,更可能是一个直接来自上方而不是直接来自地平线的先验光线

在镜像计算中,通过采样包括余弦因子。从入射光线可能来自的单一方向来看,它更有可能是先验的——你知道我要去哪里


如果通过入射光线的圆锥体对粗糙反射进行采样(对于无光曲面),则需要再次考虑余弦权重。但是,对于单个可能入射方向的简单情况,采样减少到
如果为真

,正如您所怀疑的,选择漫反射光路径时,通过在余弦较高的方向上按比例更频繁地拾取光线来平衡余弦项(即,更接近表面法线的方向)可以找到一个很好的解释。这使得简单划分样本数量足以精确模拟漫反射

在作为路径跟踪基础的中,有一个术语表示反射光:

这里 表示材料的BRDF。对于完美反射器,除了反射方向外,该BRDF在每个方向上都为零。因此,对反射光线路径以外的任何其他方向进行采样都没有意义。即使如此,末端的点积也不会被忽略

但是在smallpt代码中,这个余弦因子不是 第62行的镜像反射计算


根据上述定义,我的结论是,它应该是其中的一部分,因为这样就不需要为一种或另一种材料指定特殊情况。

这是我最近提出的一个问题:

对于完美的镜面反射,BRDF在反射方向上是无限的,所以我们不能对渲染方程进行积分


但我们可以根据能量守恒原理使反射辐射等于入射光。

从形式上看,积分中的余弦因子与镜面反射BRDF分母中的余弦相消(f_r=delta(omega_i,omega_o)/dot(omega_i,n))。

在不同的文献中,理想镜面BRDF的定义如下:

  • 镜面反射反照率
  • 狄拉克三角洲(完美反射方向无限,其他地方为零)和
  • 和1/cos(θi)抵消了渲染方程中的余弦项
参见例如,幻灯片12


对于第三点的直觉,考虑由OMEGAAr方向的观察射线覆盖的表面的差分足迹与从OMEGAAI I方向入射光线覆盖的表面的足迹相同。因此,所有入射辐射都被反射到OMGEAYR,与入射角无关。r你的答案,但我不确定我是否明白。在漫反射的情况下,采样中包含余弦项是有意义的,因为你在半球顶部附近按比例采样的光线比掠射光线多,这与均匀采样半球,然后用余弦因子对结果进行加权是一样的是的,掠射光线的贡献比例较小。但是在镜像的情况下,你只对一个样本进行了采样,所以无论光线是垂直的还是掠射的,你都只是接受了完整的值——没有考虑余弦项。我看到的镜像BRDF的推导似乎是从假设出射辐射等于als以适当的角度入射辐射,并由此计算BRDF,因此,可能这只是一种理想化的行为,在辐照度方面没有意义,正如我试图理解的那样?镜像BRDF()似乎专门用于取消渲染方程中的余弦项,因为它在分母上有自己的余弦项。[删除大量文本]啊!余弦分布只约束入射光线。不要想象一条光线-你正在对整个半球体进行采样,在漫反射中,出射光线方向是等分布的,因此对于任何被采样的出射光线方向,入射光线的权重必须加起来等于半球体上的1。如果你有不同的权重根据传出光线的方向,这实际上会给你高光,而不是漫反射