etc的常见算法_UI图集压缩优化,以及对Dither和ETC1算法的深入了解

本文深入探讨了Floyd-Steinberg Dither算法和ETC1压缩算法,通过比较两种算法在UI图集优化中的效果,分析了ETC1压缩倍率高但能与Dither565效果持平的原因,并提供了ETC1算法的详细解码过程。
摘要由CSDN通过智能技术生成

受UWA这篇文章的启发,我们老大也安排我对原来TrueColor32bit的UI图集进行一次优化。前期准备工作主要是了解了下Floyd的Dither算法,然后继续研究的时候发现大部分UI图片的Dither+A8的效果和ETC1+A8的效果很接近,如下图。ETC也是有损压缩,它的压缩倍率更高(6倍),为什么能和压缩倍率是(1.5倍)的Dither565效果持平呢。所以我又去了解下了ETC1的原理,特作一篇笔记。另外感谢这篇文章,写得很棒。

UI图集压缩优化,以及对Dither和ETC1算法的深入了解-1.jpg (69.84 KB, 下载次数: 3)

2018-3-25 23:15 上传

一、Floyd-Steinberg Dither算法

将24bit的图片转化成16bit过程中因为精度丢失,产生明显的色阶。而抖动算法,则是把这部分丢失的精度,扩散到周围,使得颜色整体更正确。

丢失的精度,我们将它想象为图片上的一些颜料粉末,抖动算法即是将这些粉末朝着某个方向抖动。

[code][/code]这是Floyd-Steinberg抖动算法的Unity中的实现版本,这个算法我把他分为两步。

UI图集压缩优化,以及对Dither和ETC1算法的深入了解-2.jpg (4.83 KB, 下载次数: 1)

2018-3-25 23:15 上传

把当前位置的像素从RGB8888转化为RGB4444,并把最后的浮点数相减得到丢失的精度。  把丢失的精度按照上面的对照图,按比例叠加到周围的像素中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值