HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > gl_overbright
Страницы (7): « 1 2 [3] 4 5 6 7 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Decay
Житель форума

Дата регистрации: Mar 2010
Проживает: N/A
Сообщений: 231

Рейтинг



Цитата:
Crystallize писал:
Посмотри карту xash_demo, на улице и на 2 этаже. Там приборная панель пол-зала стала засвечивать.

По-моему это настолько старая карта, что компилилась еще ZHLT.

https://i.imgur.com/FcsFKBs.pnghttps://i.imgur.com/gfryV6E.png
https://i.imgur.com/tWv1JWr.pnghttps://i.imgur.com/XXryh1B.png

P.S. Для r_lightmap тоже нужно вводить проверки
C++ Source Code:
int shift = ( CVAR_TO_BOOL( gl_overbright ) && !CVAR_TO_BOOL( r_lightmap ) ) ? 8 : 7;

C++ Source Code:
else if( FBitSet( r_lightmap->flags, FCVAR_CHANGED ))
{
  GL_RebuildLightmaps();
  ClearBits( r_lightmap->flags, FCVAR_CHANGED );
}

Отредактировано Decay 11-09-2023 в 20:37

Сообщить модератору | | IP: Записан
Сообщение: 215758

Старое сообщение 11-09-2023 20:24
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



Decay У меня Ксаш не так выглядит, надо будет собственное сравнение сделать. На первой картинке у меня с овербрайтом желтизны совсем нет. Может быть это как раз из-за того что я заюзал функции с суффиксом ARB?

Ты сравни Ксаш и голдсурс, а не Ксаш с Ксашем.

Цитата:
Decay писал:
P.S. Для r_lightmap тоже нужно вводить проверки

А что, в Голдсурсе битовый сдвиг при r_lightmap какой-то другой?

Добавлено 12-09-2023 в 10:06:

Если да то какой смысл был Вальве так делать, это же недостоверный эксперимент.

Кстати глядя на все эти сдвиги и как они уничтожают засвет, я захотел так же убрать сдвиги в ХЛ2. Открыл утечку 2012 года но там функция R_buildlightmaps в этом месте по сути обрывается, как-то совсем по-другому всё устроено.

Отредактировано Crystallize 12-09-2023 в 03:09

Сообщить модератору | | IP: Записан
Сообщение: 215765

Старое сообщение 12-09-2023 03:06
- За что?
Decay
Житель форума

Дата регистрации: Mar 2010
Проживает: N/A
Сообщений: 231

Рейтинг



Цитата:
Crystallize писал:
У меня Ксаш не так выглядит, надо будет собственное сравнение сделать.

Наверно из-за того что у меня не применен твой gamma curve fix. Я затрудняюсь с этим пунктом: in Image_SetPalette wrap 3 texture channels into TextureToGamma()

Цитата:
Crystallize писал:
Может быть это как раз из-за того что я заюзал функции с суффиксом ARB?

Я у себя совсем убрал текстурный комбайн, он только для GL_RGB_SCALE был нужен.
C++ Source Code:
1
pglDisable( GL_ALPHA_TEST );
2
if( CVAR_TO_BOOL( gl_overbright ) )
3
  pglBlendFunc( GL_DST_COLOR, GL_SRC_COLOR );
4
else
5
  pglBlendFunc( GL_ZERO, GL_SRC_COLOR );
6
 
7
pglTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
8
 
9
// render static lightmaps first

А по поводу _ARB — разницы нет, эти дефайны присутствуют в Ксаше именно под такими историческими именами ("одобрено консорциумом ARB"), а значения те же самые.

Цитата:
Crystallize писал:
А что, в Голдсурсе битовый сдвиг при r_lightmap какой-то другой?

Именно при r_lightmap нет, но зависит от gl_overbright. Если овербрайт включен, лайтмапа при r_lightmap будет выглядеть темнее. Я просто решил что нужно сохранить прежнее поведение этой команды, чтобы яркость лайтмапы для ее просмотра всегда была одна и та же.

Добавлено 12-09-2023 в 11:44:

Цитата:
Crystallize писал:
глядя на все эти сдвиги и как они уничтожают засвет

Его уничтожает именно другой блендинг

Добавлено 12-09-2023 в 11:55:

Хотя мы можем увидеть засветы при GL_ZERO,GL_SRC_COLOR и >>9 или >>10, но это все выглядит очень темно

