在使用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);
