Сжатие текстур DXT? - PullRequest
       37

Сжатие текстур DXT?

3 голосов
/ 24 марта 2012

Я работаю с несколькими изображениями, которые необходимо сжать с использованием формата DXT / S3TC (в частности, DXT5).

Кто-нибудь знает о реализации сжатия DXT (предпочтительно в C #, или с использованием .NetFramework), который обеспечивает сжатие в реальном времени?Мое приложение будет сжимать 10-20 изображений 512x512 за раз, поэтому я хотел бы относительно быстрое внедрение, если оно есть.Я искал и искал, но не могу найти его, и по какой-то причине я не могу обернуть голову вокруг формата DXT5 настолько, чтобы написать собственную реализацию.

Я знаю, что платформа XNA поддерживает сжатие DXT.Кто-нибудь случайно узнает, достаточно ли это быстро?Нужно ли людям устанавливать XNA, чтобы использовать мое приложение?

Спасибо за вашу помощь.:)

Ответы [ 3 ]

1 голос
/ 24 марта 2012

Я не знаю о C #, но есть несколько реализаций в текстурных инструментах NVIDIA C ++: quick one и оптимальная one (поиск compressDXT5A) , Я полагаю, что реализация там разложена на шаг "DXT1" для цветовых каналов и шаг "DXT5A" для альфа-канала.

XNA необходимо установить для использования платформы XNA, да. Если вы можете гарантировать, что DirectX установлен, вы можете использовать SlimDX для получения подпрограмм DirectX для DXT5.

0 голосов
/ 07 августа 2012

Это немного поздно (и может звучать как самореклама!), Но я сделал оболочку .NET с открытым исходным кодом для libsquish и выпустил новую версию несколько дней назад.Получите это здесь .

0 голосов
/ 10 апреля 2012

Есть хорошая реализация C ++ на http://code.google.com/p/libsquish/, которую проще конвертировать в C # /. NET. Вы всегда можете просто скомпилировать его, используя Microsoft Managed-C ++.

Сжатие XNA быстрое. Я не знаю пропускную способность, но это всего лишь оболочка для API сжатия изображений DirectX.

...