2010-07-26 131 views
0

使用Iphone和Objective C 我試圖找到在我的opengl視圖中點擊/觸摸了哪個平面。通常我會使用glPushName/flPopName,但是這個函數似乎沒有在sdk中實現或定義在。有誰知道去哪裏獲得有用的功能或其他方式來獲得被點擊的對象?Iphone opengl es - glu,glPushName

回答

2

OpenGL ES不支持這些功能。你必須找到另一種選擇。或者:

  1. 將具有不同顏色的實心面渲染到低分辨率緩衝區中。選擇渲染緩衝區分辨率,使拾取平方佔據3x3像素網格,選擇中心像素的顏色或佔據最邊緣像素的顏色。

  2. 確定幾何選擇。這通常需要將幾何圖形放置在某種類型的BSP中,並使用從拍攝像素開始向下射入屏幕的光線進行斷層測試。

  3. 分析確定選擇。如果幾何圖形很簡單並且/或者足夠規律,那麼您可以使用一些簡單的數學來找出您點擊的內容。

+0

我認爲選擇1也許是最適合我 - 在這裏描述: http://gpwiki.org/index.php/OpenGL_Selection_Using_Unique_Color_IDs – yeahdixon 2010-07-26 23:02:36