Ок, блин это целая лекция...
Просто мало кто знает зачем вообще нужна гамма и как ей нужно пользоваться, я сам не так давно не знал зачем это все, а теперь мы работаем только в гамме 2.2
поэтому расскажу...
Ладна, если вы не против я буду писать в этом посте постепенно, буду редактировать его.
Наверное сегодня начну и завтра закончу.
Да, кстати, это относится ко всем рендерам и софтам!
Рассмотрим гамму на примере обычного линейного черно-белого градиента.
На экране монитора градиент для глаза выглядит не линейно, если быть более точным в темных тонах мало деталей, а на свету много. Если рендерить картинку, то будет много темных мест и их придеться подсвечивать, хотя такого быть не должно.
Чтобы этого избежать, чтобы градиент выглядел линейным для глаза, тоесть имел одинаковое количество деталей и в тенях и на свету нужно изогнуть кривую градиента, тоесть сделать его не линейным с математической точки зрения, но линейным для человеческого глаза. Для этого используется гамма коррекция. Для PC мониторов гамма должна быть установлена 2.2, для других мониторов это число может быть другим.
Приведу небольшой пример...
Это обычный диффузный шарик с одним источником света.
Слева гамма 1.0, справа гамма 2.2, а в центре фото.
Разумеется это приблизительно, но разница и смысл думаю понятен.
Следует заметить, что освещение в сцене с гаммой 2.2 настраивать как то проще и быстрее.
Ну, все вроде кажется просто, включаем гамму и вперед. Но тут есть небольшая проблема касающаяся текстурных фаилов...
Ведь если просто перед записью результата пикселя применять гамма коррекцию к пикселу(это происходит во время рендера), то текстуры которые нас до этого устраивали по цвету, станут просто значительно светлее.
Соответственно все текстуры, чтобы они выглядели как в оригинале должны быть сгаммакорректированы в обратную величину, тоесть 1/2.2 = 0,4545454545
В итоге текстура станет темнее чем в оригинале, но во время рендера 0,45 умножится на 2.2 и полчится 1, тоесть текстура будет выглядет как в оригинале.
Некоторые рендера (например ментал) делают обратную гамма коррекцию для текстур автоматически не видимо для пользователя.
Этого не далает, например, prman и каждый фаил нужно пропустить через ноду гамма коррекции со значением 0,4545454545.
Но даже если ваш рендер делает это автоматически следует знать что все таки происходит чтобы не было недопонимая и не понятных рельтатов.
Вобщем все рендера тут работают по разному, надо проверять.
Макс, например, насколько я знаю хорошо работает с гаммой, он даже показывает гамму в материал эдиторе, а вот например мая в гипершейде всегда отображет превью шейдеров с гаммой 1.0
В слиме нужную гамму можно установить вручную.
То что в максе называется Input Gamma и Output Gamma, это как раз гамма для фаиловых текстур. Если у вас текстура нарисована линейно для глаза, ну тоесть так как мы ее должны видеть на рендере, то значит она уже в гамме 2.2, ставим Input Gamma 2.2, Output Gamma'у ставим так же в 2.2. В итоге если эти значения одинаковые то текстуры останутся такими какими мы их рисовали.
Еще раз возращаясь к моему верхнему посту про 32 bit float...
Когда мы рендерим в обычный 8 или 16 битный формат, то гамма коррекция применяется сразу на рендере. А вот если рендерить в 32 bit float point или 16 bit half float, то подразумивается что гамма коррекция будет применена после вручную на композе. С обычными 8 и 16 битными форматами так не делается потому что, диапозон таких картинок не большой и при гамма коррекции потеряется много данных. В случае с 32 битными картинками потери будут не такими значительными и не заметными для глаза.
Вообще гамма 2.2 облегчает настройку освещения. Вообще теоретически гамма 2.2 должна была бы стать дефолтной для всех софтов и это было бы логично, но почему то этого не случилось, уж не знаю почему...
Ну вобщем я тут все кратко описал, но все это рекомендую прочитать очень внимательно и попробовать, чтобы понять зачем все это.
В инете можно найти много материала по теме гамма коррекции.
Вот, например, одна из ссылок, больше для художников:
http://throb.net/site_main/LinearWorkflow.htmlВот еще очень хорошая линка:
http://mysite.verizon.net/spitzak/conversion/index.htmlРекоменду поискать в инете другую более наглядную информацию про гамму. Я завтра наверное кое какие линки еще добавлю.
P.S. Я тут ненмого напутал с терминологией
Прошу не путать...
То что 2.2 это gamma, а 0,45 (обратная gamma) это gamma correction
P.S.S. Попрошу особо не распространять картинку выложенную здесь, потому как она взята из внутренней документации компании Синематека.