Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3

目录

  • 辐射度量学
    • Irradiance
      • 朗伯余弦定律 Lambert’s Cosine Law
      • 能量的衰减
    • Radiance
      • 联系与区别
  • BRDF(Bidirectional Reflectance Distribution Function)
    • BRDF
    • 反射方程
    • 渲染方程(The Rendering Equation)
      • 渲染方程的理解

辐射度量学

Irradiance

在单位时间内,每个单位面积上接收到的光照的能量。
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第1张图片

朗伯余弦定律 Lambert’s Cosine Law

Irradiance中的单位面积必须要和光线垂直,不垂直需要把面积投影到光线的垂直方向上。
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第2张图片

能量的衰减

Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第3张图片

假设能量集中在一个球壳上,随者球壳的增大,能量有一个 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
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第4张图片

需要做两次积分,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。
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第5张图片

BRDF(Bidirectional Reflectance Distribution Function)

双向反射分布函数
反射点要吸收来自某一方向的radiance然后反射到各个方向的立体角上,由此实现着色。

因此考虑一个单位面积 d A dA dA从某单位立体角 d ω i dω_i dωi上接收到Irradiance,如何会被分配到各个立体角上。其实就是一个比例问题,这个比例是任何一个立体角上发出去的radiance/单位面积接收到的Irradiance。这就是BRDF的定义。

BRDF

BRDF表示每个入射方向收集到的能量反射到各个出射方向上能量的比例。即某光线打到物体表面后,往不同方向反射的能量分布。则

  • 镜面反射,那么只有反射方向有能量,其他方向无能量。
  • 漫反射,入射能量会被均等的分布到各个方向上。

BRDF描述了物体和光线之间的相互作用,定义了不同的材质。
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第6张图片
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方向上最终能量

使用以下反射方程表示:
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第7张图片
其中 H 2 H^2 H2表示半球面。

考虑反射方程时,需要注意:

  • d A dA dA接收的能量并不是只来自光源,还会来自别的表面反射来的光
  • 从某点反射出去的能量也会作为Irradiance反射到其他面上。

因此这是一个递归问题,随着光线反射次数的增加,最终效果会越来越好。(渲染效果一般越亮越好)

渲染方程(The Rendering Equation)

相比反射方程,渲染方程考虑了反射点自己发光的情况,即下式右侧第一项。下式右侧第二项是接收半球面各个方向能量的反射能量。

渲染方程的理解

渲染方程可以表示为以下形式:
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第8张图片
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第9张图片
最终表示为级数形式
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第10张图片
则每一项可以依次理解为光源发射的能量,表面的直接能量,间接1次反射的能量,间接2次反射的能量…
Games101 计算机图形学课程笔记:Lecture15 Ray Tracing 3_第11张图片

你可能感兴趣的:(计算机图形学)