2012-01-24 86 views
3

我轉換屏幕座標爲世界使用訪問項目和模型視圖矩陣中的OpenGL ES 2.0

GLU.gluUnProject(winX, winY, winZ, model, modelOffset, project, projectOffset, view, viewOffset, obj, objOffset) 

但是在OpenGL ES 2.0的座標,我對如何檢索模型視圖和項目矩陣不確定。我發現的所有示例僅適用於opengl es 1.0和1.1。任何幫助將非常感激。謝謝。

+0

在Android中使用opengles 2時,你可以自己跟蹤你的矩陣,通常是一對float []。如果你直接在着色器中計算它們,我認爲你不能得到它們。 – Jave

+0

我開始懷疑GLU.gluUnProject()是否可用於opengl es 2.0上下文。 –

+1

不,它不可用,正如Jave所說,OpenGL es 2.0必須自己照顧矩陣。 –

回答

0

當然這在OpenGL ES 2.0中是可行的。唯一的區別是你不必使用glGetFloatv(GL_MODELVIEW_MATRIX,array)來拉矩陣,但是你的代碼中有矩陣計算,因爲OpenGL ES 2.0不再具有諸如glRotatef()glTranslate()等函數。這就是爲什麼你使用Android類,稱爲矩陣可以爲你做這些計算。將矩陣傳遞給gluUnProject()非常簡單。

請參閱how to do Object detection in opengl Android?

+0

是的,但顯然OP沒有意識到Matrix類:) http://developer.android.com/reference/android/opengl/Matrix.html – Erik