在使用OpenGL ES做开发的时候,发现不是所有机型对OpenGL的代码都兼容的那么好,同样的代码在某些机型上总是会出现问题,但是在其他手机上就是好的。下面是本人总结的OpengGL 兼容问题:
一、验证当前手机支持的Opengl版本
android获取当前手机Opengl版本的方法
ActivityManager am =(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);ConfigurationInfo info = am.getDeviceConfigurationInfo(); //假如是opengles 1.1 info.reqGlEsVersion= 0x00010001 //假如是opengles 2.0 info.reqGlEsVersion= 0x00020000
二、机型问题
三星
三星 S3 I9300 初始发布版本4.0,目前测试发现,4.3版本下,部分OpenGL的特性不能使用。
华为
华为荣耀系列 OpenGL截图黑屏 相关代码:
gl.glReadPixels(x, y, w, h, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, intBuffer);