目录
辐射度量学
Irradiance
在单位时间内,每个单位面积上接收到的光照的能量。
朗伯余弦定律 Lambert’s Cosine Law
Irradiance中的单位面积必须要和光线垂直,不垂直需要把面积投影到光线的垂直方向上。
能量的衰减
假设能量集中在一个球壳上,随者球壳的增大,能量有一个
r
2
r^2
r2的衰减。
可使用Irradiance解释,在任一半径为
r
r
r的球上,
I
r
r
a
d
i
a
n
c
e
(
E
)
=
φ
/
4
π
r
2
Irradiance(E) = φ/4πr^2
Irradiance(E)=φ/4πr2,单位面积上接收到的能量就是
φ
/
4
π
r
2
φ/4πr^2
φ/4πr2。
球面越来越大,立体角对应的面积也会越来越大,所以radiant intensity不衰减。而球面越大,整体面积越大,dA相对变小,Irradiance衰减。
Radiance
- 用来描述光线的一些属性
- 渲染就是关于radiance的计算
定义:每个单位立体角、每个单位投影面上的power
需要做两次积分,dA为一个单位面积,该单位面积有自己的方向,和入射的光线的夹角为θ,然后从这个面往某个方向ω上辐射出能量。
联系与区别
联系:
- Radiance :power per unit solid angle, per projected unit area.
- Irradiance: power per projected unit area
- Intensity: power per solid angle
因此:
Radiance表示单位面积dA接收到的能量向ω方向辐射出的能量多少。反过来即从单位立体角上发射来的Irradiance;即单位面积投影上的Intensity。 - Radiance: Irradiance per solid angle
- Radiance: Intensity per projected unit area
区别:
- Radiance是dA从dω接收的能量;Irradiance是dA上接收各个方向的能量。
- 把半球面上的所有radiance积分起来得到Irradiance。
BRDF(Bidirectional Reflectance Distribution Function)
双向反射分布函数
反射点要吸收来自某一方向的radiance然后反射到各个方向的立体角上,由此实现着色。
因此考虑一个单位面积 d A dA dA从某单位立体角 d ω i dω_i dωi上接收到Irradiance,如何会被分配到各个立体角上。其实就是一个比例问题,这个比例是任何一个立体角上发出去的radiance/单位面积接收到的Irradiance。这就是BRDF的定义。
BRDF
BRDF表示每个入射方向收集到的能量反射到各个出射方向上能量的比例。即某光线打到物体表面后,往不同方向反射的能量分布。则
- 镜面反射,那么只有反射方向有能量,其他方向无能量。
- 漫反射,入射能量会被均等的分布到各个方向上。
BRDF描述了物体和光线之间的相互作用,定义了不同的材质。
从
w
i
w_i
wi角度入射的能量反射到
w
r
w_r
wr方向上的能量是
d
L
r
(
w
r
)
dL_r(w_r)
dLr(wr)
反射方程
在反射过程中,并不是只对某一方向的能量进行反射,而是要将来自各个方向的能量都收集起来,然后反射到某一个角度上,至此才能得到最终的反射效果,即
- 计算出来自各个方向接收的能量反射到 w r w_r wr方向上的能量
- 将这些能量全部累加起来,得到 w r w_r wr方向上最终能量
使用以下反射方程表示:
其中
H
2
H^2
H2表示半球面。
考虑反射方程时,需要注意:
- d A dA dA接收的能量并不是只来自光源,还会来自别的表面反射来的光
- 从某点反射出去的能量也会作为Irradiance反射到其他面上。
因此这是一个递归问题,随着光线反射次数的增加,最终效果会越来越好。(渲染效果一般越亮越好)
渲染方程(The Rendering Equation)
相比反射方程,渲染方程考虑了反射点自己发光的情况,即下式右侧第一项。下式右侧第二项是接收半球面各个方向能量的反射能量。
渲染方程的理解
渲染方程可以表示为以下形式:
最终表示为级数形式
则每一项可以依次理解为光源发射的能量,表面的直接能量,间接1次反射的能量,间接2次反射的能量…