openGL:如何禁用 dds 纹理上的像素插值

openGL: How to disable pixel interpolation on dds textures

我使用纹理将大量数据传递到我的顶点着色器,并且它有效(关键是将每个 rgba 像素转换为 32 位浮点数)。问题是最近,我尝试使用 dds 格式而不是 jpg(加载速度更快)。它适用于我所有的颜色/法线纹理(只需要垂直反转图像),但它会导致我所有的数据映射出现错误。我尝试了几件事,比如禁用 alphas,它适用于 jpg 但不适用于 dds。我认为这是由 jpg/png/bmp 和 dds.

之间似乎不同的像素插值引起的

有没有办法禁用该插值?

如果问题不是插值问题,你知道它可能是什么吗?

正如 pleluron 所说,我的 dds 纹理使用 DXT 压缩,导致质量下降。结合 RGBA 进行浮动解码会导致错误的数据。插值不是这里的问题。