0

当我的应用程序启动时,我正在使用 ETC1 压缩一些纹理。如果不支持 ETC1,我还有一个备用方法。

问题:

ETC1Util.isETC1Supported(); // Returns false with no available gl context even if the device supports it.

所以我的问题是:有没有办法在没有当前 gl 上下文的情况下查询这个,或者我必须使用 GLSurfaceView 来渲染我的初始屏幕才能获得那个标志?

我读过我可以在 AndroidMarket 中过滤没有此类支持的设备,但这不是一个选项。

4

1 回答 1

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 设备。

于 2012-06-21T17:58:08.510 回答