XaeroX писал: Decay
Так и лайтмапу надо поделить на два в компиляторе. Перед тем как клампить в диапазон (0, 255). Тогда и получится расширенный диапазон (0, 511), или истинный овербрайт.
В первой паранойе вроде так было
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Я так понял надо сделать операцию с лайтмапой, чтобы она осветлилась, потом смешивать обычным способом чтобы не было такой выкрученной цветовой насыщенности
А было бы еще проще спросить у Enokilis, как именно он прописал в коде
Цитата:
As far as I know, the only way to achieve the same effect in one rendering pass is to use the texture combiner extension, as I did here.
Пропатченный Steam HL:
здесь тоже brightness 0 и gamma 2.5
Добавлено 05-09-2023 в 23:33:
Ну да, я уже постил овербрайт в стимовской хл
Добавлено 06-09-2023 в 00:13:
Обнаружил интересную деталь.
Я завел квар gl_overbright, и в R_BuildLightmap это выглядит так:
C++ Source Code:
1
if( CVAR_TO_BOOL( gl_overbright ))
2
{
3
dest[0] = Q_min((bl[0] >> 9), 255 );
4
dest[1] = Q_min((bl[1] >> 9), 255 );
5
dest[2] = Q_min((bl[2] >> 9), 255 );
6
}
7
else
8
{
9
dest[0] = Q_min((bl[0] >> 7), 255 );
10
dest[1] = Q_min((bl[1] >> 7), 255 );
11
dest[2] = Q_min((bl[2] >> 7), 255 );
12
}
В реальном времени она вызывается только для динамического света типа обычного фонарика.
Как переключаю:
C++ Source Code:
bind [ "gl_overbright 0"
bind ] "gl_overbright 1"
Корректная картинка будет только после сейв-рестора.
И знаете что? В GoldSrc такая же особенность
Добавлено 06-09-2023 в 00:25:
Почему я сразу это не заметил - в моей модификации ксаша при переключении квара яркость картинки сильно меняется, а в голде лишь немного.
Я понял что при изначальном gl_overbright 0 на загруженной карте в GoldSrc будут цветные пятна, и переключение на 1 лишь немного подсветит картинку
Ну так и в софтваре лайтмапы ярче. Я давно говорил, но вы меня не слушали.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
XF-Alien писал: Примерно то, о чем в видео - уже делает VHLT на уровне компиляции. А именно более корректную работу с цветовым наполнением: отвратительных бледных кругов в центральной части световых пятен нет, как и "зеленоватых разводов".
Цитата:
Crystallize писал: Суть в том что по превышении некоего порога яркости лайтмапы, она накладывается не умножением, а сложением. Компилятор тут не поможет.
Если посчитать получившийся код правильной реализацией овербрайта, можно сказать что вы оба правы. Заметная разница видна на оригинальных уровнях, сделанных старыми компиляторами. Я проверил на своих картах, скомпилированных VHLTv34, и переключение овербрайта в обоих движках ничтожно влияет на картинку. В GoldSrc становится светлее на 0.1% (скажем так), в Xash3D темнее на 0.1%, это только если сильно присмотреться.
Crystallize писал: В смысле темнее? Там и так всё обычно темнее чем на ГС.
Переформулирую.
gl_overbright 1 не оказывает никакого влияния на VHLT-картах, кроме едва заметного изменения яркости. Если интересно: https://imgur.com/a/5VpsHNK
Decay Ну да, на грани погрешности. А что это за карта?
Добавлено 06-09-2023 в 23:43:
Я не могу вычитанием поймать эту разницу в Фотошопе. Мистика какая-то. Но возможно что вся разница от того что я не совсем точно подобрал гамму для Ксаша, скажем не 0.655 а 0.666. Или это какая-то погрешность, разница между софтварной и аппаратной гаммой. В Фотошопе удается поймать только разницу в оттенке цвета, даже не в яркости.
Он не знает половины параметров, пришлось дописывать окончание _ARB, это ничего страшного я надеюсь?
Исправления только в двух местах, здесь и ещё где сдвиг на 9 бит? Лайтмапа исправилась, но всё равно не совпадает с ГС. Всё ещё светлее в хайлайтах и чуть плывет разводами по гамме.
Спасибо большое. Я не вижу смысла на самом деле делать динамическое переключение овербрайта, его один раз настроил и всё.
Цитата:
Decay писал: RGB_SCALE здесь не имеет смысла. Убираем его, делаем сдвиг на 8 бит и получаем такой же результат.
Разводов стало меньше и лайтмапа чуть поменялась, теперь почти совпадает. Но максимум яркости лайтмапы (как он рендерится в итоге) всё ещё в ГС 170, а в Ксаше 157.
Decay писал: Наверное твоя версия движка проверяет еще старое расширение. А в ней работают детальные текстуры?
Походу нет, я dm_port_akaba с ксм запускаю, а он тёмненький.
Цитата:
Decay писал: Если посчитать получившийся код правильной реализацией овербрайта, можно сказать что вы оба правы. Заметная разница видна на оригинальных уровнях, сделанных старыми компиляторами. Я проверил на своих картах, скомпилированных VHLTv34, и переключение овербрайта в обоих движках ничтожно влияет на картинку. В GoldSrc становится светлее на 0.1% (скажем так), в Xash3D темнее на 0.1%, это только если сильно присмотреться.
Так у китайца же самый низкий порог нормализации из всех, 188. Даже в оригинале-196, а так-то и 255 можно.
Цитата:
Decay писал: Заметная разница видна на оригинальных уровнях, сделанных старыми компиляторами. Я проверил на своих картах, скомпилированных VHLTv34, и переключение овербрайта в обоих движках ничтожно влияет на картинку. В GoldSrc становится светлее на 0.1% (скажем так), в Xash3D темнее на 0.1%, это только если сильно присмотреться.
Посмотри карту xash_demo, на улице и на 2 этаже. Там приборная панель пол-зала стала засвечивать.