Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取支持纹理压缩格式的Android设备的全面列表_Android_Opengl Es_Textures_Unreal Development Kit - Fatal编程技术网

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

获取支持纹理压缩格式的Android设备的全面列表,android,opengl-es,textures,unreal-development-kit,Android,Opengl Es,Textures,Unreal Development Kit,我正在寻找Android设备及其硬件支持的相关OpenGL纹理压缩格式的列表 Android上主要支持四种纹理压缩类型: ETC1(埃里克森纹理压缩)。所有Android手机都支持这种格式。但是,它不支持alpha通道,因此只能用于不透明纹理 PVRTC(PowerVR纹理压缩)。由配备PowerVR GPU(Nexus S、Kindle fire…)的设备支持 ATITC(ATI纹理压缩)。用于配备高通公司(Nexus One…)的Adreno GPU的设备 S3TC(S3纹理压缩)。这种纹

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

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

  • ETC1(埃里克森纹理压缩)。所有Android手机都支持这种格式。但是,它不支持alpha通道,因此只能用于不透明纹理
  • PVRTC(PowerVR纹理压缩)。由配备PowerVR GPU(Nexus S、Kindle fire…)的设备支持
  • ATITC(ATI纹理压缩)。用于配备高通公司(Nexus One…)的Adreno GPU的设备
  • S3TC(S3纹理压缩)。这种纹理压缩被用于英伟达芯片组集成设备(摩托罗拉XoOM…)
  • 中。
我在使用的游戏引擎中内置了日志,它可以告诉我在单个设备上运行应用程序时使用的格式,但我希望找到一个值得信赖的资源作为参考


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

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

  • 每天都会发布一些Android设备
  • 有比您在列表中提到的更多的纹理压缩格式(ETC2/EAC、ASTC、LATC等)
  • 3D硬件供应商比您在列表中提到的多(ARM Mali、Intel HD Graphics、Vivante等)
您永远不应该依赖3D硬件供应商和特定纹理压缩支持之间的关系,而应该依赖于此 您应该在
glGetString(GL\u扩展名)
返回的字符串中查找扩展子字符串,以检查在运行时(OpenGL/ES初始化后)支持的纹理压缩,
e、 g“GL_EXT_texture_compression_s3tc”用于s3tc,“GL_IMG_texture_compression_pvrtc”用于pvrtc。

与其检查扩展名,不如使用
glGetIntegerv(GL_COMPRESSED_texture_FORMATS,…)
枚举支持的格式。