2010-08-30 67 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