Sidebar

[XashTools] makewad (программа для работы с вадами)

  • Наступило лето и у нас стартовал конкурс с призовым фондом в $120!
    "De-Make It!" Summer Contest.
Команда форума
VIP
28.03.2010
15 328
253
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
[XashTools] makewad (программа для работы с вадами)

Как я уже упоминал, в рамках разработки инструментов для XashNT ведется работа над удобными тулзами. А поскольку вады в XashNT точно такие же, как и в обычной халфе, то данная утилита может пригодится многим. Подробное руководство пользователя вы найдете в архиве с программой, а здесь я расскажу, что меня побудило к её созданию.
Ну во первых, как вы помните я говорил о новой концепции, в которой нормалмапы, глоссмапы и альфа-канал будут храниться в вадах с особым суффиксом. Стандартные программы этого конечно не умеют, поэтому мне понадобилась своя тулза.
Второй момент в том, что за все годы существования халфы и вадов никто до сих пор не удосужился запилить нормальную вменяемую программу для работы с вадами. Ну вот реально - никто :shock:
Сам факт, что для получения 8-битных текстур необходим качественный квантизатор либо замалчивается либо вообще игнорируется. Как будто 8-битные текстуры возьмутся из воздуха. У Валли квантизатор препохабнейший. У AcdSea получше, но он не понимает текстуры с альфа-каналом. Каждый раз лезть в фотошоп - дико неудобно. Но все уже привыкли и даже не подозревают, что бывает как-то иначе.
И наконец в третьих у меня появилась необходимость в мощном пакетном обработчике, который бы умел выполнять операции над вадами во всех направлениях - сохранять текстуру из вада в тга\бмп, квантизировать текстуру из 24-бит и сохранять её в вад, гонять текстуры между вадами и чтоб всё это в пакетном режиме и чтоб поиск по маске работал. Собственно всё вышеперичисленное я и реализовал в своём makewad. Программа изначально была дана на закрытое бета-тестирование нескольким людям, никто вроде не жаловался и теперь я представляю её на суд широкой общественности.

Пишем сюда впечатления, задаём вопросы, багрепортим, засылаем донаты.
 

Вложения

[POD]ILLbot0

Главный бездельник
04.12.2006
2 037
18
38
Награды
5
  • Золотая медаль 212
  • Золотая медаль 221
  • Серебряная медаль 133
  • Серебряная медаль 105
  • Золотая медаль 235
15 скачиваний, а благодарностей 0.
Буду первый: Автор маладец, за проделанную работу!
 

Raid

VIP
VIP
11.07.2006
8 320
232
63
Награды
1
28
CSM-чат
  • Rocket медаль
Не, дак а чо, деревня-то у нас маленькая, все друг друга в ip знают.
 

OEUVRE


06.03.2013
918
0
0
Награды
0
 
Последнее редактирование:

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 145
345
83
Награды
2
27
Эквестрия
  • Золотая медаль 213
  • Neh
Квантизатор там к слову лучше фотошоповского, например теже карты нормалей он не может нормально в индексированную поллитру конвертить, а ДядеМишин может!
 

ncuxonaT

Well-known member
05.05.2013
1 172
42
48
Награды
0
Ну что ж, давайте посмотрим, как makewad сжимает текстуры, и сравним с другими методами. Сравнивать будем с dxt1, dxt5nm (для нормалей) и dxt5my (моя придумка всё уже придумано до нас, dxt5 RxBG, в альфа-канале хранится зеленый канал).
 

Вложения

Последнее редактирование:

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 145
345
83
Награды
2
27
Эквестрия
  • Золотая медаль 213
  • Neh
2 ncuxonaT:
А другие тоже 8ми битные?

>> dxt5my (моя придумка, в альфа-канале хранится зеленый канал).

Откуда в 8мибитном формате альфаканал?

dxt1 очень хороший результат даёт.
 
Последнее редактирование:

ncuxonaT

Well-known member
05.05.2013
1 172
42
48
Награды
0
2 FiEctro:
если под 8мибитными ты понимаешь индексированную палитру, то нет. Если под 8мибитными ты понимаешь количество бит на пиксель, то там подписано, где сколько.
 

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 145
345
83
Награды
2
27
Эквестрия
  • Золотая медаль 213
  • Neh
