【问题标题】:Android runs OpenGL ES 1.1 or 1.0?Android 运行 OpenGL ES 1.1 还是 1.0?
【发布时间】:2010-01-12 05:13:15
【问题描述】:

我正在为 Android 开发本机应用程序,并且我正在尝试使用 glIsEnabled 等似乎仅在 OpenGL ES 1.1 中可用的功能。 Google 的文档声称 NDK 1.6R1 支持 OpenGL ES v1.1,但函数调用失败并显示“未实现的 Open GL ES API”,如果我执行 glGetString(GL_VERSION),它会返回“OpenGL ES 1.0 CM”作为版本。

因此,如果 1.1 可用,我必须链接什么才能获得它,或者我需要更改什么才能获得它?

【问题讨论】:

    标签: android opengl-es


    【解决方案1】:

    如果您想在所有 Android 设备上运行,则不能指望任何高于 OpenGL ES 1.0 的版本。但是如果你绝对需要一些 OpenGL ES 1.1 方法,你可以在你的清单文件中定义一个 minGLVersion,它会阻止人们在不受支持的设备上下载它。看起来像这样:

    // the high 16 bit define the Major Version,
    // the low 16 bits define the Minor Version,
    // so this is OpenGL ES 1.1
    <uses-feature android:glEsVersion="0x00010001" />
    

    【讨论】:

      【解决方案2】:

      Android 文档说 (3D with OpenGL):

      最后,请注意,虽然 Android 确实包含对 OpenGL ES 1.1 的一些基本支持,但支持不完整,目前不应依赖。

      我猜这与 NDK 相同。

      【讨论】:

        【解决方案3】:

        如果您使用 NDK 创建使用 OpenGL ES API 的本机库,则包含该库的应用程序只能部署到运行下表所述最低平台版本的设备。

        OpenGL ES 版本兼容的 Android 平台 必需的 uses-sdk 属性 OpenGL ES 1.1 Android 1.6 及更高版本 android:minSdkVersion="4" OpenGL ES 2.0 Android 2.0 及更高版本 android:minSdkVersion="5"

        【讨论】:

          猜你喜欢
          • 2011-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多