Comments 31
Круто, конечно стоит! Про гейм-девелопмент всегда интересно :)
+11
Интересно, но, на текущем этапе(судя по видео), больше похоже на автоподстройку яркости у фото\видео камеры.
+17
Однако и глазам нужно время на подстройку :)
0
Время на подстройку — не самая важная часть, это достаточно легко настраивается. Главное — сам шейдер. Кроме того тонмапинг используется в основном не для того, чтобы делать эффект перехода из тени в свет и наоборот, а для выравнивания яркости картинки, убирая пересвеченные и слишком затененные места, добавляя реалистичности общего вида картинки.
+1
Спасибо, интересные статьи.
П.с. на последних кадрах видео какое-то неестественное освежение местности фонарем, очень резкий переход на земле между темными и светлыми местами… (имхо)
П.с. на последних кадрах видео какое-то неестественное освежение местности фонарем, очень резкий переход на земле между темными и светлыми местами… (имхо)
+2
А шейдеры можно на GLSL? Конечно можно и самим переписать но если не сильно в этом разбираешься то трудновато.
+1
Для того, чтобы этот cg-шейдер заработал под GLSL достаточно переименовать vert() и frag(), а также написать функцию Luminance (=(r+g+b)/3), ну и еще unity-матрицы заменить на соответствующие glState
0
Можно кстати не переписывать, а просто скомпилировать из CG в GLSL компилятором от nVidia (cgc)
+1
То есть Вы считаете, что не разобравшись можно вот так скопировать GLSL код, и оно заработает?
0
Насколько я понимаю, человек ослепляется не просто от яркого света, а именно от источника света, направленного в глаза. Т.е. если мы посмотрим на траву, освещённую фарами, то остальная местность для нас не затемнится. А вот если фары будут бить в глаза, то затемнится. У вас заметен эффект даже когда фары не бьют в глаза, просто яркоосвещенный участок в кадре.
0
Вообще, совершенно не важно, прямой свет или отраженный. В любом случае это один и тот же пучок фотонов.
Зачастую просто отраженный свет в разы слабее прямого, так как освещаются не зеркальные поверхности.
Зачастую просто отраженный свет в разы слабее прямого, так как освещаются не зеркальные поверхности.
+3
Когда Вы находитесь в освещенной комнате ночью, то даже если не смотреть на люстру — в окне на улицу мало чего увидите. Свет он такой, имеет свойство отражаться)
upd: в следующий раз я буду обновлять комментарии
upd: в следующий раз я буду обновлять комментарии
+1
Мне показалось что как-то уж слишком сильно заужен динамический диапазон который видит человек. Все тени потеряли детали, как и яркие света.
+2
Прочитал ссылки как «Кот» и «Шредер» — пора завязывать с бездной баш.орг'а…
+2
Как то все не то. Человек в сумраке видит намного меньше цветов. + шумы и более низкое разрешение. Наверняка замечали, что читать в далеком свете фонаря тяжело — буквы видно, но они размытые. Плюс ко всему свет от фар (например от машины) прямо в глаза сразу же ослепил бы человека, ну не в прямом смысле, а то, что человек сразу видит просто вокруг белое, зажмуривается (такой эффект тоже можно сделать), а потом постепенно переходит зрение в норму, однако то что более темное чем освещение фар будет очень тусклым. Все кроме звезд.
И прямо резкого перехода нет — человек может адаптироваться к темной комнате в течении минуты. Вот выключите свет ночью в комнате. Поначалу будут шумы от изменения освещения, а позже глаза будут привыкать. Через минуту-две уже можно ходить без света. Имеется в виду конечно, что единственный источник света, это фонари на улице. А у вас свет исчез и тут же видно траву четко.
И прямо резкого перехода нет — человек может адаптироваться к темной комнате в течении минуты. Вот выключите свет ночью в комнате. Поначалу будут шумы от изменения освещения, а позже глаза будут привыкать. Через минуту-две уже можно ходить без света. Имеется в виду конечно, что единственный источник света, это фонари на улице. А у вас свет исчез и тут же видно траву четко.
+4
UFO just landed and posted this here
Это не хдр, а простая адаптация к освещению.
Нормальный хдр — это когда значения яркости в кадре имеют приближённые к реальным пропорции, т.е. Солнце в тысячи раз ярче лампочки, например. Это используется при той же адаптации, а также критично для реалистичных оптических эффектов вроде моушен блюра и DoF. Обычно для этого используют float значения, рендеря в FP рендер таргет, либо хаками пакуя флоуты в целочисленные RGB.
Нормальный хдр — это когда значения яркости в кадре имеют приближённые к реальным пропорции, т.е. Солнце в тысячи раз ярче лампочки, например. Это используется при той же адаптации, а также критично для реалистичных оптических эффектов вроде моушен блюра и DoF. Обычно для этого используют float значения, рендеря в FP рендер таргет, либо хаками пакуя флоуты в целочисленные RGB.
+1
В данном случае для обработки изображения используется HDR буфер, где содержится расширенная цветовая картина экрана. Tonemaping в общем смысле используется для того чтобы ужать расширенную картину к обычной, здесь же расширенный Tonemaping, который позволяет добиться эффекта перехода из тени в свет.
+2
Огромное спасибо за ваши статьи. Жаль, два плюса в карму ставить нельзя :)
+2
Кстати, думаю, есть резон вынести "_Key / _White / _White" в отдельную константу и не считать ее на каждом проходе шейдера.
0
Теперь еще осталось нойс добавить для пущей «атмосферности».
0
Почему геометрическое? Потому что геометрическое среднее «тяготеет» к более высоким значениям....
На этой фразе у меня появилось сильное чувство, что нас обманывают. Среднее арифметическое намного больше тяготеет к высоким значениям, чем среднее геометрическое. Читайте неравенство о средних.
Ну а кому лень читать — можете проверить на пальцах. Берём числа 1 и 4. Арифметическое среднее даёт 2.5, а геометрическое 2. Так какое же из них тяготеет к высоким значеням больше?
0
Sign up to leave a comment.
Имитируем адаптацию глаза к темноте в 3D, или HDR для чайников