着色2
一、高光(Specular Term)
(1)高光向量与光源向量是以法线为对称轴对称的。
(2)Blinn-Phong模型计算高光的能量
①Blinn-Phong模型引入光源向量l和观测向量v的半程向量h来方便计算。
②Blinn-Phong模型为简化模型,没有考虑物体会吸收能量。
③由于高光仅在很小一个范围内才能看见,因此引入惩罚项指数p。下面的函数图像可以看出带有指数的余弦函数的值。
(3)下图给出了高光系数ks和p值发生变化时的球体观测情况。
①该图像给出了高光和漫反射都存在的观测结果。
二、环境光(Ambient Term)
(1)环境光的相关定义
①环境光与光源和观测向量无关。
②环境光是一个常数(是某一种颜色)。
③本节学的环境光计算是一种简化的计算。
三、Blinn-Phong反射模型
(1)Blinn-Phong反射模型的单点着色=环境光着色+漫反射着色+高光着色
四、着色频率(Shading Frequencies)
(1)着色频率是指对某一片大小区域着色,考虑的是面。下面是三种不同着色频率对应的观察结果。
(2)三种不同着色频率的着色模型
①Flat Shading是逐三角形进行着色,每个三角形颜色一致。
②Gouraud Shading是逐顶点进行着色,每个三角形内根据三个顶点进行差值着色,看起来比较平滑。
③Phong Shading是逐像素点进行着色。
(3)三种着色模型的对比
①如果模型的顶点/面越多,三种着色模型的差距会变小直至相同。
②模型越复杂,前两种着色模型的效果会增强,但同时开销也会越大。
(4)如何计算顶点的法线?
①通常一个顶点都会属于多个平面,对这些平面的法线之和求平均即可得到顶点的法线。
②如果根据各个面的面积进行加权平均,效果会更好。
(5)如何计算像素的法线?
①已知两侧的顶点法线,使用重心坐标可以进行计算得到内部的各个点的法线。
②求各种向量最后记得归一化操作。
五、管线(Pipeline)
(1)管线指的是从模型到像素的整个绘制流程,可以看成是从模型到绘制成图的一个流水线。管线分为以下几步:
①顶点处理
②三角形处理
③光栅化
④像素处理
⑤混合所有的像素成一张图像
(2)注意点
①如果着色模型是Phong Shading,则着色步骤是在像素处理环节进行;如果着色模型是Gouraud Shading,则着色操作可以在顶点处理环节进行。
六、纹理映射(Texture Mapping)
(1)纹理映射在物体的不同位置定义不同的属性。
(2)一些定义
①任何一个三维物体的表面是二维的。
②我们可以把纹理看做一张图。
③在物体表面应用纹理可以理解为是对其进行贴图。
(3)纹理坐标系
①定义了一个纹理坐标系(u, v)。每个三角形都对应纹理坐标系上的一个位置。
②不同位置也可以映射到同一纹理,也就是说纹理可以被重复使用。
参考文献
课程视频链接: GAMES101 Lecture08 Shading 2