目录
Blinn-Phong反射模型-高光
Blinn-Phong反射模型-环境光照
Blinn-Phong反射模型
Blinn-Phong反射模型-高光
我们在lecture7的时候讲了这个Blinn-Phong反射模型的漫反射部分,现在我们继续讲Blinn-Phong反射模型的高光部分
这个高光是怎么产生的呢,我们说当这个物体的表面非常光滑的时候,光照射过去这个表面就会特别亮,就是这么个道理,但是没有绝对光滑的物体,除了三体里面那个强作用力聚合的中子水滴,所以反射光线就不一样绝对沿着镜面反射的方向,如下图中的R,所以这个高光会出现在R的附近也就是黄色区域,而且这个高光是和我们的观察方向密切相关的,这和上次讲到的漫反射不同,只有这个观察方向v和反射方向R比较接近的时候才能看到高光
然后我们再定义一个半程向量h,这个h向量是光源方向l和观察方向v的角平分线的方向向量,那么可以知道当R和v比较接近的时候,n和h也比较接近,也就是说我们可以通过n和h的接近程度来衡量看到的高光程度,类似的我们可以得出一个计算高光的式子,因为方向向量都是单位向量,所以余弦值就等于方向向量的点乘结果
这里我们为什么要用n和h来衡量而不直接用R和v呢,其实用R和v衡量的也有,叫phong反射模型,我们这里讲的是Blinn-Phong反射模型,是Phong反射模型的一个改进,那为什么是改进呢,主要是因为h的计算更加简单,直接将v和l相加单位化即可,而R则需要通过反射算子来计算,
那为什么还有一个指数p呢,主要是因为这个余弦值的容忍度太高了,这个高光的变化不明显,不能明明n和h离的比较远也有高光吧,所以要让这个高光出现的范围变小,而加上一个指数运算就可以加剧这个变化的程度
下面这个图就可以看出p和高光的变化,当这个p变大的时候,高光部分就会缩小
Blinn-Phong反射模型-环境光照
然后Blinn-Phong反射模型我们已经讲了漫反射部分和高光部分,还有一个环境光照部分,我们已经知道这个环境光照部分的光源是周围环境的反射光,它的方向是四面八方的,这里呢,我们假设这个环境光的强度是固定的,也不管是从哪来的,反正就是这个强度的光,然后也和观察方向没关系,从哪看都是这个样子,当然还存在一个吸收率,所以环境光La=Ka×Ia
Blinn-Phong反射模型
到这里Blinn-Phong反射模型就讲完了三个部分了,有环境光、漫反射和高光部分