实时渲染学习(五)高级着色:BRDF及相关技术
参考博文【《Real-Time Rendering 3rd》 提炼总结】(六) 第七章 · 高级着色:BRDF及相关技术,部分参考计算机图形学 读书笔记(二) BRDF双向反射分布函数
这一章物理和数学概念比较多,作者原博整理的很好,这里我就不多赘述了,这篇主要记录读后感和关于BRDF比较基础的内容以及我的理解。
一、理论基础
- 球面坐标 Spherical Coordinate
- 立体角 Solid Angle
- 投影面积 Foreshortened Area
- 辐射度量学基本参数表格
- 辐射通量/光通量 Radiant Flux
- 辐射强度/发光强度 Radiant Intensity
- 辐射率/光亮度 Radiance
- 辐照度/辉度 Irradiance
二、BRDF的定义与理解
2.1 BRDF的定义
BRDF(双向反射分布函数)用于描述反射光与入射光的关系,即为给定入射的光线数量和方向,计算出指定方向的出射光亮度:
BRDF的精确定义是出射辐射率的微分和入射辐照度的微分之比:
其中,表示入射光方向,表示出射方向。
辐射通量:每单位时间的辐射能量
辐射率:每单位立体角每单位投影面积的辐射通量
辐照度:入射表面的辐射通量
公式意义:由于照射到入射点的不同方向的光都可能从指定反射方向出射,因此考虑入射时需要对面积进行积分,而辐照度表示单位时间内到达单位面积的辐射通量刚好满足。出射的辐射率可以简单明了地描述入射光线经过表面反射后如何在各个出射方向上分布。
2.2 BRDF的非微分形式
适用于点光源或方向光源。
其中,是光源在垂直于光的方向向量平面测量的辐照度。是在视图矢量方向上产生的出射辐射率。
那么,用n个非区域光拟合一般的着色方程:
其中,是每个光源的索引,表示分段向量乘法。
三、BRDF的性质
3.1 可逆性
源自于亥姆霍兹光路可逆性(Helmholtz Recoprpcity Rule)。交换入射光和反射光,并不会改变BRDF的值。
3.2 能量守恒性质
入射光的总能量与出射光总能量相等。
3.3 线性特征
表面上某一点的全部反射辐射度可以表示为各个BRDF反射辐射度之和。
四、BRDF的模型分类
- 经验模型(Empirical Models):使用基于实验公式对BRDF做快速估计。
- 数据驱动的模型(Data-driven Models):采集真实材质表面在不同光照角度和观察角的实测数据并建立查找表,便于快速的查找和计算。
- 基于物理的模型(Physical-based Models):根据物体表面材料的几何以及光学属性建立反射方程,从而计算BRDF,实现极具真实感的渲染效果。
4.1 经验模型
特点:不考虑材质特性,仅提供反射光的粗糙近似;提供简洁的公式实现反射光线的快速计算;不一定满足物理定律。
常见的经验模型:
- Lambert漫反射模型
- Phong模型
- Blinn-Phong模型
- 快速Phong模型
- 可逆Phong模型
应用:参照实时渲染学习(三)图形渲染与视觉外观中着色方程的环境分类、漫反射分量和镜面反射分量计算。
4.2 数据驱动模型
度量较大的BRDF材质集合,并将其记录为高维向量,利用降维的方法从这些数据中计算出一个低维模型,这样基于查表的方式,可以直接找到渲染结果,省去大量的实时计算。但是,没有可供调整效果的参数,无法基于这些数据修改成想要的效果。
4.3 基于物理的模型
用数学建模的方式模拟物体表面各种材质散射光线的属性从而渲染照片真实图片的技术。基于物理的BRDF要必须满足至少如下两条BRDF的特性:能量守恒、亥姆霍兹光路可逆性。
常见的基于物理的模型有:
- Cook-Torrance 微平面着色模型:引入菲涅尔反射
- Ward BRDF模型:各向异性的BRDF,反射比随着与某个给定方向的表面法向之间的夹角而变化
五、基于物理的BRDF理论基础
5.1 次表面散射 Subsurface Scattering
当光线半透明的物体时,光线一部分被反射、一部分被吸收,还有一部分经历投射。次表面散射,Subsurface Scattering,简称SSS(3S),是指光射入表面,在材质里散射,然后从与射入点不同的地方射出表面的现象。
5.2 菲涅尔反射 Fresnel Reflectance
菲涅尔方程,用于描述光在两种不同折射率的介质中传播时的反射和折射的光学方程。
菲涅尔反射指,当光入射到折射率不同的两个材质的分界面时,一部分光会被反射,而我们所看到的光线会根据我们的观察角度以不同强度反射的现象。
简单来说,视线垂直于表面时,反射较弱,而当视线并非垂直表面时,夹角越小,反射越明显。因此,影响菲涅尔反射的关键参数在于每个微平面的和。
5.3 微平面理论 Microfacet Theory
微表面理论假设表面是由不同方向的微小细节表面,也就是微平面(microfacets)组成。每一个微小的平面都会根据它的法线方向在一个方向上反射光线。
法线分布函数(Normal Distribution Function,简写为NDF),来描述组成表面一点的所有微表面的法线分布概率。即向NDF输入一个朝向,NDF会返回朝向是的微表面数占微表面总数的比例,比如有8%的微表面朝向是,那么就有8%的微表面可能将光线反射到方向。
NDF函数:
六、BRDF及其引申
6.1 BSSRDF
BSSRDF(Bidirectional scattering-surface reflectance distribution function,双向表面散反射分布函数)。BSSRDF描述了射出辐射率与入射通量之间的关系,BRDF是BSSRDF的近似。考虑了物体表面不一致的情况,因为随着位置的变化,反射系数也会发生变化。
6.2 SBRDF(SVBRDF)
一个捕获基于空间位置BRDF变化的函数被称为空间变化的BRDF(Spatially Varying BRDF ,SVBRDF)或称空间BRDF,空间双向反射分布函数(Spatial BRDF ,SBRDF)。
6.3 BTDF与BSDF
为了处理光线传播的问题,对物体表面定义了两个BRDF和两个BTDF(T表示传播“Transmittance”),每侧各有一个,这样就组成了BSDF(S表示散射“Scattering”)。
后记
之前看图形学的数看到BRDF都直接跳过了,虽然知道很重要但是觉得看起来很负责很麻烦,今天通过本专栏的学习对BRDF有了一个浅显且大概的认识,收获很多。