我正在为 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”
最佳答案
这可能过于简单化了,但为什么不先在错误陷阱中尝试 ES 2.0,然后在加载失败时回退到 1.0?
关于java - 检测可用的 OpenGL ES 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604172/