我正在調用gluUnProject(應用程序使用GLES20)。對於我的生活,我無法獲得我正在尋找的價值。gluUnProject - 無法獲得正確的值
我有一個對象在(-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),這對我來說並不合適。在任何計算中我都找不到這個值。我一遍又一遍地玩弄數字,不能一起工作。我在這裏錯過了什麼?
我不能計算深度?我的近平面是3,我的遠平面是100,我知道所有物體的確切位置,因此我可以計算從一個物體到任何其他物體的距離,以及距離遠近平面的距離。 。 – Brad
你在找什麼?如果你想要物體與相機的距離,只要做(v1-v2).length()... – Calvin1602
我想我是在假設我可以計算一個物體的深度並測試它,而不是測試許多深度以檢查交叉點。所以現在我只是調用一些不同的深度並檢查交叉點。 – Brad