HLFX.Ru Forum Страницы (2): « 1 [2]
Показать все 24 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Выцветание лайтмап в ксаше (https://hlfx.ru/forum/showthread.php?threadid=5643)


Отправлено Дядя Миша 03-04-2021 в 20:31:

Да, я вообще не использую его для загрузки текстур.
Добавить несложно. engine\common\imagelib\img_utils.c:277

Функция Image_SetPalette
там есть кейсы такого вида:

C++ Source Code:
1
case LUMP_NORMAL:
2
  for( i = 0; i < 256; i++ )
3
  {
4
    rgba[0] = pal[i*3+0];
5
    rgba[1] = pal[i*3+1];
6
    rgba[2] = pal[i*3+2];
7
    rgba[3] = 0xFF;
8
    d_table[i] = *(uint *)rgba;
9
  }

Надо эти цвета пропустить сквозь гамму палитры. Вот так
C++ Source Code:
1
case LUMP_NORMAL:
2
  for( i = 0; i < 256; i++ )
3
  {
4
    rgba[0] = TextureToGamma( pal[i*3+0] );
5
    rgba[1] = TextureToGamma( pal[i*3+1] );
6
    rgba[2] = TextureToGamma( pal[i*3+2] );
7
    rgba[3] = 0xFF;
8
    d_table[i] = *(uint *)rgba;
9
  }

Принцип понятен. Ну и на остальных кейсах сделать тожы самое. Градиент, Маскед, Экстендед. Альфа-канал через гамму пропускать не надо. Доработаешь - будет гамма к текстурам применяться.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 06-04-2021 в 18:01:

Фулбрайт совпал с гс при тексгамме 0.65 о_О
А как применить тексгамму на скайбокс?

Смотрелка лайтмап в гс прямо везде-везде сломана или все же где-то работает? Я не могу на Ксаше добиться нужного контраста, у меня тени слишком серые а света слишком темные, яркость ноль и и повышение яркости влияет только на тени.


Отправлено Дядя Миша 06-04-2021 в 18:04:

Цитата:
Crystallize писал:
А как применить тексгамму на скайбокс?

ДА НЕ КАК!!!

Добавлено 06-04-2021 в 21:04:

Цитата:
Crystallize писал:
Смотрелка лайтмап в гс прямо везде-везде сломана или все же где-то работает?

r_lightmap 1 и фонариком свети на стены.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 07-04-2021 в 16:54:

Цитата:
Дядя Миша писал:
r_lightmap 1 и фонариком свети на стены.

И ничего не происходит.

Лайтмапа совпала с голдсорсом (гамма 2.5) вот так:
C++ Source Code:
g3=0.125f;

гамма 2.2, яркость 1.2

Добавлено 07-04-2021 в 23:54:

Понятия не имею, что это и почему.


Отправлено Дядя Миша 07-04-2021 в 17:24:

Цитата:
Crystallize писал:
И ничего не происходит.

А раньшы работало.

Добавлено 07-04-2021 в 20:24:

Цитата:
Crystallize писал:
Понятия не имею, что это и почему.

Зато у тебя было достаточно времени, чтобы крутить константы

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Crystallize 14-04-2021 в 15:59:

А в сорсе тексгамма применяется?

Цитата:
Дядя Миша писал:
ДА НЕ КАК!!!

Ок а можно ли исключить из тексгаммы менюшные картинки?

И там ещё видно что в ксаше моделька трубы слишком ярко освещена, это что может быть?


Отправлено SNMetamorph 08-12-2021 в 11:04:

Как вообще гамма в ксаше работает? Я запутался капитально. Лайтмапы и текстуры в игру попадают изначально в линейном пространстве? А потом уже происходит какая-то особая коррекция или как? Зачем так сложно.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено SNMetamorph 08-12-2021 в 20:22:

Вроде маленько подразобрался. Для текстур и лайтмап отдельная гамма, в первом случае это константное значение 0.9, во втором задаётся кваром gamma. Затем это все единожды применяется к текстурам при загрузке, и уже откорректированные текстуры используются при рендеринге.
https://github.com/FWGS/xash3d-fwgs...f1fe81b7b0c7c2a
Этой небольшой доработкой у меня получилось в игре получить картинку именно в линейном пространстве, тестировал таким образом: в гимпе нарисовал линейный градиент от черного до белого, т.е. в самом начале яркость 0, в середине картинки 128, а в самом конце 255. Затем это всё экспортировал в .tga файл, перепроверил что гамма не изменилась, затем эту текстуру всунул в игру, сделал скриншот игры, померял пипеткой на скрине начало/середину/конец текстуры. Получилось точно так же, как я описал выше, соответственно, игра никаких изменений к текстурам не применила, и я могу гамму корректировать уже на этапе постпроцессинга ручками, как мне это нужно.

__________________
Мой сайт
Xash3D Modding Discord


Отправлено Crystallize 09-12-2021 в 03:44:

SNMetamorph так а чё разбираться, это всё было в этой теме написано


Временная зона GMT. Текущее время 23:12. Страницы (2): « 1 [2]
Показать все 24 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024