Название: Qt vs DDS Отправлено: Засранец от Август 17, 2016, 00:00 Здравствуйте.
Если вдруг где-то есть мой вопрос с решением - прошу плиз ткнуть носом... :-[ Qt 5.x умеет *.dds файлы на чтение/запись. Но я, к сожалению, не знаю, как явно указать формат для чтения/записи файла (DXT1...DXT5). В моем случае нужно считать файл текстуры (normal/bump map), перемешать каналы RGBA (этот не проблема) и сохранить результат в нужном формате DDS (формат выше указан). Название: Re: Qt vs DDS Отправлено: Igors от Август 17, 2016, 09:12 В моем случае нужно считать файл текстуры (normal/bump map), перемешать каналы RGBA (этот не проблема) [off]Вместо перезаписи файлов обычно вращают матрицу текстуры. Да, и если файлы "голубые" (преобладает синий цвет Z) то нужно строить матрицу бампа (то еще удовольствие).[/off]Название: Re: Qt vs DDS Отправлено: Засранец от Август 18, 2016, 21:46 Я пока топорно меняю порядок RGBA (построчно перебираю пиксели и меняю порядок каналов, в отдельном потоке), просто приоритетная проблема - как явно указать формат файла DDS при сохранении? Если правильно понимаю, Qt сам определяет формат исходного файла.
Название: Re: Qt vs DDS Отправлено: Авварон от Август 20, 2016, 08:43 Кутешный dds плагин я писал. Формат указать можно через subtype. Но я не осилил написать сохранение в какой-либо формат, кроме RGBA32. Тебе не повезло:)
Название: Re: Qt vs DDS Отправлено: Засранец от Август 21, 2016, 23:26 Кутешный dds плагин я писал. Формат указать можно через subtype. Но я не осилил написать сохранение в какой-либо формат, кроме RGBA32. Тебе не повезло:) Если не сложно, можно пример кода привести?p.s. Без экзорцизма, WinAPI, тут не обойтись? :-( Просто я ориентировался на кроссплатформенность... p.s. p.s. Модераторов прошу перенести тему в подходящий раздел. :-[ Название: Re: Qt vs DDS Отправлено: Авварон от Август 23, 2016, 08:15 Есть 4 пути.
Простой - стырить исходники dds себе (я сначала обкатываю фичи тут https://github.com/ABBAPOH/imageformats) и написать сохранение самому. Работы там на полдня, имхо. Сложный - написать сохранение самому и замержить в Qt. Ещё более сложный - допинать меня, чтобы я это сделал:) Либо одно из трёх:) В идеальном мире ты бы писал что-то типа Код: int main() Но повторюсь, там только 1 вариант сохранения реализован. Название: Re: Qt vs DDS Отправлено: Засранец от Август 25, 2016, 20:20 Авварон,
Я склонировал репозиторий. Чуть позже займусь, посыпался хард, пришлось прерваться. Насчет попинать - с вопросами если, можно?:-D Название: Re: Qt vs DDS Отправлено: Авварон от Август 25, 2016, 21:04 В личку написал
|