我下载了 Android NDK r9 并编译了一个示例应用程序。我有一部升级到 Android 4.3 的 Galaxy Nexus 智能手机。
如何以编程方式确定我的设备是否支持 OpenGL ES 3?
我下载了 Android NDK r9 并编译了一个示例应用程序。我有一部升级到 Android 4.3 的 Galaxy Nexus 智能手机。
如何以编程方式确定我的设备是否支持 OpenGL ES 3?
答案在Android OpenGLES 文档中。本质上,尝试创建一个 3.0 EGLContext
,如果失败,您知道不支持 3.0 。
该页面还显示了另一种方法:为较低级别(1.x 或 2.x)创建上下文并使用它来调用glGetString(GL_VERSION)
. 如果版本字符串表明支持 3.x,您将销毁该上下文并创建一个新上下文。
更新:这种方法可以在Grafika 的 EglCore类中看到。FLAG_TRY_GLES3
遵循传递给构造函数时发生的情况。