纹理压缩的奇妙之旅 漫谈X800的3Dc
分享
我们就拿X项作为例子来讲一讲压缩的最底层算法。
现在我们已经得到了一个由16个数组成的矩阵,或者说是数列也可以,我们就不难从中提取出这16个数中的最大值和最小值,先暂时存储起来。
将X项分量的值统计出来
在得到了最大值和最小值以后,我们接下来的步骤就是要进行插值运算了。所谓插值运算,就是在这两个数之间插入一些经处理器生成的数值。具体到3Dc算法中,他们采用了在这最大值和最小值之间等分7份,然后将中间的6个值插进刚刚统计得来的最大值和最小值之间。
将均分得来的值插到最大值和最小值之间z
举个简单的例子,例如我们上面的这张图,现在经过统计,得到了最大值是240,最小值是128。我们就不难算出它们的差是112,将这112分成7份,每份就是16。
所以我们就可以算出这8个数分别为:128、144、160、176、192、208、224、240,这其中除了最小值128和最大值240,剩下的6个数都是经计算得来的。
『小提示-06:实际上在法线贴图的单通道颜色表示中,采用的是8bit二进制数,最大值是256,最小值是0。笔者举的例子中,240应该对应的二进制数是“11110000”,128对应的二进制值为“10000000”,为了形象的说明插值运算,笔者特意转化成十进制。』<
0人已赞
第1页:纹理压缩的奇妙之旅 漫谈X800的3Dc第2页:纹理压缩的奇妙之旅 漫谈X800的3Dc第3页:纹理压缩的奇妙之旅 漫谈X800的3Dc第4页:纹理压缩的奇妙之旅 漫谈X800的3Dc第5页:纹理压缩的奇妙之旅 漫谈X800的3Dc第6页:纹理压缩的奇妙之旅 漫谈X800的3Dc第7页:纹理压缩的奇妙之旅 漫谈X800的3Dc第8页:纹理压缩的奇妙之旅 漫谈X800的3Dc第9页:纹理压缩的奇妙之旅 漫谈X800的3Dc第10页:纹理压缩的奇妙之旅 漫谈X800的3Dc第11页:纹理压缩的奇妙之旅 漫谈X800的3Dc第12页:纹理压缩的奇妙之旅 漫谈X800的3Dc第13页:纹理压缩的奇妙之旅 漫谈X800的3Dc第14页:纹理压缩的奇妙之旅 漫谈X800的3Dc第15页:纹理压缩的奇妙之旅 漫谈X800的3Dc第16页:纹理压缩的奇妙之旅 漫谈X800的3Dc第17页:纹理压缩的奇妙之旅 漫谈X800的3Dc第18页:纹理压缩的奇妙之旅 漫谈X800的3Dc