Добавлено 12-09-2023 в 12:15:

pglBlendFunc( GL_ZERO, GL_SRC_COLOR );
shift = 9
brightness 0
gamma 1
https://i.imgur.com/7JeemxE.png

Вариант с GL_DST_COLOR,GL_SRC_COLOR все же покрасивее будет

Отредактировано Decay 12-09-2023 в 04:58

Сообщить модератору | | IP: Записан
Сообщение: 215766

Старое сообщение 12-09-2023 05:15
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



Цитата:
Decay писал:
Наверно из-за того что у меня не применен твой gamma curve fix. Я затрудняюсь с этим пунктом: in Image_SetPalette wrap 3 texture channels into TextureToGamma()

Вот Дядя Миша объяснял: https://hlfx.ru/forum/showthread.ph...1036#post201036

Всё остальное, ну там фиксация g3 в гамме - уже неактуальна с овербрайтом. Разницы не вижу по крайней мере.

Добавлено 12-09-2023 в 13:10:

Цитата:
Decay писал:
Его уничтожает именно другой блендинг

Даже с новым блендингом, если я просто меняю размер сдвига то возникает засвет как в сорсе. Чисто белое пятно.

Отредактировано Crystallize 12-09-2023 в 06:12

Сообщить модератору | | IP: Записан
Сообщение: 215768

Старое сообщение 12-09-2023 06:10
- За что?
Decay
Житель форума

Дата регистрации: Mar 2010
Проживает: N/A
Сообщений: 231

Рейтинг



Да, вместо "другой блендинг" было правильно написать "оригинальный блендинг, который GL_ZERO,GL_SRC_COLOR".

Добавлено 12-09-2023 в 14:07:

Цитата:
Crystallize писал:
Открыл утечку 2012 года но там функция R_buildlightmaps в этом месте по сути обрывается, как-то совсем по-другому всё устроено.

Посмотрел утечку 2018 года, там такое следование:
R_BuildLightMap
R_BuildLightMapGuts
ComputeLightmapFromLightstyle
AccumulateLightstyles
Перегруженная функция. Один из вариантов:
C++ Source Code:
1
//-----------------------------------------------------------------------------
2
// Compute the portion of the lightmap generated from lightstyles
3
//-----------------------------------------------------------------------------
4
static void AccumulateLightstyles( ColorRGBExp32* pLightmap, int lightmapSize, float scalar )
5
{
6
  Assert( pLightmap );
7
  for (int i=0; i<lightmapSize ; ++i)
8
  {
9
    blocklights[0][i][0] += scalar * TexLightToLinear( pLightmap[i].r, pLightmap[i].exponent );
10
    blocklights[0][i][1] += scalar * TexLightToLinear( pLightmap[i].g, pLightmap[i].exponent );
11
    blocklights[0][i][2] += scalar * TexLightToLinear( pLightmap[i].b, pLightmap[i].exponent );
12
  }
13
}

Не знаю, оно или нет... Конечно тут все сложнее.

Добавлено 12-09-2023 в 14:09:

P.S. Если используешь Notepad++, советую делать поиск по файлам Ctrl+Shift+F

Сообщить модератору | | IP: Записан
Сообщение: 215771

Старое сообщение 12-09-2023 07:09
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



В сорсе HDR-лайтмапы, там вообще нет этого смещения.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 215775

Старое сообщение 12-09-2023 08:06
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



Дядя Миша HL2 на релизе имел LDR лайтмапы и в Эп2 в движке и в раде всё ещё есть поддержка для них.

Сообщить модератору | | IP: Записан
Сообщение: 215779

Старое сообщение 12-09-2023 08:53
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



В общем сначала карта на ксаше:


Чтобы сравнить движки, скомпилил её заново p2st только с самыми основными энтитями:
ксаш:


для сравнения гс:

блин, там была яркость 1, вот яркость 0
https://alxgk.ru/uploader/img/db9e2...88c6c5a987d.jpg
https://alxgk.ru/uploader/img/a3448...3f47a554e6e.jpg

Отредактировано Crystallize 12-09-2023 в 17:51

Сообщить модератору | | IP: Записан
Сообщение: 215815

Старое сообщение 12-09-2023 17:38
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Crystallize писал:
HL2 на релизе имел LDR лайтмапы

