2 mittorn:
Я не знаю о чем ты. Альфа канал находится в каналах (как ни странно) и при сохранении устанавливается галка "Alpha Channels" - на выходе tga с альфой. Полагаю так всегда и было.
Я тут вот чо заметил, HQ-текстура (диффузка) практически идентична таковой 8-битной текстуре в подавляющем большинстве случаев, ну за исключением конечно скайбоксов и облаков. То есть смысла особого нет держать для них. Вот нормалмапа, для микрорельефа - это да, должна быть в полном качестве. Так что я пожалуй не буду схоронять диффузку полноцветную в вад. Возможность такая останется конечно, но по дефолту она писаться не будет. Зато я его научу делать 8-битные текстуры из текстур с альфа-каналом, при условии, что альфа там однобитная (практика показывает, что народ в основном именно такие и юзает). Да и глосску можно смело в 8 бит. А вот насчёт скайбоксов и кубемап - я научу инструментарий распознавать суффиксы и помечать стороны для удобства. Тоже пригодится.
2 FiEctro: нет, для градиентной альфы будет использоваться полноценная маска. Но в большинстве случаев альфа представляет собой черный фон, на котором прогрызаны белые участки.
2 FiEctro: нет, для градиентной альфы будет использоваться полноценная маска. Но в большинстве случаев альфа представляет собой черный фон, на котором прогрызаны белые участки.
Нет, альфа будет основна на анализе альфа-канала. Если в альфа-канале присутствуют исключительно два значения (000 и 255 255 255), то такая альфа автоматически становится однобитной, а сама текстура жмётся в 8 бит.
А смысл хранить отдельной текстурой то, что может занять 1 цвет в поллитре?
Основная проблема заключается в том, что народу лень перегонять вот эту альфу в индексированные текстуры, да и нет нормальных инструментов по сути.
Альфа-канал это всегда головная боль для разработчика. Мои тулзы с незапамятных времён как раз и облегчают работу с ним.
Только в случае индексированных текстур в 98 году.
А 8битная альфа используется для дистанс филда. Чтобы не было пиксельных краев при альфа тесте.
Про гамму мне так никто и не объяснит?
Не, я не люблю этот дистанс-филд. Вон в фаркрае третьем, когда тебя внезапно телепортирует, то домик начинает из дырочек собираться почти 0.2 секунды, выглядит омерзительно. Про уинджин я вообще молчу.
Вы щас по сути соревнуетесь в выдумании невозможных ситуаций.
ФиЭктра меня спросил, а что если я стену захочу покрасить радугой.
Специально напоминаю, для тех кто захочет полноцветные текстуры - джипег никуда не денется, просто по дефолту я так и буду их жать в индексированные - приятнее выглядит. Да и грузится быстрее.
Тут ведь какое интересное дело получается - диффузка и не должна быть высокого разрешения, потому что как его не увеличивай, но деталей на ней от этого не прибавится, а если и прибавится, то они будут носить регулярный характер, в силу чего глаз их просто не воспримет. И совсем другое дело, когда мы на диффузку 512х512 накладываем нормалмапу 1024х1024, тут уже получается отличная детализация. И про детайл-мапу не забываем.
Да что я говорю - ведь в параное так оно и было, никто же не заметил что там диффузки 8-битные. А многие и сейчас не в курсе.
Причём и в первой параное и во второй. Я сперва думал, вам нужна 8-битная альфа. Но на днях я проанализировал довольно много полноцветных текстур с альфой и с ужасом убедился что она там вся 1-битная. Значит дело в другом. А чём? А в том, что никто не умеет перегонять эти текстуры с альфа-каналом в 8-битную картинку с 1-битной альфой. Ну нету таких утилит, просто нету. Во всяком случае я о них ничего не слышал. Значит только ручками рисовать, а это долго и неудобно. Вот и хотят полноцветные текстуры юзать ради однобитной альфы. Видите как интересно получается? Значит надо дать народу универсальный инструмент (точнее встроить алгоритм в мейквад), который бы детектировал однобитную альфу в альфа-канале, и всё что в этой альфе бы сразу красил в синий цвет, потом бы квантизатор это сжал в 8 бит, а стандартные халфовские алгоритмы переместили бы синий цвет в последний в палитре. Единственно насчёт чего я волнуюсь, как бы этот радикально синий цвет не похерило чуть-чуть, хоть квантизатор и умный, но такая возможность не исключена. Впрочем это поле для будущих экспериментов.
Post automatically merged:
ЗЫ. не упомянул еще один кейс. Тот же фиэктра меня спросил, а что если я захочу покрыть ландшафт одной текстурой 2048х2048. Я ему напомнил, что в Rage ландшафт покрыт текстурой 64 000 х 64 000 и все от него плевались, за то что текстура прогружается несколько секунд. А вот в срузисе нет этой идиотии и все довольны. Ну да, там текстуры повторяются, но кого это парит? Люди настолько нетребовательны, что их даже повторяющиеся модели пещер или пальм не особо напригают. А вы говорите - мегатекстура.
Не, я не люблю этот дистанс-филд. Вон в фаркрае третьем, когда тебя внезапно телепортирует, то домик начинает из дырочек собираться почти 0.2 секунды, выглядит омерзительно. Про уинджин я вообще молчу.
Ты же так расхваливаешь выравнивание по гамме, рассказываешь про волшебные утилиты, которые это делают, видишь в других играх невыровненные текстуры, от которых слёзятся глаза и понос начинается. Расскажи, что же это за выравнивание такое и как его найти?
Тут ведь какое интересное дело получается - диффузка и не должна быть высокого разрешения, потому что как его не увеличивай, но деталей на ней от этого не прибавится, а если и прибавится, то они будут носить регулярный характер, в силу чего глаз их просто не воспримет.
Текстура несколько секунд прогружалась, потому что она лежала в архиве запакованная. И для ускорения этого дела был предусмотрен кэш на диске, но из-за отсутствия прав в винде папка под кэш не создавалась, и все текстуры шли прямо из архива. Если вручную эту папку создать, то текстуры нормально будут загружаться. Ну более-менее нормально.
Это я фпараное сделал, тащем-то с однобитной альфой. Больше скажу - оно и нужно лишь для однобитной альфы, чтобы хоть как-то нивелировать отсутствие 8-битной. Но метод не универсальный, кое-где не помогает.
ЗЫ. это делается через smoothstep, можешь в шейдере посмотреть.
Расскажи, что же это за выравнивание такое и как его найти?
Текстура несколько секунд прогружалась, потому что она лежала в архиве запакованная. И для ускорения этого дела был предусмотрен кэш на диске, но из-за отсутствия прав в винде папка под кэш не создавалась, и все текстуры шли прямо из архива. Если вручную эту папку создать, то текстуры нормально будут загружаться. Ну более-менее нормально.