ASTC(Adaptive Scalable Texture Compression)是由 Arm 和 AMD 开发的一种先进的纹理压缩技术。它已被采纳为 OpenGL 和 OpenGL ES API 的官方 Khronos 扩展,并作为 Vulkan API 的一个标准可选功能。
ASTC Encoder 则是 Arm 官方推出的 ASTC 纹理压缩和解压命令行工具。
与早期的纹理压缩格式相比,ASTC 具有许多优势。
- 格式的灵活性:ASTC 支持压缩 1 到 4 个通道的数据,包括支持一个不相关的通道,如 RGB+A;
- 比特率的灵活性:ASTC 支持在 0.89 和 8 比特/texel(bpt) 之间细化选择压缩图像的比特率。比特率的选择与颜色格式的选择无关;
- 高级格式支持:ASTC 支持压缩低动态范围(LDR)、LDR sRGB 或高动态范围(HDR)色彩空间的图像,以及支持压缩 3D 体积纹理;
- 提高图像质量:尽管 ASTC 具有高度的格式灵活性,但在同等比特率下,ASTC 设法在图像质量上击败几乎所有的传统纹理压缩格式--如 ETC2、PVRCT 和 BC 格式;