2017-07-03 85 views
0

我有這個需要將屏幕座標轉換爲世界座標的AR項目。我遵循this tutorial,我幾乎做到了。在圖形編程中獲取相機空間的寬度和高度

當我嘗試從齊次剪輯空間轉換到眼圖空間時,唯一的問題是我使用了錯誤的投影矩陣。投影矩陣錯誤的原因是因爲我無法獲得相機空間的正確寬度和高度。我使用這個名爲Kudan的庫,當我向前和向後移動照相手機時,我預計照相機的寬度和高度會發生變化,因爲照相機的空間尺寸在向前移動時會變小,反之亦然。

對於最後的手段,目前我試圖自己找到相機空間大小,我該如何實現?

這是我的投影矩陣

Matrix4f projectionMatrix = new Matrix4f(-0.5f* currentCamWidth, 0.5f * currentCamWidth, -0.5f * currentCamHeight, 0.5f * currentCamHeight, -1f, node.getFullPosition().getZ()); 

電流凸輪寬度和當前凸輪高度是總是恆定的。座標是OpenGL的座標

+0

相機空間沒有寬度/高度。你得到的最接近的是FOV和長寬比。 –

+0

如何獲得fov? –

+0

我們可以從長寬比中得到投影矩陣嗎? –

回答

0

當我向前移動相機手機和落後,我希望由於相機空間大小

爲什麼相機的寬度和高度的變化?僅僅因爲你的觀點並不意味着「虛擬鏡頭」的特性發生了變化。

當它向前移動時應該變小,反之亦然。

爲什麼?這不是照相機的工作原理。


這裏很難給出一個有用的答案,沒有看到你迄今爲止寫的代碼。目前它是最好的猜測。

+0

我只是在尋找理論,你是否熟悉kudan? –

+0

現在,我知道對象在相機空間中的位置,當我調整我的相機空間時,讓我的相機屏幕角落中的對象。對象的座標與我的屏幕大小不一樣。 –

+0

基本上,我試圖將我的屏幕座標轉換爲相機空間座標。但不知道相機座標的大小,這是不可能的。 –