辐射能量
着色模型中的“光强”往往是没有单位的经验参数。物理渲染需要区分能量在时间、面积和方向上的分布,辐射度量学 Radiometry 为这些量提供了统一定义。
辐射能量 Radiant Energy 记为 Q,单位是焦耳。单位时间通过某个截面或由光源发出的能量称为 辐射通量 Radiant Flux:
Φ=dtdQ,
单位是瓦特。通量描述总功率,还没有说明能量朝哪个方向传播或落在多大面积上。
立体角
二维角度可以用圆弧长度除以半径,三维方向范围则用 立体角 Solid Angle 表示。球面面积 A 在半径为 r 的球心张开的立体角为
Ω=r2A.
单位是球面度 sr。单位球的整个球面面积为 4π,所以全空间立体角也是 4π;一个半球对应 2π。
球坐标中的小块球面,一条边长为 rdθ,另一条纬向边长为 rsinθdϕ,所以
dA=r2sinθdθdϕ.
根据 dω=dA/r2,
dω=sinθdθdϕ.
这里的方向向量可以写成
ω=(sinθcosϕ,sinθsinϕ,cosθ).
因子 sinθ 表示靠近赤道的同样角度间隔覆盖更大球面面积。在半球上均匀采样方向,指的是每单位立体角概率相同,并不等同于让 θ 在 [0,π/2] 上均匀分布。
辐射强度
辐射强度 Radiant Intensity 描述点光源向某个方向单位立体角发出的通量:
I(ω)=dωdΦ,
单位是 W/sr。各向同性点光源在所有方向上相同,因此
I=4πΦ.
辐射强度只适用于讨论源的方向分布。现代灯具常有明显的角度分布,同样总功率的两个光源可能因配光曲线不同而产生完全不同的照明。
辐照度
辐照度 Irradiance 表示单位表面面积接收的通量:
E(x)=dAdΦ(x),
单位是 W/m2。辐亮度与微分通量的基本关系是
d2Φ=Li(x,ωi)cosθidAdωi.
对入射半球积分,再除以表面面积:
E(x)=∫Ω+Li(x,ωi)cosθidωi.
因此来自一个微分方向的辐照度为
dE=Li(x,ωi)cosθidωi.

对点光源,强度满足 dΦ=Idω。面积元 dA 从光源看去张开的立体角为
dω=r2cosθdA.
所以
dE=dAdΦ=r2Icosθ.

余弦衰减来自表面投影,平方反比来自球面面积随 r2 增长,两者的几何原因不同。
辐亮度
辐亮度 Radiance 同时描述单位投影面积、单位立体角内传播的通量:
L(x,ω)=dA⊥dωd2Φ=cosθdAdωd2Φ.
单位是 W/(m2⋅sr)。它可以理解为沿一条光线携带的光,是渲染中最重要的量。在真空、无吸收、无散射、无额外发光且没有遮挡时,辐亮度沿直线保持不变;距离变化引起的光束截面积和对应立体角正好抵消。
入射辐亮度 Li(p,ωi) 表示光从方向 ωi 到达表面,出射辐亮度 Lo(p,ωo) 表示光沿 ωo 离开表面。方向通常都约定为从表面点向外指。
BRDF
双向反射分布函数 Bidirectional Reflectance Distribution Function,简称 BRDF,描述某一入射方向产生的微分辐照度,有多少被反射到指定出射方向:
fr(ωi→ωo)=dEi(ωi)dLo(ωo)=Li(ωi)cosθidωidLo(ωo).
它的单位是 sr−1。BRDF 同时编码颜色、粗糙度和方向性;相同几何与光照使用不同 BRDF,就会呈现塑料、金属、织物等不同外观。
在图形学记号中,x 表示表面上的位置,ωi、ωo 表示从该位置向外指的单位方向;ωo 不是另一个空间位置。透射材质不能只使用反射的 BRDF,路径上的散射函数应使用 BSDF Bidirectional Scattering Distribution Function,其中同时包含反射和透射分支,并按各自的测度与折射率项计算 PDF。

反射方程
一个表面点沿观察方向反射的辐亮度,是上半球所有入射方向贡献之和:
Lr(p,ωo)=∫Ω+fr(p,ωi,ωo)Li(p,ωi)cosθidωi.
若表面本身还能发光,完整 渲染方程 Rendering Equation 为
Lo(p,ωo)=Le(p,ωo)+∫Ω+frLi(p,ωi)cosθidωi.


