2012-03-24 43 views
2

私は、DXT/S3TCフォーマット(特にDXT5)を使用して圧縮する必要のある複数の画像を扱っています。DXTテクスチャ圧縮?

誰でも、リアルタイム圧縮を提供するDXT圧縮の実装について知っていますか(C#または.NETフレームワークを使用することをお勧めします)。私のアプリケーションは、一度に10〜20個の512x512イメージを圧縮するので、比較的速い実装が必要な場合は、そのイメージを圧縮したいと思います。私は検索して検索しましたが、見つけられないようですが、何らかの理由で自分の実装を書くのに十分なDXT5フォーマットを頭で囲むことができません。

私はXNAフレームワークがDXT圧縮をサポートしていることを知っています。合理的に速いかどうか誰かが知っているだろうか?アプリケーションを使用するためにXNAをインストールする必要がありますか?

ありがとうございました。 :)

答えて

1

C#については分かりませんが、C++ NVIDIAテクスチャツールには、quickoptimalのいずれかが実装されています(compressDXT5Aを検索)。私はそこでの実装がカラーチャンネルの "DXT1"ステップとアルファチャンネルの "DXT5A"ステップに分解されると信じています。

XNAフレームワークを使用するには、XNAをインストールする必要があります。 DirectXがインストールされていることを保証できる場合は、SlimDXを使用してDXT5のDirectXのルーチンを取得することができます。

0

http://code.google.com/p/libsquish/には、C#/ .NETに変換するのが簡単な素晴らしいC++実装があります。 MicrosoftのManaged-C++を使用して、いつでもコンパイルできます。

XNAの圧縮は高速です。私はスループット率は知らないが、それはDirectXの画像圧縮APIのラッパーにすぎない。

0

これはちょっと遅くなりました(そして自己宣伝のように聞こえるかもしれませんが)。私はlibsquish用のオープンソース.NETラッパーを作って、数日前に新しいバージョンをリリースしました。 Get it here

+1

pngを自分のライブラリのddsに変換するにはどうすればいいですか? – Aron

関連する問題