3

DXT/S3TC 形式 (具体的には DXT5) を使用して圧縮する必要がある複数の画像を扱っています。

リアルタイム圧縮を提供する DXT 圧縮の実装 (できれば C# または .Net フレームワークを使用) を知っている人はいますか? 私のアプリケーションは、一度に 10 ~ 20 個の 512x512 画像を圧縮するので、比較的高速な実装があれば、それが必要です。検索して検索しましたが、見つからないようです。何らかの理由で、独自の実装を作成するのに十分な DXT5 形式に頭を悩ませることができません。

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

ご協力いただきありがとうございます。:)

4

3 に答える 3

1

これは少し遅れます(そして自己宣伝のように聞こえるかもしれません!)が、私はlibsquish用のオープンソースの.NETラッパーを作成し、数日前に新しいバージョンをリリースしました。ここで入手してください

于 2012-08-07T10:53:46.580 に答える
1

C# については知りませんが、C++ NVIDIA テクスチャ ツールにはいくつかの実装があります:高速なものと最適なもの ( を検索compressDXT5A)。そこでの実装は、カラー チャネルの「DXT1」ステップとアルファ チャネルの「DXT5A」ステップに分解されると思います。

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

于 2012-03-24T06:30:36.687 に答える
0

http://code.google.com/p/libsquish/に優れた C++ 実装があり、C#/.NET に変換しやすいかもしれません。Microsoft の Managed-C++ を使用して、いつでもコンパイルできます。

XNA の圧縮は高速です。スループット率はわかりませんが、これは DirectX 画像圧縮 API の単なるラッパーです。

于 2012-04-09T21:15:35.683 に答える