我想检测运行游戏的设备是否支持某些OpengGL功能,例如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上检测到很多东西,它只在屏幕上有一个列表视图,我可以在不创建自定义GLSurfaceView和Renderer的情况下获取这些信息吗?
我发现了类似的问题Get GPU info on Android without SurfaceView但它也没有最佳答案。
我现在已经解决了这个问题,我将检测代码放在另一个Activity中,并按照本教程http://www.learnopengles.com/android-lesson-one-getting-started/获取OpenGL ES 2.0上下文,然后通过gl API调用检索这些功能信息,完成所有这些操作后,我跳回到我的主要活动。
答案 0 :(得分:0)
见here。该类创建了一个新的GL10
实例,而没有直接使用EGL
的任何模糊。这应该足以查询上下文的功能。
我想知道的是,能力是否取决于所选择的EGLConfig
......