Definition: The irradiance is the power per (perpendicular/ projected) unit area incident on a surface point.
Intensity: power per solid angle. 每个立体角对应的能量
Irradiance: power per unit area. 每个面积对应的能量,单位 lux
光线垂直的方向才算是接受到的范围大小,不垂直要变成投影的垂直的方向。也就是说面必须与光线垂直。 这与之前 Blinn-Phong 模型的 defuse 部分提到过类似的概念。如下图:
为什么地球上不同地方有冬天夏天?
因为阳光和不同区域的夹角不一样,如果阳光始终垂直于区域,那么接收能量就多。
在最里面的圈半径为 1,那么 irradiance 就是 φ 除以 4πr²(球面积),为:
如果在远处的距离 r 的地方处,那么远处的单位面积接收到的能量就是
因此衰减的不是 intensity(单位立体角的能量),而是 irradiance。
Radiance
Radiance is the fundamental field quantity that describes the distribution of light in an environment
- Radiance is the quantity associated with a ray
- Rendering is all about computing radiance
研究光在传播过程中有着怎样的属性,与后面要讲的路径追踪有关系。
Definition: The radiance (luminance) is the power emitted, reflected, transmitted or received by a surface, per unit solid angle, per projected unit area.
与单位立体角有关,也与单位投影面积有关。
一个区域在往某个确定的方向(一个立体角 dω),因为这个区域可以往各个方向辐射能量,因此先研究一个方向的能量。这个和区域本身的面积也有关系。
dA cos 是投影到与光线 w 方向垂直的投影面积
cosθ accounts for projected surface area
Intensity: power per solid angle. 每个立体角对应的能量
Irradiance: power per unit area. 每个面积对应的能量,单位 lux
相当于:
Radiance: Irradiance per solid angle
Radiance: Intensity per projected unit area
Incident Radiance
Incident radiance is the irradiance per unit solid angle arriving at the surface.
从一个方向打到一个小的面上,到达面上时会得到能量 irradiance。如果考虑环境中四面八方的能量,自然可以得到 dA 大小所得到的能量。
但如果要考虑从某个方向进来到dA的能量,那就是 incident radiance(入射进来的)。
intensity:每个立体角上的能量是多少
incident radiance:在某一个 dω 的立体角有多少的 intensity
Exiting Radiance
Exiting surface radiance is the intensity per unit projected area leaving the surface.
辐射出去,可以用 intensity 来算。
e.g. for an area light it is the light emitted along a given ray(point on surface and exit direction).
Irradiance vs. Radiance
Irradiance: total power received by area dA
Radiance: power received by area dA from “direction” dω
公式第一行积分得到第二行,也就是 P 点所收到的能量,就是把每个方向上收到的能量进行积分。
Bidirectional Reflectance Distribution Function (BRDF)
Reflection at a Point
Radiance from direction ωi turns into the power E that dA receives
Then power E will become the radiance to any other direction ωo
从某个方向进来,反射到某个方向去,这部分能量应该是多少?
BRDF 描述的就是从某个方向进来,会从不同的反射方向上分布多少能量。
为什么有反射?
理解一:光进来打到物体,就能改变方向弹走。
理解二:光打到物体,被吸收了,再从物体表面发出去。这样我们可以用 Irradiance 和 Radiance 来解释反射。
Radiance(立体角每单位面积)
反射,首先从某个立体角进来能量打到小的表面 dA,如果我们现在限制单位面积所收到的立体角的能量,吸收了之后(能量变成 power),再原样发出去。因此入射和出射都能用公式写出来。
Differential irradiance incoming:
Differential radiance exiting (due to dE(wi) ):
对于一个小的面积,知道从某个方向接收能量(irradiance),也知道能量要反射到四面八方,但不知道在一个方向上反射了多少能量(radiance)。
我们定义一个函数来定义一个小面积 dA 从一个小立体角 dE(ωi) 接收到的 irradiance,会如何被分配到各个立体角上去。对于任何一个出射方向 radiance 来除以小面积所接收到的 Irradiance,这就是 BRDF 的定义。它会告诉我们表面如何把一个方向收集的能量反射到另一个方向上去,不管是漫反射还是镜面反射。
The Bidirectional Reflectance Distribution Function (BRDF) represents how much light is reflected into each outgoing direction from each incoming direction
任何一个出射方向的 radiance 的微分,除以在入射点上 Irradiance 的微分。
从一个方向进来打到了某物体之后,往不同方向反射的能量分布。如果是镜面反射,就从反射出去的方向分布了所有能量,其他方向只要不是镜面反射方向就不会有任何能量。如果是漫反射,进来的能量,会被均等得分布在出去的方向上。
BRDF描述了光线和物体是如何作用的。这个概念会决定物体不同的材质是怎么回事。
The Reflection Equation
从公式看,入射的 radiance Li(p, ωi) 乘以 cosθi 乘以 dωi,就变成小面积 dA 收到的 irradiance,这个 irradiance 乘以 BRDF 式子就会变成出射的 radiance,再积分起来。
BRDF 描述了从某个方向进来的光反射到出射方向有多强。这样可以把每一个方向的入射光的强度 Irradiance 都加起来,就能得到这个点在所有可能的入射方向上最后反射到一个方向上是怎么样的。
反射方程定义的是在各个着色点在各种不同的光照环境下,考虑在任何一个输入对观测方向的贡献。
从某个方向看一个着色点,就是一个积分。这个积分考虑的是任何一个不同的方向 ωi 的 irradiance,进来了之后会被 BRDF 变成出射的 radiance。
对于任何一种着色模型,我们定义 BRDF,知道是什么即可。
Challenge: Recursive Equation
如果着色点被包围在其他的物体里面,其他物体也会被光照亮,会反射光到着色点上。那么入射的 radiance 可能不止来自光源,也可能来自经过反射之后的物体反射出去的 radiance。(递归,光线不止弹射一次。只弹射一次说明只接收光源)任何出射的 radiance 都可能作为其他点入射的 radiance。
The Rendering Equation
Re-write the reflection equation:
by adding an Emission term to make it general!
The Rendering Equation:
这里假定所有的方向(包括入射方向)都是从球心向外打出。
一个物体(点)往某个方向出射的光由两部分构成:自己发射的光、通过别人反射过来的或者光源入射的光 radiance 经过 BRDF 往物体方向去的 radiance。
半球的概念:H²、Ω+. 法线 n 点乘入射方向 ωi,就是原来的 cosθi。
所有限制在物体表面的光线传播,都满足这个渲染方程。
一个点光源
多个点光源
面光源
面光源:点光源的集合,积分起来。
反射
Rendering Equation (Kajiya 86)
Rendering Equation as Integral Equation
反射的 radiance 和其他物体反射的 radiance 都不知道。但是光源和物体的材质是知道的。通过数学简写可以得到上图下方的积分。
L = E + KL。左边的 L 是我们要算的东西,E 是光源本身发出的能量,K是反射操作符,可以把辐射出来的能量反射掉。这样的简写忽略了很多东西,目的是为了解渲染方程。
Ray Tracing and extensions
- General class numerical Monte Carlo methods
- Approximate set of all paths of light in scene
I 是 Identity 单位矩阵。写成算子的形式。算子本身有泰勒展开类似的性质。
反射本身是一种间接光照
通过这种分解可以把渲染方程拆成很多项,是对弹射次数的分解,这样可以介绍全局光照的概念。
光线弹射一次的结果是直接光照,弹射两次的结果是间接光照,光线弹射包括一次以及更多,就叫做全局光照。
光栅化能够告诉我们的内容其实只有零次和一次的弹射:光源自己以及直接光照。后面的光照可以做,但比较麻烦。
图片上方的灯在第四次弹射相比第二次弹射忽然透明了,是因为光线需要足够的弹射次数才能弹出这个灯。
如果做无线次数的光线弹射,最后会收敛到一个亮度,不会再变亮。
相机的快门一直开着,一定会出现过曝的现象。辐射度量学的时候,我们需要考虑能量和单位时间。如果一直按着快门,就会越来越亮,因为积累的能量是越来越长的,这是两个事情。