HL2 всегда имел HDR лайтмапы в RGBe. Даже в утёкшей бетке.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 215819

Старое сообщение 12-09-2023 18:11
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



Цитата:
Decay писал:
Я у себя совсем убрал текстурный комбайн, он только для GL_RGB_SCALE был нужен.

Можно оставить только SOURCE0 SOURCE1 и всё равно работает о_О

Дядя Миша Хм, а в ксашмоде-2019 были ещё эти вот glsl-шейдеры, и там тоже есть и сдвиг на 7 бит, и скейл яркости... но оно уже влияния не оказывает почему-то.

Добавлено 13-09-2023 в 01:39:

Decay Я понял почему у меня такой засвет. В гамме идёт вычисление texgammatable на основе TEXGAMMA, а она у меня 0,655. Если поменять TEXGAMMA на 0.9 или на g1 то будет как у тебя.

Сообщить модератору | | IP: Записан
Сообщение: 215821

Старое сообщение 12-09-2023 18:39
- За что?
Decay
Житель форума

Дата регистрации: Mar 2010
Проживает: N/A
Сообщений: 231

Рейтинг



Эм...
Посмотрел как бы сделать и в XashXT такое. Нашел в glsl/const.h

C++ Source Code:
#define LIGHTMAP_SHIFT		(1.0 / 128.0)	// same as >> 7 in Quake

Где используется: glsl/bmodelsolid_fp.glsl
C++ Source Code:
#if defined( BMODEL_APPLY_STYLE0 ) || defined( BMODEL_APPLY_STYLE1 ) || defined( BMODEL_APPLY_STYLE2 ) || defined( BMODEL_APPLY_STYLE3 )
light = min(( light * LIGHTMAP_SHIFT ), 1.0 );
#endif

Поменял на 2.0 и получил результат. Не думал что будет так просто Но надо проверить, не вылезло ли это боком где-то в другом месте.
https://i.imgur.com/IDu6IN4.pnghttps://i.imgur.com/IODcIWl.png

Кстати заметил особенность. В valve\scrshots лежит xash_demo_shot0007.bmp. А в ксаш-моде скриншоты продолжают отсчитываться от них: xash\scrshots\xash_demo_shot0008.bmp, xash_demo_shot0009.bmp...

Добавлено 13-09-2023 в 21:16:

Я так посмотрел -- хорошая штука эти GLSL шейдеры.

Сообщить модератору | | IP: Записан
Сообщение: 215845

Старое сообщение 13-09-2023 14:16
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



Decay а у меня это не работает. Но у меня и рендер в ксаше не переключается. Может я запортил что-то.

Сообщить модератору | | IP: Записан
Сообщение: 215848

Старое сообщение 13-09-2023 14:37
- За что?
Decay
Житель форума

Дата регистрации: Mar 2010
Проживает: N/A
Сообщений: 231

Рейтинг



Даже не знаю. У меня последний XashXT 0.81 rev. 2. Если менял код, надо проверить HUD_GetRenderInterface, cldll_func_t cldll_func, static render_interface_t gRenderInterface...

Сообщить модератору | | IP: Записан
Сообщение: 215850

Старое сообщение 13-09-2023 15:17
- За что?
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4423
Возраст: 34

Рейтинг



Если что я просто возьму ваниллу и буду виндиффить

Сообщить модератору | | IP: Записан
Сообщение: 215851

Старое сообщение 13-09-2023 15:27
- За что?
a1batross
Житель форума

Дата регистрации: May 2016
Проживает: Москва
Сообщений: 516
Возраст: 26

Рейтинг



Цитата:
Decay писал:
Кстати заметил особенность. В valve\scrshots лежит xash_demo_shot0007.bmp. А в ксаш-моде скриншоты продолжают отсчитываться от них: xash\scrshots\xash_demo_shot0008.bmp, xash_demo_shot0009.bmp...


Это баг, там всего нужно false на true поменять в cl_cmds.c. https://github.com/FWGS/xash3d-fwgs...be88848090f0aa8

__________________
Xash3D FWGS форк

Сообщить модератору | | IP: Записан
Сообщение: 215852

Старое сообщение 13-09-2023 15:49
- За что?
Тема: (Опционально)
Ваш ответ:



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


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 09:34. Новая тема    Ответить
Страницы (7): « 1 2 [3] 4 5 6 7 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > gl_overbright
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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