Android 上的 Opengl ES:如何使用 gluUnProject?

Posted

技术标签:

【中文标题】Android 上的 Opengl ES:如何使用 gluUnProject?【英文标题】:Open GL ES on Android: how to use gluUnProject? 【发布时间】:2010-10-09 23:05:23 【问题描述】:

我正在尝试将窗口坐标转换为对象坐标。 GLU 类中有一个 gluUnProject,它需要当前的模型视图, 投影矩阵和视口。

我的问题是如何获得这些矩阵?我试过 gl.glGetIntegerv (GL11.GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES,模型,0);和 ((GL11) gl).glGetFloatv(GL11.GL_MODELVIEW_MATRIX, modelf, 0); 但第一个返回一个零数组,另一个只是 显示“方法未实现”错误。

gluUnProject 是否是用于此目的的正确方法(即窗口 坐标 --> 对象坐标)?

【问题讨论】:

【参考方案1】:

您无法获取矩阵,因为 android 目前提供的是 GLES 1.0,而不是 GLES 1.1,因此不支持 1.1 的所有各种 glGet* 函数。

【讨论】:

谢谢,我最终自己跟踪了矩阵。【参考方案2】:

您可以在 SDK 提供的示例中找到 MatrixGrabber。您可以使用 MatrixGrabber(内部跟踪矩阵)来获取模型视图和投影矩阵。

【讨论】:

以上是关于Android 上的 Opengl ES:如何使用 gluUnProject?的主要内容,如果未能解决你的问题,请参考以下文章