压缩纹理和重新压缩纹理

哪些工具被认为是用于压缩OpenGL中纹理的最佳质量? 哪个可以在Linux命令行中使用?

哪些无损压缩机能够在压缩纹理上提供良好的比例/速度?

(我看到Skyrim的BSA档案通常只有它们包含的DDS的一半大小)

你通常会发现显卡制造商提供了压缩贴图的体面工具,比如Nvidia。 这些似乎在多个平台上得到支持。

对于硬件加速渲染,你不会find任何支持压缩的无损格式。 DirectX下支持的最stream行的格式是DXT1 / 3/5,法线贴图的DXTN。 我不使用OpenGL,但我希望这些被支持,即使被称为稍有不同。

我通常看到DXT纹理压缩到原来大小的一半左右,所以可能只是使用zlib会得到相同的最终结果(然后在上传到gfx硬件之前解压缩)。

压缩纹理总是(*)具有固定的压缩比。 基本上我看到的所有格式都带有一些纹理元素(例如4×4),并存储了足够的信息来重新生成瓷砖,或者是类似于瓷砖的东西。 比较不同的压缩方法,你有模糊和噪音之间的权衡,但基本原则(当然是专利)似乎在任何地方都是一样的。

调色板纹理也可以被看作是一种原始的压缩方法。

这种压缩的好处在于,构建硬件可以执行随机读取读取(相对而言)是相对容易的。 如果您将内存中的纹理保存为PNG或JPG格式,则在每次纹理拾取时,平均需要解压缩50%的图像。 这是不可行的=)

由于这些限制,使用传统的压缩方法(如ZLIB)可以进一步压缩“压缩”纹理

(*),至less。 谁知道,也许有人会想到新的东西。