# 微平面理论(二)
# 6. 法线分布函数详解
# 6.1 归一化约束
所有的法线分布函数都应该符合以下约束
可以理解为,这些为平面在某个指定方向上的投影面积,等于整体宏平面的投影面积
当
# 6.2 Phong
Phong模型认为,反射强度正比于
由上面法线分布函数的归一性可知
由于
可以得到最终D函数为
一般引擎用粗糙度(取值范围[0,1])表示材质的光滑程度,Phong模型中的
用Mathmatica绘制函数图
# 6.3 Beckmann
Beckmann的法线分布函数为
经过积分计算
Beckmann法线分布函数中,
当
# 6.4 Trowbridge-Reitz(GGX)
这个模型又被称为GGX模型,是UnrealEngine采用的法线分布函数
经过积分
在Mathmatica中的模拟
可以看出,当
和Phong模型比较,可以看出在粗糙度小于0.4时,ggx和phong模型比较类似,当粗糙度大于0.4时,ggx的表现更“平顺”一些,高光中心更集中,但长尾区域更长。
在Unreal实现中,定义了