获取纹理压缩格式的Android设备支持的完整列表



我正在寻找Android设备及其硬件支持的相对OpenGL纹理压缩格式的列表。

Android 主要支持四种纹理压缩类型:

  • ETC1(爱立信纹理压缩)。所有安卓手机都支持这种格式。但是,它不支持 alpha 通道,因此只能用于不透明纹理。
  • PVRTC(PowerVR 纹理压缩)。由配备PowerVR GPU的设备(Nexus S,Kindle fire...)支持。
  • ATITC(ATI纹理压缩)。用于带有高通公司Adreno GPU的设备(Nexus One...)。
  • S3TC(S3纹理压缩)。这种纹理压缩用于NVIDIA芯片组集成设备(摩托罗拉Xoom...

我在正在使用的游戏引擎中内置了日志记录功能,它将告诉我在单个设备上运行应用程序时使用哪种格式,但我想找到一个值得信赖的资源作为参考。

有没有人在网上看到过这样的东西?

没有这样的列表(至少不可信),因为

  • 每天都有几款安卓设备发布
  • 纹理压缩格式比您在列表中提到的要多(ETC2/EAC,ASTC,LATC,...)
  • 3D 硬件供应商比您在列表中提到的要多(ARM Mali,Intel HD Graphics,Vivante等)

你永远不应该依赖3D HW供应商和特定纹理压缩支持之间的关系,而不是这个您应该通过在 glGetString(GL_EXTENSIONS) 返回的字符串中查找扩展子字符串来检查支持的纹理压缩运行时(OpenGL/ES 初始化后),例如,"GL_EXT_texture_compression_s3tc"代表S3TC,"GL_IMG_texture_compression_pvrtc"代表PVRTC。

相关内容

  • 没有找到相关文章

最新更新