Li Jiaheng's blog
853 字
4 分钟
路径追踪
2024-04-24

辐射度量概念.#

一些图形学中使用的关于光的辐射度量的一些概念。

Power#

Power是电磁辐射(一般图形学中就当做光照)的功率。能量Q (energy, 单位焦耳)在图形学中几乎不使用。电磁辐射(光照)功率 Φ\Phi 定义

Φ=dQdt\Phi=\frac{dQ}{dt}

单位 瓦特(Watt) 或者 流明(Lumen)

Intensity#

或者称 Radiant Intensity,是衡量辐射在单位立体角上的功率。Intensity I(ω)I(\omega) 定义为:

I(ω)=dΦdωI(\omega)=\frac{d\Phi}{d\omega}

单位 瓦特每立体角,也是 流明每立体角,也是 坎德拉(cd)。

立体角#

物理中常用的概念。平面上有弧度角,是圆上一段弧所张的角度,使用弧长与半径的比值定义。立体家就是将弧度角推广到三维,是球上一片区域所张的角度,类比弧度角,立体角用区域面积 A 相对于半径的平方定义。

Ω=Ar2\Omega=\frac{A}{r^2}

单位sr。

由于球的面积 S=4πr2S=4\pi r^2,所以完整的球面所张立体角为 4π4\pi。不只是球面,所有封闭曲面对内所张的立体角都是 4π4\pi

θ\theta 为向量与z轴所张的角,ψ\psi 为向量和 y 轴所张的角,A和ω\omega的微分有如下等式:

dA=(rdθ)(rsinθdψ)=r2sinθdθdψdω=dAr2=sinθdθdψ\begin{aligned} dA&=(rd\theta)(r\sin{\theta} d\psi)=r^2\sin{\theta} d\theta d\psi \\ d\omega &= \frac{dA}{r^2}=\sin{\theta} d\theta d\psi \end{aligned}

Irradiance#

单位面积上从单位立体角方向接收的功率。Irradiance E(x)E(\textbf{x})(其中x\textbf{x}表示所计算的接收辐射的方向)。

E(x)=dΦ(x)dAcosθE(\textbf{x})=\frac{d\Phi(\textbf{x})}{dA \cos \theta}

单位 瓦特每平方米,或者流明每平方米,后者也就是 勒克斯(lux)。

注意和大部分物理上的处理一样,面积只计算直接垂直于入射方向的那部分。也就是如果光线与法线呈60°入射到一个平面,这个平面的面积为A,则它拿去算 irradiance 的面积只有 cos 60° 也就是1/2,也就是cos的投影关系。这也是为什么兰伯特光照模型里,光照要乘以 cos(法线与入射光线方向的夹角)。

这个概念也一定程度上提示了光照衰减。点光源发射的总能量有限,越近的球面总面积越少(A越小),除以A后单位面积上摊到的就多;远的球总面积大,单位面积上摊到的就小。因为面积是平方增加,所以似乎光照能量就是平方衰减,但实际上不是这么简单就是了。

Radiance#

这是光线追踪中最重要的物理量,它描述一条光线。
它表示 表面发射或者接收的辐射功率、每单位投影面积、每单位立体角。Radiance L(p,ω)L(p,\omega)(其中p是这块小面积的位置、它的面积是A,ω\omega是关注的光线方向的立体角(注意是光线去向/来向的立体角,不是小面积的立体角))定义:

L(p,ω)=dE(p,ω)dωL(p,ω)=dI(p,ω)dωL(p,ω)=d2Φ(p,ω)dAcosθdω\begin{aligned} L(p,\omega)&= \frac{dE(p,\omega)}{d\omega} \\ L(p,\omega)&= \frac{dI(p,\omega)}{d\omega} \\ L(p,\omega)&=\frac{d^2\Phi(p,\omega)}{dA\cos\theta d\omega} \end{aligned}

直观理解为,先是求 irradiance 得到单位投影面积的功率,然后对立体角微分抽取出其中所需要的单位方向的那部分功率。——这个步骤也可以反过来。

单位是 瓦特每立体角每平方米 W/(srm2)W/(sr \cdot m^2),或者 坎德拉每平方米,或者 流明每立体角每立方米,或者 nitnit(我也不知道这是啥)。

BRDF#

Rendering Equation#

渲染方程#

Path Tracing#

从渲染方程到算法#

优化#

路径追踪
https://namisntimpot.github.io/posts/cg/theory/路径追踪/
作者
Li Jiaheng
发布于
2024-04-24
许可协议
CC BY-NC-SA 4.0