【问题标题】:Obtaining Comprehensive list of Android Devices support of Texture Compression Formats获取支持纹理压缩格式的 Android 设备综合列表
【发布时间】:2015-03-30 14:24:35
【问题描述】:

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

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

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

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

有没有人在网上看到过类似的东西?

【问题讨论】:

    标签: android opengl-es textures unreal-development-kit


    【解决方案1】:

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

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

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

    【讨论】:

    • 不检查扩展名,更精简的方法是使用glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, ...) 枚举支持的格式。
    猜你喜欢
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2012-02-27
    • 2015-06-24
    相关资源
    最近更新 更多