如果我使用OpenGL压缩图像(GL_COMPRESSED_RGB_S3TC_DXT1_EXT
)然后回读RAW图像(OpenGL为我解压缩),我得到了一定的图像。
如果我遵循OpenGL文档并编写自己的解压缩程序,我的结果是相似的,但在某些地方,它们在+/- 1方面随机不同。 我试图在DXT解压缩器的“颜色混合”期间舍入我的值,但结果仍然不正确。
可以修复,还是由GPU浮点运算引起的不可修复的错误,因此解压缩的值不同。
答案 0 :(得分:1)
一如既往,我会看看是否有可预测的模式,+ / - 1出现在哪里?如您所说,它可能是精度错误,但需要查看代码以确定它是逻辑错误还是硬件可能错误。 DXT解压缩的实现取决于GFX卡,我找到了一个可能有用的链接 here ,并且它也有一个示例解压缩器的代码。
如果您仍然收到错误,请告诉我,一旦我在家用开发机器,我就可以一夜之间看看。
<强>附录:强> 刚刚找到了我在DXT上寻找的英特尔资源:它有一个记录 here 和来源 here 。 (direct link to source code in zip format)