相关疑难解决方法(0)

glGetString(GL_VERSION) 返回“OpenGL ES-CM 1.1”,但我的手机支持 OpenGL 2

我正在尝试制作一个基于 NDK 的 OpenGL 应用程序。在我的代码中的某个时刻,我想检查设备上可用的 OpenGL 版本。

\n\n

我正在使用以下代码:

\n\n
const char *version = (const char *) glGetString(GL_VERSION);\nif (strstr(version, "OpenGL ES 2.")) {\n    // do something \n} else {\n    __android_log_print(ANDROID_LOG_ERROR, "NativeGL", "Open GL 2 not available (%s)", version=;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是版本字符串始终等于"OpenGL ES-CM 1.1"

\n\n

我正在 Moto G (Android 4.4.4) 和 Samsung Galaxy Nexus (Android 4.3) 上进行测试,两者都兼容 OpenGL ES 2.0(moto G 也兼容 OpenGL ES 3.0)。

\n\n

EGL_CONTEXT_CLIENT_VERSION我尝试在初始化显示时强制执行,但随后eglChooseConfig 返回 0 个配置。当我在默认配置中测试上下文客户端版本值时,它始终为 0 :

\n\n
const EGLint attrib_list[] = {\n        EGL_BLUE_SIZE, …
Run Code Online (Sandbox Code Playgroud)

android opengl-es android-ndk

5
推荐指数
1
解决办法
5352
查看次数

标签 统计

android ×1

android-ndk ×1

opengl-es ×1