1.前言
在使用Blinn-Phong着色模型的时候,定义了一个光的强度I(Intensity),假如I等于10。那么I等于10是什么意思?它肯定有单位和物理意义。另一方面,whited-style光线追踪模型也不是准确的模型,因为做了很多假设,例如光的反射式完美镜像反射,每次折射能量消耗没有考虑。
所以为了解决上述问题,都可以在辐射度度量学里找到,还有“路径追踪”的基础知识。
2.辐射度量学
辐射度量学是对光照的一套测量系统和单位,它能够准确的描述光线的物理性质,以物理正确的方向进行照明。并且还是基于几何光学,就是光线是直线传播,不考虑波动性等性质。还定义了光各种各样空间中的属性,如 辐射能量(Radiant Energy),辐射通量(Radiant flux), 强度(Intensity),辐照度(Irradiance),辐射度(Radiance)。
2.1 辐射能量和通量
1.辐射能量指的是辐射出来的电磁能量,记为Q,单位为J(焦耳)。可以用物理当中的做功的大小来进行类比。
2.辐射通量也称为辐射功率(Radiant Power),指的是辐射能量除以时间,也就是单位时间内发射、反射、传输或接收的能量,记为Φ,单位为W(瓦特)或者lm(流明)。同样也可以用物理当中的功率来进行类比。
一般偏向用辐射通量来衡量物体的亮度,因为我们更关心的是单位时间的亮度效果。例如在购买白炽灯泡的时候是说30W亮度、50W亮度等,而在购买投影仪的时候则是说3000lm亮度、5000lm亮度等。
辐射通量还可以从另外一个角度去定义,也就是在单位时间内流过传感器的光子数,在单位时间内流过的光子数更多也就越亮。
2.2 其他物理量
在具体的物理定义之前,先借助如下一张图建立对剩下3个概念的一些直观的理解。
1.Radiant Intensity其实就是指从一个光源出发往某一方向上发射的光线的亮度,可以理解为某一方向上的辐射通量(Radiant Flux)。
2.Irradiance指某一微小平面所接受到的光线亮度。
3.Radiance指某一微小平面从某个方向接受(或者向某个方向发射)的光线的亮度。
2.2.1 Radiant Intensity
辐射强度就是从光源发出的每单位立体角方向上的功率,单位为cd,关于辐射功率的定义在上文已经解释,这里唯一还不知道的就是立体角(Solid Angle)了。
立体角其实就是对应二维空间中圆的弧度在三维空间中球上的延伸。 首先在二维空间下计算弧度公式如下。
圆的弧度θ = l / r,即圆弧长度除以半径,整个圆形的弧度为2π,弧度的大小和扇形的角度有关,与圆形的大小没有直接关系。
那么对于三维的球体来说呢?
球体的立体角Ω 计算方式如下。
即立体角度所对应球上的投影面积除以半径的平方,整个球的立体角为4π,同样立体角和扇形体的两个角度有关,与球体大小没有直接关系。
那么对于辐射强度(Radiant intensity)的定义当中,单位(微分)立体角 dw 计算如下。
首先通过θ,Φ两个角度确定空间中一个方向,在这两个角度上分别增加一个值dθ和dΦ,则可以计算出如图中所示的球上的投影面积。其中rdθ就是单位面积圆的高,rsinθdΦ是单位面积圆的宽,二者相乘就是面积,再根据立体角的定义除以 r的平方 即可得到单位立体角了。
这里还可以验证下,对dw在整个球上积分,如下图所示。
可知与球的立体角为4π一致。
注意在计算单位立体角之前,我们其实选定了空间当中的一个方向(由θ,Φ所确定),称这个方向为 w,如上图所示。然后才在此基础之上分别对 θ,Φ 增加 dθ,dΦ 经计算得到最终的dw。因此辐射强度(Radiant intensity)的物理含义此时就很清楚了,为光源向某一方向的单位立体角发射出的光线的功率,简而言之就是光源在某个方向上的亮度!
对于各方向亮度一致的点光源计算Radiant Intensity如下。
因为点光源所有方向上的亮度都与方向无关,因此立体角可以直接积分出来为4π,最终计算得点光源亮度I = Φ / 4π。 (如果不是各向同性光源的话这里的I(w)应该为一个关于w方向的的函数)。
2.2.2 Irradiance
Irradiance的定义是每(垂直/投影)单位面积入射到表面点上的功率,单位为lux,如下图所示。
但上图中irradiance的定义是指光线与单位平面垂直时的计算方式,当光线与单位平面法线有一个夹角时,在计算时光线亮度需要乘上一个cosθ,如下图所示。
就是光线角度与平面法线有夹角时,相比于光线垂直照射平面,单位面积接受到的光线减少了。
借助于irradiance,也可以很轻松的解释在着色模型Blinn-Phong所提到的Lambert’s Cosine Law为什么要乘以cosθ了。
对比现实中,一年四季的温度变化,就是因为太阳照射地球不同区域的光线角度不同。如下图所示。
还有光线越远会更加衰减的现象也完全可以用irradiance解释。因为光的功率分布均匀,离点光源越远所照射到的圆球面积也就越大,根据irradiance的公式,分母的单位面积值也就越大,irradiance也就衰减到越小,衰减速度为半径 r 的平方。
辐射强度Radiant Intensity不会衰减,因为只与立体角有关,与半径 r 无关。
2.2.3 Radiance
1.定义
radiance是为了描述光线沿着一条线在传播过程中的属性,一般用于衡量光线携带的能量。其定义是一个表面在单位立体角、单位投影面积上发射、反射、传输或接收的功率。
注意这里是两次微分,它同时指定了光的方向与照射到的表面所接受到的亮度。简单说就是在一个单位面积上以指定一个方向发射的功率。
注意radiance既可以用于每单位垂直面积向每单位立体角发射(以及反射、折射等)的功率(Exiting Radiance),也可以用于每单位垂直面积从每单位立体角接收的功率(Incident Radiance)。
2.三者关系
回过头来看一下 Radiant Intensity和Irradiance以及Radiance三者的定义。
1.Radiant Intensity:每立体角发射的功率
2.Irradiance:每单位面积接收的功率
3.Radiance:每单位面积从每立体角接收的功率
那么,就可以得出如下。
1.Radiance:Radiant Intensity / 单位面积
2.Radiance:Irradiance / 立体角
3.Irradiance与Radiance的关系
先由如下定义:
1.Irradiance:在面积dA内接收到的总功率(能量)。
2.Radiance:面积dA从一个方向上接收到的功率(能量)。无非就是在Irradiance上增加了方向性。
那么,就可以写出如下图公式。
E(p)就是点 p 上的所有能量,即从每个方向进来的所有能量积分,所谓积分就是求和。那么该积分式子的物理含义便是一个点(微分面积元)所接收到的光线亮度(irradiance),由所有不同方向(立体角)的入射光线亮度(radiance)共同贡献得到。