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

相关推荐
by2099910 小时前
学会使用std::string类,并理解其内部是如何管理字符串的详细阐述(上)
c++·笔记·字符串·类和对象·string
笑鸿的学习笔记11 小时前
C++笔记之大块顺序写
java·c++·笔记
山岚的运维笔记13 小时前
ComfyUI NVIDIA安装教程:官方便携版下载+run_nvidia_gpu.bat启动,8G显存Windows实操
运维·服务器·windows·笔记·prompt·aigc·comfyui
知潮网15 小时前
手机号注销两年,免密扣款仍在继续
笔记
Seraphina3616 小时前
DVWA(SQL注入-low,medium,XSS反射-low)
前端·数据库·笔记·sql·网络安全·web·xss
维克兜率天18 小时前
【维克】配对交易的季节性:哪些品种适合长拿?
android·开发语言·笔记·python·算法·kotlin·量化
路弥行至18 小时前
【Head First 设计模式】第 2 章:观察者模式 —— 用现代 C++ 重新解读“交互对象的松耦合
c++·经验分享·笔记·观察者模式·设计模式·入门教程·headfirst
坤坤子吖20 小时前
Python基础语法学习:条件、循环与程序控制
开发语言·笔记·python·学习
远离UE420 小时前
UE5.8 Substrate Glint 笔记
笔记
用户140360581938320 小时前
Phase A · Step 3:模型导出 ONNX
笔记