Blin-Phong模型
- 反射部分(specular term)
与观察的视角方向和光源方向相关
这里的p是幂次,因为cos函数收敛不够快,效果无法将高光集中在小范围内,因此加上幂次。p一般值在100-200之间
- 环境光部分(ambient term)
当作常数处理,与视角和光源无关
Blin-Phong光照模型则有这三者加和得出
Shading Frequencies
- Shading Each Triangle(Flat Shading)
面上所有像素用同样一个法线,一个三角形面进行一次shading
- Shading Each Vertex(Gouraud Shading)
对每个顶点进行一次shading,然后插值得到三角形面中每个像素的颜色
获取顶点法线的方法:
最好是可以找到外接圆,然后通过圆心到顶点的向量作为法向量
但一般会使用周围每个面的法向量根据面积大小加权平均
- Shading Each Pixel(Phong Shading)
对三角形面中每个像素插值求得法向量,对每个像素都进行一次shading(注意区分这里是着色频率,而不是着色模型)
获取每个像素法向量的方法:
重心坐标插值(Barycentric interpolation)
Graphics Pipeline
将数据渲染到场景的过程就叫Pipeline
给物体表面的不同顶点赋予不同颜色的一张图即是纹理(texture)
纹理坐标为(u, v),取值范围在0-1之间。