只考虑从物体表面到眼睛的直射光。
全局照明考虑了直接照明和间接照明(根据应用配置可以有多次反射)。
光能传递是一种模拟从光源开始的光漫反射传播的方法。这种方法的基础来自于“能量”,它从根本上与观察方向无关。因此,它对于静态场景是可预先计算的。
光线追踪是遵循从眼睛到光源的所有光线,这非常适合模拟镜面反射和透明度。
光能传递的特点是:
比如一面墙原来是白色,由于房间里物体的原因,使得墙面反射物体的那一部分变成物体的原色,这种现象叫做Color bleeding
能量传输是指光源所持有的能量如何传输到另一个物体。
那么,什么是形状因子(Form factor)?
Form factor(Fij)是“离开表面 j 并到达表面 i 的光能的分数”。
然后我们来看一个光能传递方程,对于每一个patch i:
当我们假设场景中有 n 个表面patch时:
因此,我们可以从上面的两个方程得到最终的方程:
我们可以使用线性系统求解这个方程。
但是使用像高斯消元法这样的线性系统在实际应用中使用起来成本太高,因为它需要 O(n3) 运行时间。
相反,我们可以利用像“Gauss-Seidel”方法这样的近似。(矩阵是对角占优的 -> 它总是收敛的)
计算准确的Form factor很困难,我们可以在这里采用相同的近似值。
我们考虑从半球上的区域投影到地面上的某个区域。
我们可以将投影面积与半球面积之比视为近似形状因子。
还有一种方法可以使用半立方体代替半球体:
我们可以使用自适应网格划分来解决这个问题。
(A) 简单面片三角剖分
(B) 自适应patch生成——阴影细节较高的地方会生成更多的patch。