1

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

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

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

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

有没有人在任何地方在网上看到过这样的事情?

4

1 回答 1

2

没有这样的清单(至少不可信),因为

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

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

于 2015-02-03T22:24:03.427 回答