02 - 着色频率
着色频率(Shading Frequencies)
着色也分频率:每平面着色,每顶点着色和每像素着色。
着色频率取决于模型精度,模型精度越高(三角形面数多),着色频率可以越低。
平面着色(Flat Shading)
对每个三角形面进行着色,面的法向量可由三角形两条边叉乘得到。
计算快,但效果不怎么好(不光滑)。
顶点着色(Gouraud Shading)
对每个顶点进行着色,三个顶点定义一个三角形,其内部的点通过插值(interpolate)实现着色。
那么顶点的法向量该怎么求?
注意到一个顶点可能会被几个三角形面共用,将所有共享这个点的面的法线向量加起来求均值,最后再标准化就得到了该顶点的法线向量了:
为了更加准确,这个均值也可以是加权的,权为“这几个三角形的面积”,谁面积大,谁贡献就大,权也越大。
像素着色(Phong Shading)
对每个像素进行着色,效果好但计算量大。
那么每个像素的法向量怎么求?
假设我们知道了每个顶点的法线,那么三角形内部平滑过渡的法线可以通过插值得到。
参考资料
GAMES101-现代计算机图形学入门
计算机图形学五:局部光照模型(Blinn-Phong 反射模型)与着色方法 - 知乎 (zhihu.com)
计算机图形学六:透视矫正插值和图形渲染管线总结 - 知乎 (zhihu.com)