1. 检查系统是否支持GLES3.0
检查系统支持的OpenGL版本的方法有一下几种方法:
- 查看EGL版本, 1.4以上
- EGL 查询Client版本号
GL_VERSION
GL_SHADING_LANGUAGE_VERSION
1.1 EGL版本检查
此方法适用于创建EGLContext阶段。
要支持GLES3.0 要求EGL版本在1.4以上。
EGL初始化的时候会返回EGL的版本信息,根据此版本选择合适的GLES版本号,具体代码如下:
if (!eglInitialize(m_display, &major, &minor)) {
return XR_EGL_BAD_DISPLAY;
}
LOGI("eglInitialize: major: %d, minor: %d", major, minor);
if (minor >= 4 && s_nGLVersion >= 3) {
nGLRenderType = EGL_OPENGL_ES3_BIT_KHR;
} else {
nGLRenderType = EGL_OPENGL_ES2_BIT;
s_nGLVersion = 2;
}
...
EGLint attribList[]{
EGL_CONTEXT_CLIENT_VERSION, s_nGLVersion,
EGL_NONE
};
m_context = eglCreateContext(m_display, config, sharedContext, attribList);
1.2 EGL 查询Client版本号
int clientVersion;
eglQueryContext(m_display, m_context, EGL_CONTEXT_CLIENT_VERSION, &clientVersi