摘要:
对于数据压缩,其实就是把浮点的32位精度,改用16位定点数来表达。例如0.0 = 0,1.0 = 32767,-1.0 = -32767这是一种有损压缩,会丢失一些精度,一般情况下是可以接受的。当浮点数是-1至+1的范围,即-32767至+32767。这时问题出现了,如果浮点的范围是几万,那么一些浮点如果是小数位后几位的数值,压缩后会变成0。例如:0.0123,在上述情况下,最终存在unsigned short中其实是0或者1,解压后也是0。发现问题的起因是手上有一个奇葩的模型数据,它的某一组UV竟然有3千万的大小,而其他的UV则是正常范围的几十或者是0-1。压缩后,出现大面积的纹理走样。通过 阅读全文