我正在将GLU gluUnproject方法移植到现代OpenGL中。我通常理解它背后的算法,但我的问题是为什么我们需要模型视图矩阵?它可以只是视图矩阵吗?我们取消投影屏幕坐标进入世界空间,为什么我还需要提供一些对象的模型矩阵(作为模型视图的一部分)?或者我可能误解了如何使用该方法?我从未真正使用过固定管道。
答案 0 :(得分:1)
gluUnproject通常被描述为从屏幕空间(后面)到对象空间的转换坐标。但是,您可以随时使用您喜欢的任何矩阵进入其他空间,因此只需使用视图矩阵就可以获得您似乎关心的世界空间值。 GL的固定功能管道从未明确地使用过世界空间,并且总是直接在模型和视图矩阵的组合上工作。