标准光照模型(Phong模型)

1975年裴祥风(Phong模型)标准光照模型只关心直接光,经过物体一次反射进入相机的光线。

只关心直接光,进入相机的光线由四个部分组成:

1.自发光(emissive):给定一个方向,该物体朝这个方向发出多少光,在没有开启全局光照的时候,自发光物体不会照亮其它物体,只是自身看起来更亮。

2.环境光(ambient):标准光照模型下场景中所有物体采用同一个相同的环境光变量,是一个固定值。在unity中就是在light setting中的环境光设置。

3.漫反射(diffuse):遵循兰伯特模型,对于一个 入射光线,反射光线的强度与表面法线和光源方向之间的夹角的余弦值成正比。

             Cdiffuse = Clight * Md * max(0,N * I) Md是漫反射系数,N是标准化的法线,I是指向光源的标准化矢量

           半兰伯特模型是一种光线增强技术:Cdiffuse = Clight * Md *((0.5 * N * I)+ 0.5) 

4.高光反射(specular):产生镜面反射的光线

           Phong模型:

 Cspecular = Clight * Mspecular * pow(max(0,r * v),Mgloss)其中Mspecular是高光反射系数,Mgloss表示高光光斑的大小,值越大光斑越小。

            其中r为反射光线,当I为顶点指向光源的矢量,则r = 2*N*(N*I) - I   

            其中v为物体指向相机的方向

            Blinn-Phong模型:

由于反射光线的计算比较耗时,所以Blinn提出采用视角和指向光源的向量的和向量与法线的夹角来计算高光

  Cspecular = Clight * Mspecular * pow(max(0,N * normalize(v+I))

 

你可能感兴趣的:(游戏图形学相关)