PBRT-反射模型
PBRT-反射模型
前置概念
表面反射模型来源
测量数据:测量得到的真实世界表面反射分布特性
现象学模型:试图描述真实世界表面定性特性的方程,往往具有修改其行为的直观参数
模拟:模拟来自微观几何的光散射以生成反射数据
物理光学:使用光的详细模型推导,计算成本往往很高
几何光学:与模拟方法一样,如果已知表面的低级散射和几何特性,有时可以直接从这些描述中导出封闭形式的反射模型
反射类别
漫反射
在所有表面上均匀散射光
光泽镜面反射
优先在一组反射方向上散射光,它们显示其他对象的模糊反射,如塑料或高光涂料
完美镜面反射
将入射光散射到一个单一的出射方向,如镜子和玻璃
逆反射
沿着入射光的方向散射光
大多数反射分布函数是各向同性的,即入射光沿绕着一个点的法线轴进行旋转,其反射光的分布不会改变。对于各向异性而言,则会反射不同数量的光,比如拉丝金属、布和光盘
材质类别
- 电介质,是不导电的材质。它们具有实数值的折射率并透射一部分入射光,如玻璃、矿物油、水、空气
- 金属导体。材质是不透明的,并反射大部分照明,一部分光也传输到导体内部被吸收,在pbrt中忽略透射效应,只对导体的反射分量进行建模,导体具有复数值的折射率
- 半导体。pbrt中不讨论这种材质
反射坐标系
计算反射时使用的坐标系,由正交基向量
也可以使用球坐标来表示:
其转换公式为:
反射率
半球-方向反射率是一个2D函数,它在给定方向上由于在半球上的恒定照明而产生全反射,或者等效地,由于来自给定方向的光而在半球上产生全反射,他被定义为
注意,该方程和散射方程相比少了入射辐射度那一项,即
表面的半球-半球反射率公式如下:
当入射光的方向相同时,它给出表面反射的入射光的分量。对于内层积分,得到的是给定入射方向下整个半球上的反射率,对于外层积分,得到的是所有入射方向得到的半球反射率的总和
镜面反射和透射
出射方向和入射方向两者相对发现的夹角相同
其中
一般来说,折射率随着光的波长而变化,入射光通常在两种不同介质之间的边界处向多个方向散射,这种效应称为色散。在图形学中往往忽略这种波长相关性
菲涅耳反射(Fresnel Reflection)
Snell定律给出了透射方向的计算方法,此时还需要计算被反射或透射的入射光比例
给定折射率和入射光线与表面法线的夹角,菲涅耳方程指定了材质对入射照明的两种不同偏振态的相应反射比,pbrt中假设光是非偏振的,则反射比是平行和垂直偏振项的平方的平均值(注:这里的定义和维基百科中不同,后者定义为算数平均值)
维基百科的解释:https://zh.wikipedia.org/zh-cn/%E8%8F%B2%E6%B6%85%E8%80%B3%E6%96%B9%E7%A8%8B
注意区分折射率和透射比的区别
折射率表,给出真空中光速与介质中光速之比
电介质的菲涅耳反射比公式为
两者分别为平行偏振光的反射比和垂直偏振光的反射比。余弦项应该全部大于或等于0,因此计算
对于非偏振光,菲涅耳反射比为
透射比为
对于复折射率
导体和电介质之间边界处的菲涅耳反射比由如下公式给出:
其中
镜面反射
菲涅耳方程给出了反射光的分量,
其中
由于镜面反射时,一个入射方向只会对应一个出射方向,因此使用冲激函数来表达BRDF,代换相关因子得
反射向量
镜面透射
使用
根据定义有
将立体角转化为球面角
对斯涅尔定律关于
综合上述2个方程有
因为
类似地,根据散射方程以及上式得到BTDF函数的表达式如下
其中
透射方向
其中,
兰伯特反射(Lambertian Reflection)
Lambertian模型模拟了一个完美的漫反射表面,该表面在所有方向上均等地散射入射照明,其反射分布函数为
微表面模型
许多基于几何光学的表面反射和透射建模都基于这样的方法,即粗糙表面可以建模为小的微表面的集合,由微表面组成的表面通常称为高度场,其在统计上描述平面方向的分布。在pbrt中,使用microsurface描述微表面,macrosurface来描述底层的平滑表面
两种不同的微表面横截面如下
基于微表面的BRDF模型通过对来自大量微表面的光散射进行统计建模来工作,假设被照亮的微分区域
微表面模型的两个主要组成成分:
- 微表面的分布
- 描述光如何从单个微表面散射的BRDF
考虑微表面的局部照明效果,主要是三种情况:
- 微表面被另一个面阻挡
- 位于相邻微表面的阴影中
- 相互反射,导致微表面反射的光比直接光照和低级微表面BRDF预测的更多,因为有来自其他方向的光,见图c
Oren-Nayar漫反射
Oren和Nayer发现粗糙表面通常随着照明方向接近观察方向而显得更亮,他们提出的反射模型通过V型微表面描述粗糙表面,该微表面由球形高斯分布描述,具有单个参数
在V形假设下,可以通过仅考虑相邻的微表面来解释相互反射,因此,该模型推导出的BRDF对凹槽集合的聚合反射进行建模,结果考虑了微表面之间的阴影、遮蔽和相互反射,其近似公式为
其中
微表面分布函数
微表面的一个重要特征使用分布函数
微表面分布函数必须归一化以确保他们在物理上是合理的,如果我们考虑沿法线方向
注:这里暂时理解为,微表面上不能出现倒下的三角形,这种情况下一条光线可能与多个微表面相交,投影面积也会有重叠
可以用公式表述为
Beckmann和Spizzichino提出了一种广泛使用的基于微表面斜率高斯分布的微表面分布函数,它的传统定义是
如果
如果是各向异性分布,其中的法线分布会随
另一个有用的微表面分布函数来自Trowbridge和Reitz,其各向异性表达式由下式给出
两者的函数图像如下,其中,横坐标为
从图中可以看出,TR模型具有更高的尾部,对于远离表面法线的方向,它更慢地下降到0,该特性与许多真实世界表面非常匹配
微表面模型可以这样理解,每个平面包含多个微平面,这些微平面的取向是各种各样的,但大致满足上述函数图像的分布,即和原始取向相似的微表面法线数目更多,不相似的更少。当表面完全光滑时,所有微表面取向一致,此时就是完美的镜面反射
遮蔽和阴影
现在考虑微表面的局部照明效果,使用遮蔽-阴影函数
从
换句话说,给定方向
如果
使用辅助函数
则遮蔽函数可以重新表述为
在附近点高度不相关的假设下,各向同性BeckmannSpizzichino分布的
其中
在不相关高度假设下,Trowbridge-Reitz分布的
其
可以发现,增加表面的粗糙度会导致函数更快地下降到0,此时可见微表面更少,在视角垂直于微表面时,几乎所有微表面都不可见
与微表面分布的几何特性相关的最后一个函数是
实际中两者往往并不独立,这导致
Torrance-Sparrow模型
该微表面模型用于模拟金属表面,他们将表面建模为完美光滑的镜面微表面的集合,只有那些法线等于半角向量的微表面能导致完美镜面反射,即
推导如下,各个符号的含义如下图
考虑入射微表面的微分通量
方向为
该乘积的前两项描述了每单位面积中,具有正确取向的平面的微分面积
带入前一个式子有
如果我们假设微表面根据菲涅耳定律单独反射光,则出射通量为
再次使用辐射度的定义,反射出的辐射度为
结合等式[8.16],[8.15]有
镜面反射下,
带入前一个方程有
最后,添加几何衰减项
该模型的优点之一是其推导不依赖于所使用的特定微表面分布,也不依赖于具体的菲涅耳函数,因此可以用于导体和电介质
对于BTDF,从折射率为
此时的BTDF为
其中
菲涅耳入射效应
假设某个材质的表面是分层的,菲涅耳反射会减少到达分层对象的底层光量,考虑一张抛光的木桌或者涂有光泽油漆的墙壁,如果从正面看过去,主要看到的是本身颜料的颜色,即漫反射的分量;如果从倾斜的角度看过去,则看到的底层颜色较少,此时它被菲涅耳效应引起的更多的光泽反射所覆盖
Ashikhmin和Shirley开发的BRDF模型模拟漫反射底层表面,其上方有光滑的镜面反射表面,漫反射表面的反射效果通过考虑菲涅耳效应后剩余的能量进行分配和调节。当入射光接近法线时,大部分光线透射到漫反射层,此时漫反射项占据主导地位。当入射光接近掠射时,光泽反射成为主要的反射模式
该模型基于光泽镜面反射项和漫反射项的加权和,光泽镜面项导出为
其中
Schlick将菲涅耳反射近似为
其中
最后,以下等式中的漫反射项以物理上合理的方式模拟了基于菲涅耳入射效应:
其中,
傅里叶基BSDF
该模型使用傅里叶基表示具有缩放余弦项和的BSDF,对于某些具有逆反射性的材质来说处理较好
其BSDF公式如下:
其中,
推导以及计算