Преобразование .dds в .png: действительно ли XNA так запутана?
У меня есть файл .dds, и я хочу файл .png. Хотя я ужеузнал о Библиотека DevIL.NETдизайн API одного статического класса не распараллеливается, поэтому я надеюсь найти другой метод. Это привело меня к XNA.
Но вот как далеко я продвинулся с этой идеей ...
Хорошо, похоже, я хочу этогоTexture2D
учебный класс; тогда я могу позвонитьmyTexture2D.SaveAsPng
.Но как мне получить один из них из моего файла .dds? Ну, документация, кажется, указывает, что я хочу использоватьmyContentManager.Load<Texture2D>
.О, дерьмо, это не так, это какая-то система управления игровым контентом. Ну, мой поиск, кажется, нашел много примененийmyTexture2D.LoadFile
; Я пойду на это.Я пропустил ссылку на сборку или что-то в этом роде? О нет, я понял, они удалили этот метод между 3.1 и 4.0, потрясающе. Хорошо, это немного раздражает, ноmyTexture2D.LoadStream
на самом деле не проблемаПодождите, что это сейчас? ХочетGraphicsDevice
? Хм, похоже, что один обычно получает один из них черезGraphicsDeviceManager
... о, подожди, я больше не пойду по этому пути, не болееManager
для меня.Я предполагаю, что должен создать экземпляр этой вещи вручную. Хорошо, это не так уж сложно ...var myGraphicsDevice = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, GraphicsProfile.HiDef,
(э-э, что этоPresentationParameters
все хорошо, я просто попробуюnew PresentationParameters());
.Хорошо, что бросил исключение. Они хотят ...DeviceWindowHandle
в моемPresentationParameters
? Но я запускаю консольное приложение!Так что я действительно надеюсь, что есть менее запутанный способ сделать это; возможно какой-то дефолтGraphicsDevice
Я мог бы использовать. Довольно глупо создавать целое окно только для преобразования .dds в .png.
Думаю, приветствуются альтернативные предложения по моей проблеме конверсии, хотя, вероятно, было бы целесообразно понять, как использовать XNA из не-XNA-кода в целом.