2010-12-09 76 views
0

由於沒有一個簡單的方法來解決,如果您點擊了3d世界中的對象,我決定構建自己的函數來做到這一點,這將是非常簡單Iphone OpenGL:獲取對象的位置/當前身份

到目前爲止,我正在做的是創建一個正方形,即使我移動或旋轉,它總是在我面前一點點。

然後我想知道的是,對象現在位置在3d空間?

我認爲這會給我新的位置

GLfloat matrix[16]; 
glGetFloatv(GL_MODELVIEW_MATRIX, matrix); 

要堅持在我面前的物體,我做了以下

glTranslatef(eye[0], 1 , eye[2]); 
glRotatef(-rotation, 0, 1, 0); 
glTranslatef(0, 0 , 10); 

這種運作良好:)

問題是

何我能得到我擺在我面前的廣場的位置(在我面前10分)。我想要世界x,y,z座標

+0

問題是? – Bart 2010-12-09 13:58:24

+0

在StackOverflow上搜索相關標籤[opengl] [picking]。 – Kos 2010-12-09 14:41:37

回答

1

爲了獲得屏幕空間中某點的當前世界空間座標,您可以使用gluUnProject函數。這對你來說會派上用場。

還有gluProject以相反的順序進行此操作。