ncuxonaT сказал(а):
2 FiEctro:
если под 8мибитными ты понимаешь индексированную палитру, то нет. Если под 8мибитными ты понимаешь количество бит на пиксель, то там подписано, где сколько.
Я спрашиваю как именно оптимизированы твои картинки. И всеравно откуда в индексированной поллитре альфаканал?
 

ncuxonaT

Well-known member
05.05.2013
1 172
42
48
Награды
0
2 FiEctro:
ниоткуда, потому что она не индексированная.
 

ncuxonaT

Well-known member
05.05.2013
1 172
42
48
Награды
0
А мы продолжаем. Для пущей наглядности будем смотреть на карты нормалей в действии. Стоит отметить, что так как dxt5nm отбрасывает синий канал, то и выглядит оно несколько иначе.
 

Вложения

ZGreen

Navarro
15.06.2006
3 200
80
48
Награды
1
31
Сибирь, Красноярск
  • Спец медаль MM18
Поясните, зачем нормалмапы вообще индексировать и в вадах хранить?

[ADDED=ZGreen]1439825915[/ADDED]
На крайний случай делить по каналам индексировать и хранить, еще куда ни шло, но целиком? Потеря точности колоссальная получается.
 
Последнее редактирование:

ncuxonaT

Well-known member
05.05.2013
1 172
42
48
Награды
0
moar

[ADDED=ncuxonaT]1439827531[/ADDED]
2 ZGreen:
этот же вопрос можно задать по отношению ко всем текстурам
 

Вложения

Последнее редактирование:

ZGreen

Navarro
15.06.2006
3 200
80
48
Награды
1
31
Сибирь, Красноярск
  • Спец медаль MM18
2 ncuxonaT:
цветные-то ладно, еще можно понять, не так заметно, но плавные цветные градиенты индексировать и хранить в таком виде по меньшей мере странно.
 

Slux

Administrator
Команда форума
Администратор
20.06.2006
5 890
114
63
Награды
3
32
/dev/tty0
wiki.csm.dev
  • Золотая медаль 311
  • Tux
  • Серебряная медаль 311
Возможно, глупый вопрос, но. Разве нельзя для ксашнт запилить особый формат вадов, который не будет требовать индексированные и 8-битные текстуры? Да и вообще не лучше ли использовать обычные зип-архивы?
 

ncuxonaT

Well-known member
05.05.2013
1 172
42
48
Награды
0
2 slux:
лучше отказаться от вадов и хранить все текстуры в форматах tga и dds в одной папке. Но это создаёт 2 проблемы: нужно научить редактор понимать такие текстуры, нужно научить компилятор понимать такие текстуры. А заниматься этим никто не хочет.
 

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 145
345
83
Награды
2
27
Эквестрия
  • Золотая медаль 213
  • Neh
2 slux:
У зипов есть 2 проблемы:
1. Распакованые текстуры всеравно жрут память
2. Время загрузки уровня выростает довольно прилично

2 ZGreen:
Поидее достаточно хранить вообще чернобелые bump карты как в максе, а при загрузке генерить уже полноцветные нормали, но почему то такое в геймдеве не прижилось.
 
Последнее редактирование:

Slux

Administrator
Команда форума
Администратор
20.06.2006
5 890
114
63
Награды
3
32
/dev/tty0
wiki.csm.dev
  • Золотая медаль 311
  • Tux
  • Серебряная медаль 311
Не обязательно зип. Это к примеру. А вот про поддержку редакторами я совсем забыл, да. Но опять же есть джекхаммер, он же вроде умеет без вадов из папки брать текстуры. И тот же геаркрафт умеет пнг.
 

FiEctro

Супер Модератор
Команда форума
Супер Модератор
28.07.2006
17 145
345
83
Награды
2
27
Эквестрия
  • Золотая медаль 213
  • Neh
2 slux:
Не умеет, Ксерокс боится что в Джеке будут маппать под Ксаш, и даже принципиально отказался публиковать СДК по плагинам ИМХО.
 

Донат - Операционные расходы

Итого
1 191.00 $
Цель
1 300.00 $
Донат завершается:

Доноры Красавчики

Новые сообщения

Пользователи онлайн