当我的应用程序启动时,我正在使用ETC1压缩一些纹理。如果不支持ETC1,我也有一个回退方法。
问题:
ETC1Util.isETC1Supported(); // Returns false with no available gl context even if the device supports it.
所以我的问题:有没有办法在没有当前gl上下文的情况下查询这个问题,或者我必须使用GLSurfaceView进行启动画面渲染以获得该标志?
我已经读过,我可以在AndroidMarket中过滤没有此类支持的设备,但这不是一种选择。
答案 0 :(得分:0)
没有OpenGL上下文,无法查询OpenGL扩展。
但是如果您使用OpenGL ES 2.0,那么ETC将始终可用:http://developer.android.com/guide/topics/manifest/supports-gl-texture-element.html
GL_OES_compressed_ETC1_RGB8_texture
爱立信纹理压缩。在OpenGL ES 2.0中指定,适用于所有支持OpenGL ES 2.0的Android设备。