如果我使用OpenGL (GL_COMPRESSED_RGB_S3TC_DXT1_EXT)压缩图像,然后读取原始图像(OpenGL为我解压缩它),我就得到了特定的图像。
如果我遵循OpenGL文档并编写我自己的解压缩器,我的结果是相似的,但是在某些地方,它们在+/- 1方面随机不同。我试图在DXT解压缩器中的“颜色混合”期间舍入我的值,但是结果仍然不正确。
它是可以修复的,还是GPU浮点算法造成的不可修复的误差,其解压值是不同的。
发布于 2013-11-14 14:16:25
和往常一样,我想看看在+/-1发生的地方是否有任何可预测的模式?正如您所说的,这可能是一个精确错误,但是需要查看代码以确定它是逻辑错误还是硬件可能错误。DXT解压缩的实现依赖于GFX卡,我找到了一个可能有用的链接这里,它也有一个示例解压缩程序的代码。
如果您仍然收到错误,让我知道,我可以在一夜之间查看它,一旦我在我的家庭开发机器。
增编:刚刚找到了我在DXT上寻找的英特尔资源:它有一个编写这里和源代码这里。(直接链接到压缩格式的源代码)
https://stackoverflow.com/questions/19978334
复制相似问题