纹理压缩
如果使用Spine的默认输出格式,是这样的
但是输出纹理的格式必须是未压缩的RGBA,如果你将图片格式改为ETC2或者ASTC,就会变成这样:
而这是绝对不能容忍的画面瑕疵。
ETC2的压缩质量绝不至于这样差,之所以会变成这样,在于Spine的默认输出格式是勾选了“预乘(premultiplied alpha)”参数的,这种做法会将图片原始的RGB通道预先乘以透明度保存成文件,显示时再用特殊的Shader乘回去。而ETC2的压缩算法并没有考虑过这种情况,由此导致了压缩质量降低。
而之所以Spine要使用预乘(premultiplied alpha),目的是为了解决透明图片的采样问题。
如图,左边的像素点是纯透明,右边的像素点是白色点,如果在红点处采样,获得的颜色值就是(0.5,0.5,0.5,0.5)
而正确的颜色值应该是(1,1,1,0.5),因为变化的只应该是透明度,不能因为达到边缘&#x