Привет Неоновые-котятки, добавил гамма-коррекцию к своему рендереру
Наша зрение очень хорошо воспринимает темные оттенки и хуже яркие. Без гамма коррекции в изображении много ярких полутонов которые мы не способны различить, а в темных наоборот не хватает полутонов для нашего восприятия
Поэтому изображения кодируются с гамма-коррекцией, чтобы лучше передавать полутона, и поэтому же мониторы выполняют гамму коррекцию, чтобы картинка выглядела корректно на экране, не была засвеченной или темной
И все вроде бы хорошо, но рендерер который я пишу считает освещенность в линейном пространстве опираясь на физику, то есть без гамма-коррекции, а затем при выводе изображения на экран к нему применяется гамма-коррекция монитора искажая результат, из-за чего все освещение темнее чем оно есть
Чтобы избежать этого эффекта нам нужно применять обратную гамму-коррекцию, чтобы компенсировать гамму монитора и получать корректный результат с точки зрения освещенности, чтобы цвета выводились с той яркостью с который они посчитались в рендерере
На практике это увеличивает видимый диапазон темных оттенков, из-за чего мы можем разглядеть детали в темных участках карты
Небольшая подборка как это выглядит: ДО ПОСЛЕ
