Android运行OpenGL ES 1.1还是1.0?

时间:2010-01-12 05:13:16

标签: android opengl-es

我正在开发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可用,我需要链接哪些内容才能获取它或者我需要更改哪些内容才能获得它?

3 个答案:

答案 0 :(得分:11)

如果您想在所有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" />

答案 1 :(得分:4)

Android文档说(3D with OpenGL):

  

最后请注意,尽管Android确实包含对OpenGL ES 1.1的一些基本支持,但支持不完整,此时不应该依赖。

我猜这与NDK相同。

答案 2 :(得分:1)

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

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