公司动态
GPU PRO 5 - 4.6 Adaptive Scalable Texture Compression 笔记
本笔记仅为个人的理解如果有误欢迎指出。Adaptive Scalable Texture Compression自适应可拓展纹理压缩简称ASTC移动端一种常用的贴图压缩格式在现代的游戏引擎中多有应用比如Untiy。ASTC 是 ARM 公司开发的一种纹理压缩格式其目标是为此前种类繁杂、灵活性不足的纹理压缩格式提供一种统一且灵活的解决方案。它是一种基于块的纹理压缩算法。基于块的意思是对数据的处理都是基于Block的也就是图片会被分割成很多的大小相同的小的Block然后一个Block的数据会被用更少的数据表示压缩后的数据也只用来表示这个Block的数据。而ASTC中每个块都可以存储最多4个顶点正方形的四个角的颜色并根据从预设的颜色计算公式中挑选合适的算法保存。如下图在文章中这个算法称为分布模式Distribution Pattern最后在解压缩时就可以根据块上存的顶点颜色以及颜色的分布模式计算出当前块压缩前的颜色。由此可见ASTC是一种有损的图像压缩格式因为不是所有颜色块都能有完美的颜色分布模式保证颜色和压缩前一致。同时一个Block中可能存在多个符合条件的分布模式ASTC算法就会在这里对压缩后最终图像的质量和时间做权衡。质量要求越高压缩算法在最终决定最佳方案之前就会尝试更多种候选组合。但是解压缩的时间是固定的。参考资料深入理解ASTC