沿 ωi 从 p 发射光线,设最近交点为 p′。忽略参与介质时,
Li(p,ωi)=V(p,p′)Lo(p′,−ωi),
其中 V 是两点间的可见性。一个表面的出射光成为另一表面的入射光,这条关系把局部反射积分连接成全局递归方程。
把传播、可见性和表面反射合并为线性光传输算子 K,发射项记为 E:
L=E+KL.
若把场景位置和方向离散成有限状态,L 与 E 可以看作向量,K 可以看作矩阵:
Li=Ei+j∑KijLj.
Kij 汇总从状态 j 传播到状态 i 的可见性、几何项和 BRDF。这样,L=E+KL 表示每个状态的出射光等于自身发光,加上所有其他状态经过一次传输后的贡献。
若 (I−K)−1 存在,且 Neumann 级数收敛,形式上有
L=(I−K)−1E=E+KE+K2E+⋯.
E 是所有表面的自发光,KE 表示发光经过一次反射后的贡献,K2E 表示两次反射。反射会损耗能量时,光传输算子的谱半径通常小于 1,级数才能收敛。光栅化中的局部着色只保留有限反射项,完整 全局光照 Global Illumination 需要估计整个级数。
渲染方程的难点来自 Li 本身又是别处的 Lo;它是全场景耦合的积分方程,而不只是一个局部着色公式。
概率基础
连续随机变量 X 的 概率密度函数 Probability Density Function,简称 PDF,满足
p(x)≥0,∫p(x)dx=1.
函数 f(X) 的期望为
E[f(X)]=∫f(x)p(x)dx.
若从 p(x) 独立采样 X1,…,XN,则积分
I=∫abf(x)dx
可用 蒙特卡洛积分 Monte Carlo Integration 的估计量
I^N=N1i=1∑Np(Xi)f(Xi)
近似。令单样本随机变量
Y=p(X)f(X),X∼p.
只要 f(x)=0 的位置都有 p(x)>0,并且期望存在,
E[Y]=∫p(x)f(x)p(x)dx=∫f(x)dx=I.
独立样本平均的期望仍为 I,所以估计无偏。独立同分布时,
Var[I^N]=NVar[Y].
标准差按 1/N 下降,降低一半噪声大约需要四倍样本。
采样分布与被积函数的形状越接近,方差越小。若在函数几乎为零的区域浪费大量样本,而高能量区域很少被选中,估计仍可能无偏,但图像会有严重噪点。
半球采样
直接在表面半球上均匀采样时,
p(ωi)=2π1.
反射方程的 Monte Carlo 估计为
Lr(p,ωo)≈N1k=1∑Np(ωk)fr(ωk,ωo)Li(ωk)cosθk.
对每个方向发射一条光线,找到下一交点并递归查询其出射辐亮度,就得到朴素 路径追踪 Path Tracing。每一层若继续生成 N 条光线,光线数量会按 Ndepth 爆炸。实际做法是在每个反弹点只选一个后继方向,再从相机对同一像素发射很多独立路径。
路径携带一个 throughput β,初始为 1。令 ωk 从当前顶点 xk 指向上一顶点,ωk+1 从当前顶点指向新采样的下一顶点,两者都按离开表面的方向定义。在顶点 xk 按 PDF pk 采样 ωk+1 后,
βk+1=βkpk(ωk+1)fr(xk,ωk+1,ωk)max(0,nk⋅ωk+1).
这里讨论的是不透明表面的反射 BRDF,采样方向应位于法线同侧的支持域;落到下半球的方向贡献为零。若改用包含透射的 BSDF,需按对应 lobe 的法线约定和测度使用绝对余弦,并同时处理折射率项。
当路径命中发光表面时,它对像素的贡献是
βkLe(xk,ωk).
BRDF、余弦和采样概率沿路径逐项相乘,这正是递归 Monte Carlo 估计器展开后的权重。

