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?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定Android OpenGL ES上的最大纹理内存

如何在 Android 中将 OpenCV 旋转和平移矢量与 OpenGL ES 一起使用?

在 Android 上的 OpenGL ES 2.0 中使用 VBO/IBO

Android设备上的OpenGL ES 2.0扩展[关闭]

使用 Android 上的 OpenGL ES 2.0,在帧缓冲区上渲染时是不是可以保留多重采样?

如何在Android上使用OpenGL ES 2.0绘制点