Phong模型让物体看起来具有塑料感,需要其他模型来得到更精确的金属和高光材质。高光的颜色取决于材质类型,比如白色适合塑料,金属类导体的高光颜色最好是和材质颜色一样。
1、Ward反射模型
有各向同性和各向异性两种形式。
两种形式下的漫反射分量都是常数。
下面是各向同性的形式。
sigma是材质的粗糙度(常数)
效果:
roughness=0.25
下面是各向异性的形式。
sigma是材质的粗糙度(表面两个垂直方向上的各不相同)
效果:
roughX=0.9,rough=0.1
2、Schlick反射模型
该模型的效果和Phong模型相似,但是由于去掉了指数项,使得其计算速度更快。
效果
n=7
3、Cook-Torrance反射模型
专门将BRDF应用到金属材质上。
该模型将材质表面描述成一系列微型平面组成,其将光线反射到各个不同方向,一些微型平面可能阻挡光线射入附近其他微型平面(即阴影),或者组织光线离开附近其他微型平面(即遮罩),模型还集成了Fresnel项,用来控制不同入射光线的反射光线的量。
D,G,F分别控制不同的效果。
a、几何项(G)
控制微型平面之间的阴影和遮罩效果,决定在特定方向上高光反射的量。
b、菲涅尔项(F)
决定每一个微型平面的反射量和金属材质的外观。
在一些场合中,可以将需要的值放在纹理中以供查询,而不是用公式去计算。
c、粗糙度项(D)
描述表面的粗糙度,即微型表面的粗糙度分布。
效果:
r=0.5,c=0.5,m=0.5
其中 F项用F=r+(1-r)*(1-NdotL)^5代替