2016-05-04 5 views
0

Я хочу загрузить несколько файлов с прямым рисунком, особенно DXT1, и отобразить их в моем очень простом приложении UWP (C# в основном).Загрузите и отобразите файл DDS (DXT1) в приложении UWP

Я читал о DirectXTex, но я понятия не имею, является ли это самым простым способом, и если да, то как использовать его в приложении UWP.

ответ

1

В Windows 8.1 и Windows 10 Windows Imaging Component имеет встроенный кодек для загрузки файлов DDS, которые используют сжатие BC1/DXT1. Самый простой способ использовать WIC из C# UWP - использовать Win2D. Имейте в виду, что WIC вернет несжатую версию изображения, которая, если это то, что вы хотите, тогда вы добры.

Обратите внимание, что встроенный DDS-кодек поддерживает только 2D-файлы DXT1-DXT5/BC1-BC3. Он не будет загружать другие формы файлов DDS. Быстрый способ проверить - посмотреть в Проводнике. Если DDS отображается с миниатюрой, он поддерживается.

С вашего вопроса неясно, что именно вы собираетесь делать с загруженными данными. Если вы хотите использовать Direct3D с C#, то вы должны посмотреть на что-то вроде SharpDX или SlimDX. Если вы используете Direct2D, Win2D - это путь.

Ибо, когда использовать DirectXTex против DDSTextureLoader для загрузки DDS файлов см this blog post. Вкратце: DirectXTex предназначен для инструментов, которые должны обрабатывать все различные преобразования формата, в частности, устаревшие форматы файлов DDS; DDSTextureLoader в DirectX Tool Kit предназначен для использования «runtime», где вы можете убедиться, что вы загружаете файл DDS, который уже находится в поддерживаемом формате DXGI.

Смежные вопросы