检测可用的OpenGL ES版本

时间:2010-08-30 20:57:24

标签: java android opengl-es

我正在为Android开发一款游戏,我使用的是OpenGL ES 2.0。现在我想添加对没有OpenGL ES 2.0支持的设备的支持,而是使用OpenGL ES 1.0。

我的问题是我似乎无法检测到正确的OpenGL ES版本。我在SDK中使用了这个例子,但它只是在我的Legend上返回0。

这是我尝试过的:

    ActivityManager am = (ActivityManager) getSystemService(getApplication().ACTIVITY_SERVICE);
    ConfigurationInfo info = am.getDeviceConfigurationInfo();

    String eglVersion = info.getGlEsVersion();
    if (eglVersion == "2.0") GameLibrary.load_gl20();
    else GameLibrary.load_gl10();

(GameLibrary是一个包含一些本机方法的类,而load_glxx是调用System.loadLibrary()的静态方法,具有右opengl ES版本的特定库) 问题是我之前说的,info.getGlEsVersion()返回“0.0”

2 个答案:

答案 0 :(得分:1)

这可能过于简单了,但为什么不在错误陷阱中首先尝试ES 2.0,如果加载失败则再回到1.0?

答案 1 :(得分:0)

尝试使用glGetString(GL_VERSION)