我转换屏幕坐标为世界使用访问项目和模型视图矩阵中的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必须自己照顾矩阵。 –