Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 结果出现上下颠倒,怎么办?只加一个负号即可 Reply To: 结果出现上下颠倒,怎么办?只加一个负号即可

#9518 Score: 0
仲谨
Participant

首先我们在求投影矩阵的时候是以看向﹣Z方向去进行计算的。
意思就是说在调用get_projection_matrix函数的时候,虽然传入的zNear和zFar为正数,我们需要转换为负数计算(这一点前两次作业的三角形的世界坐标z值为负可以证明)。
其次,为什么楼主说top加个符号就可以?
因为在rst::rasterizer::draw函数里面的前两行,计算f1和f2时使用的50和0.1写死了,与我们计算投影矩阵相违背。
所以,你可以试试把f1和f2改为负值,发现top不改变也会正确了。