LINUX.ORG.RU

Как открыть dds-файл с альфа-каналом без потерь в rgba-канале в GIMP?

 , ,


1

1

Суть:

Есть файл *.dds, в нём rgb-каналы полностью заполнены цветами, и есть в этом же файле произвольный альфа-канал.

Когда открываю файл в GIMP, то та часть rgb-изображения, которая соответствует чёрной части альфа-канала теряет всю информацию и из гимпа её отдельно получить никак нельзя.

Я где-то что-то не так делаю? Возможно есть отдельный плагин для импорта dds, который будет импортировать альфа-канал как маску? Или есть какая-то галка в настройках, которую я пропустил?

(Для тех, кто вдруг спросит зачем всё это: в некоторых играх альфа-канал используют для, например, маски отражённого света объекта или других служебных нужд, а rgb-слой отдельно для рассеянного света).

UPD: Solved. Решение для gimp 2.9 Как открыть dds-файл с альфа-каналом без потерь в rgba-канале в GIMP? (комментарий) Спасибо AP

★★★★

Последнее исправление: jeuta (всего исправлений: 2)

Вангую, что у тебя убунта с пакетом, в который напихали все плагины для гимпа разом, включая gimp-dds. Без него DDS в гимпе не открываются. Плагин 4 года не обновлялся, насколько мне известно.

AP ★★★★★
()

А для чего вам нужно загружать DDS в GIMP? Что вы потом планируете с ним делать?

Мой вьювер умеет грузить DDS, можете попробовать из него взять код загрузки.

andreyu ★★★★★
()

Меняйте редактор. Серъезно. GIMP почему-то всё затирает в тех местах, где альфа полностью черная. И так со всеми форматами.

xDShot ★★★★★
()

AP Про версию плагина правильно всё :(

andreyu А не смотрел в сторону imagemagic библиотек? Везде же пихают его и вроде ничего. Или это не то?

xDShot В итоге буду ковырять командную строку imagemagick утилит...

В гугле по запросу «image magic split alpha rgb» чото находит вроде, надо раскурить хорошенько это дело...

jeuta ★★★★
() автор топика
Последнее исправление: jeuta (всего исправлений: 1)

Кстати, забыл уточнить: что такое «чёрная часть альфа-канала»? Мне такая терминология ещё не попадалась, разве что применительно к маскам (но там как раз всё понятно).

AP ★★★★★
()
Ответ на: комментарий от AP

Чёрная - нулевое значение в альфа-канале хех. Не знаю, как правильно, но по-обывательски оно вроде так понятно

jeuta ★★★★
() автор топика
Ответ на: комментарий от AP
  1. Создать изображение в gimp с альфа-каналом, либо с альфа слоем
  2. Экспортировать (например в tga)
  3. Импортировать
  4. Убрать или отключить альфа канал

Проверьте. В тех местах, где было абсолютно прозрачно, не осталась цветовая информация. Там белый цвет теперь. И так со всеми экспортируемыми форматами. Из-за такого ублюдошества приходилось по два раза экспортировать текстуры: цвет без альфы и черно-белый альфа-слой. И затем склеивать в конечную текстуру через ffmpeg.

xDShot ★★★★★
()
Ответ на: комментарий от jeuta

А не смотрел в сторону imagemagic библиотек? Везде же пихают его и вроде ничего. Или это не то?

Вы предлагаете использовать im в качестве загрузчика? Так он все равно зависит от тех же библиотек, что и мой вьювер. Кроме того im достаточно медленный.

andreyu ★★★★★
()
Ответ на: комментарий от xDShot

А, понятно. Я не в курсе, почему было принято решение принудительно заменять прозрачные участки на фоновый цвет. Попозже Митч появится на канале — поинтересуюсь.

Но я вот не понял, почему ты советуешь криту взамен. Я там совсем не вижу способа убрать альфа-канал. Можно только перенести его в маску прозрачности и отключить.

AP ★★★★★
()
Ответ на: комментарий от xDShot

А, я тут попробовал просто отключить альфа-канал.

Но работает же: https://youtu.be/ld2JWnXvKSk.

Что конкретно нужно сделать-то?

AP ★★★★★
()
Ответ на: комментарий от AP

Можно только перенести его в маску прозрачности и отключить.

Ну так это же вроде оно и есть по сути.

А, я тут попробовал просто отключить альфа-канал.

В 2.8 такой финт не срабатывает.

Попробовал 2.9 тоже — вроде всё что нужно теперь можно сделать.

Чтобы получить rgb отдельно, отключаем Alpha в 
списке каналов, затем создаём слой из видимого.

Получение Alpha отдельно -- включаем все каналы, 
делаем "Add layer mask - layer alpha channel", 
потом просто копируем полученную маску и делаем 
с ней что хотим.

Думаю, SOLVED поставлю чуть позже, если нет возражений ни у кого.

jeuta ★★★★
() автор топика
Последнее исправление: jeuta (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.