像素最终取多个样本的平均。每像素样本数 Samples Per Pixel,简称 SPP,表示每个像素追踪的独立相机样本数。这些路径不必经过场景中的同一个首交点:像素内位置抖动会改变主光线,镜头采样会改变光线原点,时间采样会改变场景状态;即使固定主光线,后续 BSDF 采样也会生成不同路径。SPP 实际同时近似像素面积、孔径、时间和光路空间上的积分。
SPP=1 且只估计直接光照时,结果可能因为没有随机间接反弹而显得很干净,但它不包含全局光照中的间接照明、遮挡间接光和 color bleeding。因此“干净”不等于已经收敛;要恢复这些传输效应,必须增加路径深度、使用适当的 BSDF/光源采样,或明确采用有偏的近似。
俄式轮盘
固定最大深度会系统性丢失更长路径,产生偏差。Russian Roulette 用随机方式终止路径:设继续概率为 P,当前反射估计为 Lr,则返回
L={Lr/P,0,概率 P,概率 1−P.
它的期望仍为 Lr:
E[L]=PPLr+(1−P)0=Lr.
在路径实现中,幸存后执行
β←Pβ,
终止路径的后续贡献为零。继续概率可取当前 throughput 的最大颜色分量并限制在合理范围内。P 过低会让幸存路径权重过大、噪声增加;过高则节省不了多少计算。
光源采样
只从 BRDF 随机选择方向时,小面积光源很难被击中,大量样本贡献为零。更有效的方法是直接在光源面积 A 上采样点。若均匀采样,
pA(x′)=A1.
设
ωi=∥x′−x∥x′−x.
从着色点 x 观察光源微元 dA,与视线垂直的投影面积为
dA⊥=∣n′⋅(−ωi)∣dA.
它投影到以 x 为球心、半径 r 的球面上时,立体角等于投影面积除以 r2:
dωi=∥x′−x∥2∣n′⋅(−ωi)∣dA,
这就是从面积测度转换到立体角测度所需的 Jacobian。令
cosθ=max(0,n⋅ωi),cosθ′=max(0,n′⋅(−ωi)).
直接光照因此可写成面积积分:
Ldir=∫ALe(x′→x)fr∥x′−x∥2cosθcosθ′V(x,x′)dA.
V 是可见性项,连线未被遮挡时为 1,否则为 0。若按面积 PDF pA 采样一个光源点,单样本估计量为
Ldir=∥x′−x∥2pA(x′)Le(x′,−ωi)fr(x,ωi,ωo)cosθcosθ′V(x,x′).
这条式子同时包含发光、材质响应、两端余弦、距离衰减、可见性和采样概率,缺少任一项都会改变单位或期望。
理想点光源在方向域中是 delta 分布。连续地随机采样半球,恰好命中一个无面积点的概率为零,因此不能只靠普通 BSDF 路径等待它被击中。实际渲染器会显式选择点光源,直接使用从着色点指向光源的唯一方向计算贡献;多个点光源的结果可以离散求和。把点光源近似成很小的面积光也可行,但面积越小,若采样策略不匹配,方差越高。
实践中把光照拆成两个互补估计器:显式采样光源(next-event estimation)负责直接光照,按 BSDF 采样下一方向负责间接光照。它们覆盖的是同一个渲染积分中的不同采样策略,不应把同一发光体贡献在两个估计器中都按完整权重相加。若 BSDF 路径恰好击中光源,需要根据策略选择其发射项,或用 Multiple Importance Sampling 给光源采样与 BSDF 采样分配互补权重;否则会把同一条光路重复计算。反过来,若某个实现只在非发光顶点做 next-event estimation,并把命中发光体的 emission 作为路径终点贡献,则要明确这两个分支的计数边界,不能既无条件加入完整 Le,又无条件加入完整直接光照项。
更一般的渲染器会用 Multiple Importance Sampling 组合光源分布和 BSDF 分布,在尖锐材质、小光源和环境光之间获得更稳定的方差。
PDF 必须与积分使用同一种测度。面积 PDF 与立体角 PDF 之间少一次 Jacobian 转换,就会得到有偏结果。
噪声控制
路径追踪的颗粒来自有限样本的统计误差,并不是几何锯齿。提高 SPP 可以收敛,但成本高。常见的降噪方向包括:

- 使用与光源或 BRDF 相匹配的重要性采样;
- 对像素、时间和镜头维度采用分层或低差异采样;
- 对高能量异常路径做审慎处理;
- 使用基于几何、法线和反照率的图像降噪。
改变采样分布时必须同步使用正确的 PDF 权重,否则会直接改变估计期望。所有样本也必须在同一积分域和同一度量下解释:面积 PDF 与立体角 PDF 不能未经雅可比转换就混用。