我想检测那些运行我的游戏的设备是否支持某些 OpenGL 功能,例如 GL_MAX_VERTEX_ATTRIBS。我写了这些代码:
int[] result = new int[1];
GLES20.glGetIntegerv(GLES20.GL_MAX_VERTEX_ATTRIBS, result, 0);
我看过官方文档,上面说返回值必须高于8,但我得到的结果总是0。我在IOS上通过C语言很好地使用了这些东西,但在android上他们真的让我很困惑. 我应该怎么做才能在android上完成这种任务?
我发现“OpenGL Extensions Viewer”(http://www.realtech-vr.com/glview/)可以在android上检测到很多东西而且它在屏幕上只有一个listview,我可以在不创建的情况下获取这些信息吗?自定义 GLSurfaceView 和渲染器?
我发现了这个类似的问题 Get GPU info on Android without SurfaceView 但它也没有最佳答案。
我现在已经解决了这个问题,我将检测代码放在另一个 Activity 中,并按照本教程http://www.learnopengles.com/android-lesson-one-getting-started/获取 OpenGL ES 2.0 上下文,然后检索这些功能信息通过 gl API 调用,完成所有这些之后,我跳回我的主要活动。