【问题标题】:Set OpenGL ES version on Android (NDK)在 Android (NDK) 上设置 OpenGL ES 版本
【发布时间】:2011-08-09 10:59:15
【问题描述】:

我正在关注这些docs 并尝试将 OpenGL 版本设置为 1.1。但是当我在我的 C 代码中调用 glGetString(GL_VERSION) 时,它总是返回我

OpenGL ES-CM 1.0

我相信我应该在创建上下文(或表面)时指定版本,但我找不到任何 API。

我也遇到了这样的错误:

08-09 13:47:13.642: 错误/libEGL(567): 调用未实现的 OpenGL ES 接口

这也证明了使用OpenGL ES 1.0而不是1.1。

编辑:我应该注意,在设备上一切正常。该问题仅存在于模拟器上(在平台 2.2 和 2.3.3 上测试)

Edit2:在带有 Android 2.2.1 的 HTC Wildfire 上进行了测试,它还显示了 OpenGL 版本 1.0

【问题讨论】:

    标签: android opengl-es android-manifest android-ndk


    【解决方案1】:

    模拟器只实现了 1.0,所以这是意料之中的。您最终会获得硬件(或仿真器)支持的任何版本。

    在清单中,您只需指定您的应用所需的 GLES 版本。来自清单指南:

    声明的元素仅供参考,这意味着 Android 系统本身不检查匹配的功能支持 在安装应用程序之前在设备上。

    我应该注意到,模拟器确实实现了大多数 1.1 功能,例如 VBO 支持,所以你应该可以通过做一些小改动来测试你的应用程序。

    【讨论】:

    • 而且你在野火上只看到 1.0,因为它只支持 1.0:它使用相同的 pixelflinger / android gles 软件实现,因为它没有 gpu。
    猜你喜欢
    • 2021-04-03
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    • 2013-05-26
    • 2011-06-09
    • 2011-04-26
    • 2011-09-14
    • 1970-01-01
    相关资源
    最近更新 更多