HLFX.Ru Forum Страницы (10): « Первая ... « 4 5 6 7 [8] 9 10 »
Показать все 146 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Диалоги о лайтмапах. (https://hlfx.ru/forum/showthread.php?threadid=2525)


Отправлено FiEctro 12-03-2024 в 07:10:

Цитата:
Дядя Миша писал:
Особенно ФиЭктро, как он вообще работает в игродеве и ничерта не знает, как его туда взяли.


Да наверное я просто мысли неправильно свои как то излагаю. Про диапазон я знаю. Речь об Eye Adaptation. Когда смотришь на яркую лампочку, и глаза адаптируются и она уже кажется не такой яркой. Я вот и говорю что несмотря на то что у тебя большой диапазон, и солнце яркое например светит на стену здания, то в тёмном помещении эта стена должна выглядеть яркой, а вблизи в упор наоборот более умеренной. А так она будет либо всегда яркой либо всегда затемненной в независимости от диапазона.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 12-03-2024 в 07:14:

Цитата:
FiEctro писал:
Речь об Eye Adaptation

Так а зачем ты его называл HDR? На моей памяти эту фишку только в Lost Coast и юзали в том виде, в котором мы её запомнили, а больше нигде.
Если она в других играх и присутствует, то на грани различимости.

Смысл Eye Adaptaion в том, что если тебе в морду солнцу светит, то всё остальное ты вообще не можешь увидеть - солнце слепит. То есть никаким расширенным диапазоном тут и не пахнет, это просто автоматическая регулировка яркости по особым формулам.

__________________
My Projects: download page

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

Цитата:

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


Отправлено FiEctro 12-03-2024 в 07:16:

Цитата:
Дядя Миша писал:

Смысл Eye Adaptaion в том, что если тебе в морду солнцу светит, то всё остальное ты вообще не можешь увидеть - солнце слепит. То есть никаким расширенным диапазоном тут и не пахнет, это просто автоматическая регулировка яркости по особым формулам.


Вот это я и имел ввиду. Я просто хотел узнать как это реализовано в сорсе. Пытался ковырять исходник, но ничего дельного не нашел.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 12-03-2024 в 07:21:

Цитата:
FiEctro писал:
Я просто хотел узнать как это реализовано в сорсе

Ну посмотри как в P2 сделан DOF. Принцип тот же, только шейдер другой.

__________________
My Projects: download page

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

Цитата:

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


Отправлено SNMetamorph 12-03-2024 в 16:24:

Цитата:
FiEctro писал:
Для всех пикселей разом? Или он как то делает выборку, там в фокусе яркое пятно или нет?


В прайме этот алгоритм полностью реализован и работает, соответственно ты можешь почитать исходники. А готовых статей по всему этому толком и нет, кажется был только пейпер "Moving Frostbite to PBR", как-то так он назывался. Ну и года три назад попадалось пару статей по этому exposure autocorrection, но там имплементация только через компьют шейдеры была. Такое мне не подходило, и я сделал иначе.

Добавлено 12-03-2024 в 18:38:

Ещё, абсолютно то же самое происходит и в фотоаппаратах: динамический диапазон матрицы довольно ограничен, поэтому приходится подстраивать время выдержки, ISO, и раскрытие диафрагмы так, чтобы попасть в самый оптимум, когда нет пересветов и черноты. Касательно того, как именно считается средний уровень яркости на экране, в фотоаппарате можно метод выбрать вручную: матричный, центровзвешенный и точечный. В играх такой опции, понятное дело, нет, и в 90% случаев используется центровзвешенный.

Добавлено 12-03-2024 в 20:24:

Цитата:
FiEctro писал:
Я просто хотел узнать как это реализовано в сорсе. Пытался ковырять исходник, но ничего дельного не нашел.

Хреново там сделано. На то время, правда, ещё и не было механизмов это всё реализовать правильно. Если интересно углубиться подробнее, то это пейпер "HDR in Valve’s Source Engine" с SIGGRAPH 2006

__________________
SNMetamorph's Personal Blog
Xash3D Modding Discord


Отправлено Crystallize 17-03-2024 в 08:50:

Цитата:
Дядя Миша писал:
формулы затухания разные. Это очень хрупкая штука, она постоянно норовит нарушить закон сохранения энергии.

Это те что trans в MakeTransfer и total в MakeScales?


Отправлено Дядя Миша 17-03-2024 в 14:05:

Да. Точнее даже не сами формулы, а их константы.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 17-03-2024 в 16:40:

Дядя Миша Я не понимаю как хлрад может функционировать при total=0.5/M_PI, там сразу пересвет получается. Если строго следовать алгоритму то нужно трансферы обрезать не на 0.8 а на 0.000001. Если не очень строго то на 0.0001.


Отправлено Crystallize 19-03-2024 в 18:50:

Зачем в p2st происходит домножение текслайтов и рефлективности патчей на 0.5/M_PI?


Отправлено Дядя Миша 19-03-2024 в 19:05:

Цитата:
Crystallize писал:
Зачем в p2st происходит домножение текслайтов и рефлективности патчей на 0.5/M_PI?

Половинное распределение по Монте-Карло.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 23-03-2024 в 14:41:

Дядя Миша
Я так понимаю в Сорсе это уже встроено в расчёт трансферов вот здесь?

code:
lFormFactor *= ( 0.5f / pPolygon->area ); // divide by pi later, multiply by area later

Однако! По факту они так и не домножили на арею и не поделили на Пи, как обещают в комменте. Забыли чтоли?


Отправлено Дядя Миша 23-03-2024 в 14:48:

C++ Source Code:
1
// the total transfer should be PI, but we need to correct errors due to overlaping surfaces
2
if (total > M_PI)
3
  total = 1.0f/total;
4
else
5
  total = 1.0f/M_PI;

__________________
My Projects: download page

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

Цитата:

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


Отправлено Crystallize 24-03-2024 в 10:32:

Короче я перенес в соурс эти константы из p2st. Весьма просто на самом деле.

Вот соурс.


Вот с константами из p2st


Вот я выключил Pull light from children в CollectLight. Яркость отскоков почти не падает, поэтому 3 баунса.


Вот я к тому же включил FormFactorPolyToDiff из обычного сорсовского кода трансферов и к тому же внутри этой функции домножил на арию патча и поделил на пи. Здесь тоже 3 баунса.


Мне больше всего нравится конечно последняя из-за равномерности. К тому же там баунсы на заборчике реально отражают где под ними освещённый пол а где нет. В сорсе без этого всё смотрится странно.

Я не понимаю что такое эта Pull light from children. Это необходимость связанная с переходом на кудвачный формат BSP где фейсы не лежат на ноде? Или это просто решение принятое для конкретной имплементации осветительного алгоритма? Если она нужна то почему без неё всё не ломается?


Отправлено FiEctro 24-03-2024 в 10:42:

Цитата:
Crystallize писал:
Короче я перенес в соурс эти константы из p2st. Весьма просто на самом деле.


Лучше наоборот


Отправлено Crystallize 24-03-2024 в 10:54:

Вот Pull light никто не выключал а просто включен FormFactorPolyToDiff и кастомное домножение. Баунсы затухают нормально.


Временная зона GMT. Текущее время 11:13. Страницы (10): « Первая ... « 4 5 6 7 [8] 9 10 »
Показать все 146 сообщений этой темы на одной странице

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