相关信息
微平面理论将粗糙的平面建模成为一组微平面的集合,每一个单独的微平面都非常小,无法被相机分辨,然而这些微平面的集合对于散射光的角度分布却有着巨大的影响。

微平面模型主要由两部分组成:
- 微平面的法线统计分布
- 微平面的 BSDF
除此之外,以下三个因素也会对光的散射产生影响:遮挡、阴影和微平面间的反射


微平面的法线统计分布 NDF D(m) 表示法线等于 m 的微平面占所有微平面总面积的百分比,则 D(m)(n·m) 表示法线等于 m 的微平面占投影后总面积的百分比,因此 NDF 满足如下性质
NDF 性质 1
∫m∈ΘD(m)(n⋅m)dm=1
更一般地,投影到任意方向 v 满足如下性质
NDF 性质 2
∫m∈ΘD(m)(v⋅m)dm=v⋅n
另外我们可以看到,存在许多重叠的微平面会投影到同一个区域,正负相互抵消之后我们只关心可见的那一个微平面(即最接近投影平面的那一个)。我们定义遮挡函数 G₁(m,v) 表示在所有法线等于 m 的微平面中,在 v 方向上可见的微平面所占的比例,则有
NDF 性质 3
∫m∈ΘG1(m,v)D(m)(v⋅m)+dm=v⋅n
Heitz 证明了只有 Smith 遮挡函数和 Torrance-Sparrow "V-cavity" 函数满足以上性质且在数学上是有效的;进一步的,Heitz 还证明了只有 Smith 遮挡函数同时满足 normal-masking 独立性,即 G₁(m,v) 不依赖于法线方向 m 只要 m·v ≥ 0
Smith G₁ 函数
G1(m,v)=1+Λ(v)χ+(m⋅v)
其中
χ+(x)={1,0,where x>0where x≤0
Λ 函数对于每一个 NDF 都不同
注意
Smith 遮挡函数适用于随机表面,对于法线和遮挡有强依赖的表面(尤其是具有重复结构的表面,例如大多数织物),其准确性则会降低。
类似地,我们可以定义联合遮挡-阴影函数 G₂(l,v,m) 表示在所有法线等于 m 的微平面中,在 l 和 v 方向上都可见的微平面所占的比例
G₂ 函数有多种形式
- 分离式
提示
G2(l,v,m)=G1(v,m)G1(l,m)
该形式表示遮挡和阴影是不相关的事件,这是不符合现实的,因此会导致表面显示过暗
- 方向相关
当 v 和 l 之间的水平夹角等于 0 时,G₂(l,v,m) 应该等于 min(G₁(m,v),G₁(m,l)),则
提示
G2(l,v,m)=λ(ϕ)G1(v,m)G1(l,m)+(1−λ(ϕ))min(G1(v,m),G1(l,m))
该等式表示了在分离式和高度相关之间的线性插值
- 高度相关
高度越低的点被遮挡和阴影的概率越大,如果使用 Smith 遮挡函数,则可以用 Smith 高度相关遮挡-阴影函数来表示该关联
提示
G2(l,v,m)=1+Λ(v)+Λ(l)χ+(m⋅v)χ+(m⋅l)
- 方向和高度相关
提示
G2(l,v,m)=1+max(Λ(v),Λ(l))+λ(v,l)min(Λ(v),Λ(l))χ+(m⋅v)χ+(m⋅l)