这里回顾GAMES101 Lecture 15,这一讲介绍了光线追踪和全局光照。

课程主页:

课程作业:

课程视频:

本讲内容

  • 辐射度量学
  • 光线传输
    • 反射方程
    • 渲染方程
  • 全局光照

概念回顾

  • Radiant energy
    • $Q[\mathrm{J}=\mathrm {Joule}]$
    • 在计算机图形学中几乎不使用;
    • 电磁辐射的能量;
  • Radiant flux (power)
    • $\Phi \equiv \frac{\mathrm{d} Q}{\mathrm{~d} t}$
    • 单位时间能量;
  • Radiant intensity
    • $I(\omega) \equiv \frac{\mathrm{d} \Phi}{\mathrm{d} \omega}$
    • 单位立体角功率;
  • 立体角
    • $\Omega=\frac{A}{r^2}$
    • 球体对向面积与半径平方之比;

Irradiance

Irradiance是单位面积上入射到表面点的功率:

图示:

Lambert’s Cosine Law

表面的Irradiance与光方向和表面法线之间的夹角余弦成正比:

这也是季节产生的原因:

Irradiance衰减

回顾之前介绍的内容,我们说intensity随着距离呈二次衰减:

这实际上是错误的,真正衰减的是irradiance。

Radiance

radiance是描述环境中光分布的基本场量:

  • radiance是与光线相关的量;
  • 渲染就是计算radiance;

radiance定义:radiance(亮度)是表面在每单位立体角、每单位投影面积上发射、反射、透射或接收的功率:

图示:

回顾:

  • Irradiance:每单位投影面积的功率;
  • Intensity:每立体角的功率;

所以

  • Radiance:每个立体角的Irradiance;
  • Radiance:每单位投影面积的Intensity;

Incident Radiance

  • Incident Radiance度是到达表面的每单位立体角的辐照度。
  • 即它是沿着给定光线(表面上的点和入射方向)到达表面的光。

公式:

Exiting Radiance

  • Exiting Radiance是离开表面的每单位投影面积的强度。
  • 对于区域光,它是沿给定光线(表面上的点和出射方向)发射的光。

公式:

Irradiance vs. Radiance

  • Irradiance:面积$\mathrm dA$接收的总功率;
  • Radiance:面积$\mathrm dA$从“方向”$\mathrm d \omega$接收到的功率;

公式:

其中$H^2$是单位半球。

Bidirectional Reflectance Distribution Function(BRDF)

点反射

反射可以理解为光线打到物体表面某个点,改点吸收了能量,然后再将其发射出去:

  • 来自方向$\omega_i$的Radiance变成$\mathrm d A$接收的功率$E$;
  • 功率$E$将变为任何其他方向$\omega_o$的Radience;

吸收的能量为:

图示:

BRDF

双向反射率分布函数(BRDF)表示从每个入射方向反射到每个出射方向的光量:

图示:

补充:

  • BRDF描述了光线和物体的交互;
  • 描述了材质;

反射方程

公式:

物理含义:

  • 对某个方向,考虑每个方向的入射光;

渲染方程

如果考虑物体的发射光,则可以得到渲染方程:

其中$L_e\left(p, \omega_o\right)$是物体的发射光项。

理解渲染方程

从例子来理解渲染方程。

一个点的情形:

公式:

多个点的情形:

公式:

面的情形,面可以理解为无数个点:

公式:

如果考虑物体反射,则将反射物体当做光源即可:

此时公式为:

利用积分方程化简

对于之前提到的最后一个方程作如下化简:

  • $L_r\left(x, \omega_r\right): I(u)$;
  • $L_e\left(x, \omega_r\right): e(u)$;
  • $L_r\left(x^{\prime},-\omega_i\right): I(v)$;
  • $f\left(x, \omega_i, \omega_r\right) \cos \theta_i d: K(u,v)$;

可得如下积分方程:

我们称$K(u, v)dv$为光线传播算子的kernel。

进一步化简可得:

光线追踪和扩展

求解上述方程可得:

那么:

  • $E$可以理解为光源的直接能量;
  • $KE$可以理解为光源的能量经过一次反射得到的能量;
  • $K^2 E$可以理解为光源的能量经过两次反射得到的能量;