最近几天才发现这套课程,想回来重新巩固下知识点,还没仔细看代码。
首先向量eye_pos-position的意义是这个顶点Vertex到eye的向量,如果是-position,那就成原点到顶点的向量了。
乘以view矩阵是让顶点进入了view space,那么顶点现在对应的原点的确是eye的位置,如果是这样的话,那其实是不正确的。
一般写Specular代码的时候在Vertex Shader会保留一个World Position,用顶点POS乘以world matrix,和经过world view projection变换的顶点有所区别。 然后PosW传到Pixel Shader后再用这个PosW计算