java - 检测可用的 OpenGL ES 版本

标签 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”

最佳答案

这可能过于简单化了,但为什么不先在错误陷阱中尝试 ES 2.0,然后在加载失败时回退到 1.0?

关于java - 检测可用的 OpenGL ES 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604172/

相关文章:

java - 交叉检查两个 ArrayList 以查找包含某些单词的文本

java - 为什么我不能在泛型类上静态引用内部类的静态方法?

java - 如何打印不同索引长度的二维数组?

android - getActivity() 找不到符号符号 : method getActivity()

android - Gmap jquery 安卓

渲染多个对象时 iOS OpenGLES 奇怪的行为

java - OpenApi 生成器 : Use Long as Numeric default?

android - 选项卡的自定义 Holo 主题

android - glDrawTexfOES 在手机上绘制黑色纹理,并在模拟器中正确

objective-c - iOS上图像的人脸二维失真? (类似于 Fat Booth 等)