3.3.1) Сканировать DDS (включено по умолчанию).
3.3.2) Сканировать TGA (включено по умолчанию).
3.3.3) Кодировать в DXT при некратности 4.
У движка игры есть проблемы с чтением BC-блоков при разрешении не кратном 4.
Поэтому, если программа находит BC-кодированный файл не кратный 4 - то по умолчанию кодирует его в 87`ой формат.
3.3.4) Стандартизирует разрешение текстур (актуально для старых частей игры).
3.3.5) Анализ DXT1 DDS-файлов.
Отключение этого параметра имеет смысл лишь тогда, когда нужно по-быстрому обработать большой мод. Просто сжав несжатые файлы и почистить неиспользуемые альфа-каналы.
3.3.6) Удаление "чёрного" альфа-канала.
Включать этот параметр стоит осмысленно, ибо он напрочь удаляет прозрачность из полностью прозрачных текстур.
3.3.7) Кодировка "чёрного" альфа-канала в DXT1
.
Включение этого параметра может сэкономить немного памяти. Но из-за бага в движках GEM-2.x - этот параметр не стоит оставлять включенным при отключенном 7 и 8 пунктах меню не в целях долгосрочного архивного хранения мода.
GEM-2.x не умеет читать заальфа-канальные данные в DXT1.
3.3.8) Не использовать DXT1 для файлов с не "белым" альфа-каналом
.
Если этот параметр включен, то все файлы с "чёрным" (прозрачным) и черно-белым (1-bit) альфа-каналом, будут кодироваться в DXT5.
При отключенном 6 и 8 пунктах "восстанавливает" файлы, сжатые при отключенных 7 и 8 пунктах.
3.3.9) Отменить запрет предыдущего параметра для изначально DXT1 файлов.
Включение этого параметра, нейтрализирует действие седьмого параметра для DDS-файлов, которые изначально были DXT1.
По поводу последних трёх настроек - всё вроде бы понятно, но на всякий случай оставлю эту ссылку:
http://mow-portal.ru/forum/30-189-3#5114
4) Кнопка "Принять"
Когда все рабочие условия установлены - в главном окне меню нажимайте эту кнопку, после чего программа перейдёт к обработке.
Если вы не трогали никаких настроек и всё оставили по умолчанию, то программа будет:
(Для DDS)
1) Удалять неиспользуемый альфа-канал (путём перекодирования из любого доступного формата в DXT1).
2) Рассчитывать и воссоздавать MiP-уровни (для уменьшения мерцания текстур).
3) Перекодировать не кратные 4 BC-текстуры в 87`ой формат (иначе игра их не увидит).
(Для TGA)
4) Кодировать всё в RLE.
Т.е. на настройках по умолчанию, программа и оптимизирует текстуры, и чинит их взаимодействие с игрой.
Разумеется. Кто-то может возразить, что BC-компрессоры ухудшают качество графики, и даже будут частично правы.
Я изучал этот вопрос:
http://mow-portal.ru/forum/30-189-3#5142
Но у меня есть ряд контр-аргументов:
1)
http://mow-portal.ru/forum/30-189-3#6665
2) По статистике, 95-99% текстур в игре являются сжатыми. И всех всё устраивает.
3) Несжатые текстуры весят в 4-8 раз больше сжатых (имея лишь пренебрежительно малое преимущество по качеству графики).
4) Игровые алгоритмы обработки текстур, меняют отображение текстур таким образом, что вы не сможете отличить сжатую текстуру от несжатой.
Далее - программа будет пытаться обработать все выбранные вами DDS и TGA файлы и/или папки (со всеми подпапками и DDS и TGA файлами в них).
Программа отключает защиту от записи на файлах, и обрабатывает даже скрытые от просмотра файлы.
По завершению работы программа выдаст сообщение "Программа завершила свою работу.".
Можете её закрыть или как обычно, или нажав любую кнопку в выделенном окне программы.
Программа не работает ни с какими иными форматами кроме DDS и TGA.
Программа не работает с файлами с заблокированными дескрипторами (но разумеется - хотя бы раз пытается их открыть).
Программа работает только с DDS-файлами с суб. форматами:
1) DXGI_FORMAT_R10G10B10A2_UNORM (№ 24);
2) DXGI_FORMAT_R8G8B8A8_UNORM (№ 28);
3) DXGI_FORMAT_BC1_UNORM (№ 71);
4) DXGI_FORMAT_BC2_UNORM (№ 74);
5) DXGI_FORMAT_BC3_UNORM (№ 77);
6) DXGI_FORMAT_BC5_UNORM (№ 83)
;
7) DXGI_FORMAT_B5G6R5_UNORM (№ 85);
8) DXGI_FORMAT_B5G5R5A1_UNORM (№ 86);
9) DXGI_FORMAT_B8G8R8A8_UNORM (№ 87);
10) DXGI_FORMAT_B8G8R8X8_UNORM (№ 88);
11) DXGI_FORMAT_B4G4R4A4_UNORM (№ 115);
(Технология палитр не поддерживается).
И TGA-файлами с суб. форматами:
1) TYPE_RGB (№ 2);
2) TYPE_GRAY (№ 3);
3) TYPE_RGB_RLE (№ 10);
4) TYPE_GRAY_RLE (№ 11);
При плотности данных на пиксель, равной 8, 24 или 32 бита.
(Технология палитр не поддерживается).
Примечание.
Разработка этой программы ведётся уже больше 1,5 лет, а некоторых её алгоритмов взаимодействия с форматами - итого больше.
Изначально - эта программа являлась лишь огрызком от моей более старой программы, и создавалась только с целью подготовки крупных модов к архивации. Но сейчас - программа обросла таким кол-вом алгоритмов и спецификаций, а т.ж. была отлажена прогонкой через терабайты модов до той степени, что мне уже нестрашно выкидывать её в народ. Хоть и на всякий случай скажу делать бэкапы.
Программа имеет весь нужный мне функционал; Имеет неплохую эффективность; Пусть по первой и не идеально, но прошла проверку временем.
Пользуюсь ей на постоянной основе.
С крупных модов программа может отжать от 3 до 30% процентов веса. Но в среднем - примерно 10-15% веса на базовых настройках.
Тут всё зависит от ответственности мододела и направленности мода.
Для примера полностью распаковал и оптимизировал несколько модов.
Вот их результаты:
1) Tanks Only MOD (v1.0.052) - сбросил 3.19% веса; ("из коробки" мод отлично оптимизирован).
2) # v a l o u r (патч 73) - сбросил 3.53% веса; ("из коробки" мод отлично оптимизирован).
3) UFO aftermath (v.0.1.9) - сбросил 4.91% веса; ("из коробки" мод отлично оптимизирован).
4) After The Blast A Fallout Mod - сбросил 8.87% веса; ("из коробки" мод неплохо оптимизирован).
5) Robz realism mod 1.28.1 - сбросил 8.92% веса; ("из коробки" мод неплохо оптимизирован).
6) Armor Balance - сбросил 8.94% веса; ("из коробки" мод неплохо оптимизирован).
7) Vietnam Redux 1.9 - сбросил 13.21% веса; ("из коробки" мод плоховато оптимизирован).
8) Apocalypse World War 3 v1.2 - сбросил 14.1% веса; ("из коробки" мод плоховато оптимизирован).
9) Red Frog mod 2.3 - сбросил 20.11% веса; ("из коробки" мод оптимизирован как мусор).
10) Terminator. Customizable Skirmish v2.1 - сбросил 22.75% веса; ("из коробки" мод оптимизирован как мусор).
11) Paper Panzer II - сбросил 25.15% веса; ("из коробки" мод оптимизирован как мусор).
По сути, хоть прога и для ленивых. Но она остаётся узкоспециальзиованным софтом.
Который нужно применять со знанием дела.
Программа не является полностью универсальной.
Без необходимости не стоит проходится ей по текстурам эффектов и интерфейса.
Для тех, кто хочет посмотреть "чё там внутри";
Программа распространяется вместе с исходным кодом для "Visual Studio 2017 Community".
UPD-9: v1.1m2 (RELEASE)
Исправил: анализ альфа-канала в TGA-модуле.
Исправил: удаление чисто черного альфа-канала.
UPD-10: v1.1m3 (RELEASE)
Исправил: анализ альфа-канала в TGA-модуле.
UPD-11: v1.1m4 (RELEASE)
Исправил: декодирование альфа-канала BC-блоков.
Изменил: MiP-фильтр на default.
UPD-12: v1.1m5 (RELEASE)
Добавлен: режим "Жёсткой альфы".
Добавлен: режим "Игнорирования цвета за альфа-каналом".
Добавлен: режим "Стандартизации разрешения".
Изменил: фильтр на "MITCHELL".
Изменил: параметры запуска многототока.
UPD-13: v1.1m6 (RELEASE)
Добавлена: английская локализация.
Добавлена: возможность переходить по пунктам меню на пробел, бэкспейс и кнопки лево/право.
Исправлен: ряд мелких багов.
Изменил: DDS`ки с MiP`ами не кратными 4 теперь кодируются без сжатия по умолчанию.
UPD-14: v1.1m7 (RELEASE)
Исправил "прыгающий" английский текст.
Исправил добавление несуществующего альфа-канала на изображение без альфа-канала.
Ссылка на форум:
http://mow-portal.ru/forum/30-189-3#6252