# 微表面理论(三)
# 7. 几何衰减因子
# 7.1 定义
一束光线照射到微平面上,在到达之前或者反射之后,有可能被其他微平面阻挡,这种阻挡造成族中出射光线的衰减,可以用几何衰减因子
# 7.2 Torrance-Sparrow
以入射光线被阻挡为例,计算衰减因子
根据上图可知
根据正弦定理
联立以上两式,可以得到入射光线的有效比例为
其中
所以可以求得
同理,反转
所以光线受几何衰减因子的影响共有三种可能性,完全不受影响,照射光被阻挡,反射光被阻挡,最终的表达式为
# 7.3 Schlick-Beckmann
在Unreal Engine中,使用了这种模型,在这种模型中
在原始的Schlick算法中,定义
在Unreal实现中,调整为
根据所计算的光源的不同,
使用直接光源时,
# 8. 菲尼尔反射方程
# 8.1 定义
当入射光线碰到一个反射平面时,菲尼尔反射方程会根据观察角度计算出反射光线所占的比例。当光线垂直入射时,材质反射的光线的比例称为基础反射率(Base Reflectivity),一般用
# 8.2 Schlick
菲涅尔方程是一个相当复杂的方程式,一般用Fresnel-Schlick近似:
在Mathmatica中模拟
在Unreal引擎中,使用了一个模拟运算以加快速度
# 8.3 导体和绝缘体
对于大多数绝缘体(非金属),
对于导体(金属),
其中$$Metalness$$表示金属度,0表示存粹的绝缘体(非金属),1表示导体(金属)