我记得老师课上讲过,重心坐标会因为投影变换而改变,所以投影前后使用的重心坐标应该分别计算。
void rst::rasterizer::rasterize_triangle(const Triangle& t, const std::array<Eigen::Vector3f, 3>& view_pos)
这个函数的参数,t已经做过MVP变换,位于screen space,
但view_pos还未经过投影变换,只做了view 变换,所以还在view space。
那么在计算interpolated_shadingcoords时,对view_pos进行插值,是不是应该计算一次三维空间下的重心坐标。
This post has received 1 vote down.