我轉換屏幕座標爲世界使用訪問項目和模型視圖矩陣中的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。任何幫助將非常感激。謝謝。
我轉換屏幕座標爲世界使用訪問項目和模型視圖矩陣中的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。任何幫助將非常感激。謝謝。
當然這在OpenGL ES 2.0中是可行的。唯一的區別是你不必使用glGetFloatv(GL_MODELVIEW_MATRIX,array)來拉矩陣,但是你的代碼中有矩陣計算,因爲OpenGL ES 2.0不再具有諸如glRotatef()glTranslate()等函數。這就是爲什麼你使用Android類,稱爲矩陣可以爲你做這些計算。將矩陣傳遞給gluUnProject()非常簡單。
是的,但顯然OP沒有意識到Matrix類:) http://developer.android.com/reference/android/opengl/Matrix.html – Erik
在Android中使用opengles 2時,你可以自己跟蹤你的矩陣,通常是一對float []。如果你直接在着色器中計算它們,我認爲你不能得到它們。 – Jave
我開始懷疑GLU.gluUnProject()是否可用於opengl es 2.0上下文。 –
不,它不可用,正如Jave所說,OpenGL es 2.0必須自己照顧矩陣。 –