在OpenGL ES 2.0中访问项目和模型视图矩阵

4
我正在使用OpenGL ES 2.0将屏幕坐标转换为世界坐标。
GLU.gluUnProject(winX, winY, winZ, model, modelOffset, project, projectOffset, view, viewOffset, obj, objOffset)

然而,我不确定如何检索模型视图和项目矩阵。我找到的所有示例都只适用于opengl es 1.0和1.1。如果有帮助,将不胜感激。谢谢。


在Android中使用OpenGLES 2时,您需要自己跟踪矩阵,通常使用一对float[]。如果您直接在着色器中计算它们,我认为您无法获取它们。 - Jave
我开始怀疑GLU.gluUnProject()是否可用于OpenGL ES 2.0上下文。 - alex.m.brown
1
不,它不可用。正如Java所述,OpenGL ES 2.0需要自己处理矩阵。 - Maurizio Benedetti
1个回答

0

当然,这在OpenGL ES 2.0中是可能的。唯一的区别是你不必使用glGetFloatv(GL_MODELVIEW_MATRIX, array)来获取矩阵,而是在代码中计算矩阵,因为OpenGL ES 2.0不再有像glRotatef()、glTranslate()等函数。这就是为什么你要使用Android类Matrix,它可以为你完成这些计算。将你的矩阵传递给gluUnProject()非常简单。

参见如何在OpenGL Android中进行对象检测?


真的,但显然OP不知道Matrix类 :) http://developer.android.com/reference/android/opengl/Matrix.html - Erik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接