2010-08-30 70 views
2

我正在开发一款适用于Android的游戏,并使用OpenGL ES 2.0进行游戏。现在我想添加对没有OpenGL ES 2.0支持的设备的支持,并改用OpenGL ES 1.0。检测可用的OpenGL ES版本

我的问题是,我似乎无法检测到正确的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”

+1

您提交的代码仅返回您输入的值。它没有给你任何有关OpenGL的信息。 – ADB 2011-01-29 15:21:02

回答

1

这可能是过于简单的事情,但为什么不只是尝试ES 2.0在错误陷阱,然后回落到1.0,如果它无法加载?

+0

这个建议可以像这样实现:http://developer.android.com/resources/articles/backward-compatibility.html – 2011-03-29 03:06:28