GAMES101-14&15:辐射度量学
前言
GAMES101-14:辐射度量学的意义、能量,功率与辐射强度(intensity)的定义。
GAMES101-15:辐射度量学的基本概念:辐照强度、辐射通量,BRDF,渲染方程,全局光照
辐射度量学
为什么要研究辐射度量学:Whitted-Style 光线追踪尽管可以在一些场景表现不错,但是其建立完全是基于经验值和表现的效果的,而不是实际的物理规律,因此其值不可能完全真实准确。这就是为什么我们需要辐射度量学。
要进行严谨度量,我们就要先定义单位(中文均为个人翻译,课程中没有中文名):
-
辐射能 Radiant Energy:辐射出的能量 Q 。
-
辐射速率/功率 Radiant flux(power):单位时间内辐射/吸收/反射的能量。对于光源即“有多亮” . ,单位
注意:下文和图形学中说到的能量往往是指 flux 而非 energy,因为我们总是在关心眼下发生的情况(实时)而非累计的结果。
-
辐射强度 Radiant Intensity:一个单位立体角的功率。 ,单位 。
类比弧度,立体角(Solid angel)是指 ,其中 S 是对应的表面积,一个球的立体角是 。将面积表示成半径 r、和 y 轴(竖直轴)的夹角 、和水平面 x 轴的夹角 的组合,就有:
如果一个点光源均匀地向所有方向辐射光,那么 Intensity 就简单的有
-
辐照强度 Irradiance:单位面积接收到的(投影后的)能量(flux)。
单位 。此处要求的能量与面积是垂直的,如果不垂直则需要投影。这正是 Blinn-Phong 模型中应用的“物体接收到的光取决于与法线的余弦”(Lambert’s Cosine Law)的物理意义。
随着距离的增加,辐射强度 Intensity 不会发生改变,但是辐照度 Irradiance 会衰减。
-
辐射通量 Radiance:单位立体角且单位面积内的辐射能量。换句话说,通量就是单位立体角中的辐照度(理解吸收)或单位面积的辐射强度(理解发出)。通量是一个有方向的量。
单位。
对来自单位面积来自所有方向的辐射积分,就有该面积的所有能量。再对面积积分,则有物体的所有接收能量。
这些概念中单位相对而言并不重要,请注意理解概念本身。
BRDF:双向反射分布函数
BRDF 的作用在于,将物体吸收的能量(Irradiance)和指定角度发出(反射)的能量(Radiance)联系了起来。对于一个极小区域 ,一束从 入射的辐射是:
物体吸收后发射(或者说物体反射)辐射到不同的方向,对于一个指定的方向 ,反射的能量记为 。
此时,可以记 BRDF 为:
BRDF 的图像描述了辐射会被反射到哪个方向,例如如果是镜面反射,那么图像就是仅在镜面反射方向有值,其他方向没有多少值。
反射方程与渲染方程
把该点的所有入射光的 BRDF 累加起来,就可以算出该点反射了多少光,即该点的反射方程:
添加自发光项使得公式对光源也适用:
此时方程就是渲染方程。需要指出的是涉及的向量的方向都是从 p 点指向外的,而且通过积分域的限制,我们排除了下半球内的积分,因为这个方向肯定不会对渲染起作用。(相当于 Blinn-Phong 模型中的那个 max() )。而且通过积分,我们不仅可以处理多个点光源,也可以处理面光源。
全局光照
把上面的式子简单分析一下,其实就是:反射光=自发光+入射光BRDF余弦角。其中未知量只有入射光和反射光。于是我们经过一系列的简化就可以有:
其中 I 是单位矩阵,因为反射的和入射能量没有改变所以两侧 L 相等可以直接合并。
考虑到入射的 L 也可以是其他物体反射的 L,所以类似泰勒展开有
其中, E 即直接进入摄像机的光,KE 即直接打在物体表面的光,二次即一次物体反射的间接光照,三次即在物体上反射了两次才打到渲染物体上的光……依此类推。
光栅化可以较容易的处理前两项,但是很难处理后面的项。这也是为什么我们需要光线追踪。
将所有的光进行考虑得出的结果就是全局光照。下面给一些计算了不同次数反射的全局光照结果对比。
仅直接光(效果类似相机):
一次弹射,直接光+间接光(E+KE+K^2E):
两次弹射:
四次弹射(效果愈发接近人眼):
随着次数的增加,弹射对效果的影响愈发的小,也愈发的接近人眼的效果。
需要注意的是,一次和二次光照的时候,屋顶的灯光反而变黑了,这是因为这里光两次折射还没有折出灯管,因此造成了错误。
最后说了一些概率论基础,没有特别需要记的必要。
跳转
Home:GAMES101-1:课程总览与笔记导航