ПрограммированиеФорумГрафика

HDR questions

Страницы: 1 2 3 Следующая »
#0
3:05, 23 дек 2006

Использую оператор тонового маппинга Рейнхарда (тот, который в DXSDK HDR Pipeline).

1) Если в сцене большое черное пятно в середине экрана, и некоторые детали по бокам, то средняя яркость близка к нулю, а потому множитель 1 / La стремится к бесконечности и я получаю черное-белую картинку ( черное пятно посередине и белые края ). Как то довольно неестесственно выглядит. Как бороться с такими ситуациями? Сцены, где дисперсия яркости мала, не предлагать =)

2) Нужно размазывать блумом исходное HDR изображение или помаппенное, но неприведенное? Ведь если оператор маппинга превратил область средней яркости в белый цвет, потому что вокруг нее было темно (как в пункте 1), то она, наверное, должна светиться =) Но поскольку я блумю незамапенные области, она даже не проходит BrightPass.

В принципе, можете отправлять на хорошие паперы. В своем ShaderX ничего кроме вышеупомянутого оператора Реунхарда не нашел =((


-- Правка - точку на вопросительный знак )

#1
3:17, 23 дек 2006

Вот что сейчас получается:

с HDR:
Изображение удалено

Без HDR:
Изображение удалено

Засветка стены если переместить камеру так, чтобы она видела только кусок стены и тьму =).
Изображение удалено

Если надо, могу запостить код Final-pass шейдера.

#2
8:39, 23 дек 2006

кажется у тебя luminance не правильно считается

#3
8:44, 23 дек 2006

Там в r канале лежит средняя яркость, в g - максимальная.

#4
8:52, 23 дек 2006

а может оно и верно, когда в темной сцене чтото очень ярко светиться - оно тебя слепит, я думаю в реальном уровне таких вещей не должно быть

#5
11:30, 23 дек 2006

ограничивай среднее значение яркости снизу и сверху.

#6
17:10, 23 дек 2006

Просто тупо константами? Тогда нужны логичные обоснованные значения. Вы как делаете?

#7
17:12, 23 дек 2006

>>Просто тупо константами?
Да

>>Тогда нужны логичные обоснованные значения
Нужны просто хорошо подходящие значения. Причина - человеческий глаз не может расширить зрачёк на километр в темноте, и не может сузить до нанометра, при просмотре солнца.

#8
17:17, 23 дек 2006

Это я понимаю. А какие значения лучше подойдут? Ну или примеры какие-нибудь в зависимости от сцены исходя из личного опыта.

И вот еще вопрос: у меня создается чувство, что сцена с HDR сильно уж пересвечена, если сравнивать ее со сценой без tone mapping (см. Скриншоты). Это нормально или маппинг все-же должен как-то поравномерней сжимать яркие области. Тут Ambient сцены 0.3, Light intensity - 5 ( и у зеленого, и у белого ).

#9
17:24, 23 дек 2006

hr0nix
Я делал HDR по этому же методу и у меня был точно такой же глюк если это так можно назвать. Советую посмотреть другие методы и примеры (например HDR with 2x FP16 MRTs из NVSDK или дизассемблировать шейдеры из того же Rthdribl)

#10
17:35, 23 дек 2006

_zerg_
А в итоге на чем ты остановился?

#11
17:49, 23 дек 2006

hr0nix
>А в итоге на чем ты остановился?
Я пока без адаптации оставил. И так неплохо выглядит) Просто не было времени переделывать. Кстати в Dark Messiah of M&M адаптация неплохо сделана. Надо будет потом шейдеры выдрать да поизучать ))

#12
17:56, 23 дек 2006

Так я и делаю без адаптации. Как в DXSDK HDR Pipeline (а не HDR Lighting).

И все еще открыт вопрос про яркость сцены (см. выше) =)

#13
0:04, 24 дек 2006

Ох-ха. Один из лучших математиков моего курса немного поработал над тоновым маппингом + я добавил адаптацию по времени. Получилось во сто крат лучше. Если кому интересно - пишите, дам скрины и формулы )

#14
1:27, 24 дек 2006

Интересно, конечно.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.