一.法向量与光照计算:
1.计算法向量:(U,V的顺序相当重要,取决于坐标系类型,这里为左手坐标系,即将左手大拇指指向法向量,四指环绕的方向决定了U,V的顺序为顺时针)
2.向量叉积:(用于计算法向量,U,V的顺序决定了V1,V2,从而决定了叉积的顺序)
![.png](http://upload-images.jianshu.io/upload_images/8760155-0f6ff2fabbc05db1.png?imageMogr2/auto-orient/strip%7CimageVi[图片上传中...(image.png-c83113-1513330632257-0)]
ew2/2/w/1240)
二.diffuse光照模型:
1.diffuse包含两个部分:diffuse(漫反射)+ambient(环境光)
2.N(normal法线)和L(lighting环境光),dot(N,L)为计算向量N,L的点积,反应了cos(a)的数值
3.diffuse中最重要的几个点:
三.specular镜面反射模型
1.计算反射向量R的方法(unityCG函数库中reflect函数可用)
四.phong模型,即环境光+漫反射+镜面反射模型
漫反射需要一次点积,镜面反射求反射向量时也要进行一次点积,但是下面的模型求镜面反射时不需要求反射向量,而是通过用入射向量(光)与平面指向摄像机的向量的和H来计算H与N的夹角,夹角越小,镜面反射越强
五.blinnPhong模型,即在phong基础上进行一次点积优化的模型
六光照贴图(Lightmapping):
参考自https://www.cnblogs.com/tgycoder/p/4853534.html
Lightmapping光照贴图技术是一种增强静态场景光照效果的技术,其优点是可以通过较少的性能消耗使静态场景看上去更加真实,丰富,更加具有立体感;缺点是不能用来实时地处理动态光照。当游戏场景包含了大量的多边形时,实时光源和阴影对游戏的性能的影响会很大。这时使用Lightmapping技术,将光线效果预渲染成贴图使用到多边形上模拟光影效果。