和观察角度有关
Phong 重点在于计算 reflection
V 是观察角度 R 是反射方向
spec = pow(max(dot(V, R), 0.0), alpha);
Read More https://www.qiujiawei.com/lighting-1/
和观察角度有关
Specular Shading n 法向量 h 半程向量 p 是柔和衰减系数 h是观察方向和入射光方向的中间向量
相比 Phong 高光, Blinn-Phong 高光因为引入了半程向量, 更容易计算.
上面的 p 次方, 是为了柔和衰减
PS: 这里有个max(0, cosα) 是为了考虑光从平面下方打到平面的情况 我们只取大于 0 的值
PS: cosα 可以写成 法线n 点乘 半程向量h
PS: 另外需要说明的是入射光方向其实是指光源的方向,而不是光线的方向。
ka 可以认为是常量 也就是环境光的颜色 Ia 表示环境光的强度
平坦着色: 逐个三角形着色 Gouraud着色: 逐个顶点着色 (根据顶点做插值) (顶点求法线) Phong着色: 逐像素着色
顶点的法线
每个像素点的法线