Answers:
纹理压缩不压缩像素。它压缩像素块。当引用单个像素时,GPU将计算代表该像素的块。然后,它会处理整个块以获得该像素的颜色。
一个例子
假设块大小在RGB纹理上为4x4像素。未经压缩,每个块消耗4x4x3 = 48
纹理内存中的字节。
现在,压缩算法将计算每个通道的平均值(RGB)并将其与块一起存储(3个字节)。现在,给每个像素2位以调整平均值,以使像素更接近其原始颜色。多数民众赞成在另一个4x4x2x3/8 = 12
字节。
这个新发明的压缩器使用的总字节数是每个块15个字节,压缩率为31.25%。
我神话般的压缩器使用7.5 bpp。这不如2 bpp pvrtc所能达到的好,但是现在您对如何实现2 bbp有了大概的认识。
更新:
我只是在Wikipedia页面上查看了pvrtc。看起来pvrtc没有使用传统的基于块的压缩。 本文介绍了基于块的压缩的工作方式以及pvrtc的不同之处。需要特别注意的是:基于块的滤镜可以使用4bpp(没有alpha)生成外观不错的图像,而nvrtc可以使用2bpp生成图像。