我正在打电话给 gluUnProject(应用程序正在使用 GLES20)。对于我的生活,我无法获得我正在寻找的价值。
我在 (-9, 0, 0) 有一个对象,所以我需要 gluUnProject 的结果以某种方式等于它。相机位于 (0, 20, 4),近/远平面距离为 (3, 100)。我什至尝试在函数运行时打印出当前矩阵(在这种情况下,屏幕上触摸的像素位置是 (160, 345),非常接近对象的位置):
win: (160,345,0.0)
model: (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0)
viewport: (0, 0, 1280, 720)
proj: (0.5625, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.020202, -1.0, 0.0, 0.0, -2.020202, 0.0)
近平面:
obj: (-1.3333333, -0.041666687, -1.0, 1.0)
final: (-1.3333333, -0.041666687, -1.0)
远平面:
obj: (-1.3333333, -0.041666687, -1.0, 0.00999999)
final: (-133.33345, -4.1666727, -100.0001)
我应该在这里使用为 Z 值计算的东西吗?如果我提供大约 0.864 的值,我会得到大约正确的 X 值 (-9),这对我来说真的没有意义。我在任何计算中都找不到这个值。我一遍又一遍地玩这些数字,但不能让它们一起工作。我在这里想念什么?