games101-笔记-辐射度量学
intro
radiant energy : energy of electromagnetic radation.
Q(J)
radiant flux(power) : energy emitted per unit time. P = Q/t (W) , lm (流明)
Intensity
power per unit solid angle (立体角对应的能量)
I = P/w (P= power , w = 立体角)
solid angle :
angle:

solid angle:

Irradiance
power per unit area (面积所对应的能量)
E = dP/dA (P = power , A =area)
Irradiance Falloff
光在传播路程中会衰减。radient Intensity 不会衰减。因为立体角的光就那些不会变。 但是Irradiance 会衰减。因为随着光传播越来越远。area 越来越大。单位面积对应的power越来越小。
Radiance
power per unit solid angle, per unit area.
做两次微分。跟立体角和单位面积都有关系。
- radiance = Irradiance per soild angle
- radiance = Intensity per projected unit area
incident radiance
从一个方向过来而被吸收的能量叫做incident radiance。
irradiance 和 radiance的区别就是是否有方向性。我们描述一块区域上面有多少的能量是irradiance,但一个区域上面的能量可以是从四面八方吸收而来的,我们只考虑在这个区域中能吸收多少能量从特定角度而来的就是incident radiance。
exiting radiance
从一个方向出去的光强度从特定的区域和特定的角度。

如下图所示如果我们想判断所有方向射入目标面的光只需要积分即可。

BRDF
step 1 (BRDF)
简单来说:如何把从一个方向接收到的能量反射到另一个方向去。
- 是一个比例,一个area 从某一个方向接收到的radience乘以入射角后得到它的irridence。在反射成radience出去。
- BRDF定义如何去分配向各个角度反射的光强弱。这也就区分了镜面反射还是漫反射。如果是漫反射各个方向大致相同。镜面反射的话会有一个着重点光线很强。

step 2 (refection equation)
刚才只考虑了一个方向现在考虑所有方向了。

step 3 (rendering equation)
如果当前物体自己会发光。反射方程+自己的发光项

step 4 (进一步运算)
如果有多个光源。 反射方程递归。

如果光源并非点光源而存在面光源,积分上面的公式。

还需要考虑从其他物体上反射过来的光线(我们在这里就可以给其他物体上反射过来的光线当成是一种光源)。并且这是一个位置量。从下图可以看到。目前我们有两个未知量。所以采用递归。

简写渲染方程。最终得到:
我们想求的能量 = 本身光源的能量 + K(反射能量符,可以讲能量反射掉)* L(能量)

我们讲公式简化得到。
不弹射: 自己的光
弹射一次: 直接光照
弹射两次: 间接光照
弹射三次: 全局光照

