DXT纹理压缩?

时间:2012-03-24 06:18:17

标签: c# .net image compression dxt

我正在处理需要使用DXT / S3TC格式(特别是DXT5)压缩的多个图像。

是否有人知道提供实时压缩的DXT压缩实现(最好是在C#中,或使用.Net框架)?我的应用程序将一次压缩10-20个512x512图像,所以我想要一个相对快速的实现,如果有的话。我进行了搜索和搜索,但似乎找不到一个,由于某种原因,我无法绕过DXT5格式来编写我自己的实现。

我知道XNA框架支持DXT压缩。有人会碰巧知道它是否相当快?人们是否需要安装XNA才能使用我的应用程序?

感谢您的帮助。 :)

3 个答案:

答案 0 :(得分:1)

我不了解C#,但C ++ NVIDIA纹理工具中有一些实现:quick个和optimal个(搜索compressDXT5A) 。我相信那里的实现被分解成了一个" DXT1"步骤为颜色通道和" DXT5A" alpha通道的步骤。

需要安装XNA才能使用XNA框架,是的。如果您可以保证安装了DirectX,您可以使用SlimDX来获取DX5的DirectX例程。

答案 1 :(得分:0)

http://code.google.com/p/libsquish/有很好的C ++实现,可能更容易转换为C#/ .NET。您总是可以使用Microsoft的Managed-C ++编译它。

XNA的压缩很快。我不知道吞吐率,但它只是DirectX图像压缩API的包装。

答案 2 :(得分:0)

这有点晚了(可能听起来像是自我推销!)但我为libsquish制作了一个开源的.NET包装器,并在几天前发布了一个新版本。得到它here