Гамма и яркость в чем разница

В чем разница между яркостью / контрастностью / цветовым балансом / гамма-коррекцией и насыщенностью?

Гамма и яркость в чем разница. error. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-error. картинка Гамма и яркость в чем разница. картинка error. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

Может ли кто-нибудь объяснить разницу между этими 5 терминами, как если бы мне было 5 лет?

Гамма и яркость в чем разница. Gamma Correction Saturation. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-Gamma Correction Saturation. картинка Гамма и яркость в чем разница. картинка Gamma Correction Saturation. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

ПРИМЕЧАНИЕ: я не фото ученый, который глубоко знает все свойства, поэтому этот ответ содержит объяснение в соответствии с моим пониманием! Я могу где-то ошибаться 🙂

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

теперь это термин, который трудно объяснить, потому что даже я не могу его определить, но, насколько я понимаю, это похоже на изменение темноты в яркости и контрасте; Я имею в виду, что если гамма увеличится, тогда, я думаю, увеличатся и яркость, и контраст, и будет казаться, что изображение стало ярким и четким, а если вы уменьшите его, изображение будет казаться тусклым! но все же я не очень понимаю этот термин!

Надеюсь, это поможет вам понять условия! и, в конце концов, вам вообще не нужно изучать определение, как сказали в комментариях joonas и jooja, просто настройте ползунки, попробуйте и учитесь! Наилучшие пожелания 🙂

Яркость изменяет цвета от темных к ярким и наоборот. См. «Гамма-коррекция».

Если вам действительно не нужно перемещать белую или черную точку, чтобы компенсировать атмосферную дымку. Или у вас действительно есть неиспользованные цвета в конце спектра. Вы не должны использовать этот ползунок в большинстве случаев, так как вырезание разрушит ваше изображение.

Контрастность работает аналогично гамме, за исключением того, что она смещает темные цвета к темным, а светлые к ярким или наоборот, если вы снижаете контраст.

Цветовой баланс настраивается отдельно для каждого цветового канала. Так что ваш общий цвет изменится. Используйте его, чтобы удалить неестественные цветовые оттенки (или создать их).

Источник

Яркость, контраст и гамма-коррекция камеры на мониторе

В мониторах предусмотрены определённые настройки, которые могут быть изменены оператором для повышения чёткости и детализации выводимых на экран изображений. Для начала можно изменить яркость и контрастность изображения.

Настройка яркости увеличивает либо уменьшает средний уровень освещённости. Настройка контраста увеличивает либо уменьшает разницу в освещённости между максимально и минимально яркими участками изображения.

Регулировка яркости на мониторе

Самым простым методом настройки яркости и контраста является отображение тестовой таблицы, генерируемой электронным путём; желательно, чтобы в таблице присутствовала шкала градаций оттенков серого цвета (от чёр-
ного к белому).

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

Некоторые из камер должны выводиться на разные мониторы одновременно, поэтому, если отображение на дисплеях не настроено, один и тот же камерный канал может выглядеть на разных мониторах по-разному.

Гамма-коррекция

Следующим по важности параметром монитора является гамма-коррекция. Гамма-коррекция состоит в кодировании и декодировании видеосигнала с целью компенсации нелинейности видеотракта и согласования с особенностями нелинейности восприятия уровней яркости человеческим зрением. Это способствует максимально эффективному использованию средств отображения видеоинформации с точки зрения особенностей зрительного восприятия света.

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

Человеческое зрение, как и слух, не может быть описано линейными зависимостями: оно скорее является логарифмическим или экспоненциальным. Если при формировании видеосигнала не прибегать к гамма-коррекции, приращения освещённости будут трактоваться как линейные и человеческий глаз не сможет правильно разли-
чать градации яркости. Простая иллюстрация того, как это работает: представьте себе солнечный день с освещённостью, скажем, 50 тысяч люкс; падение яркости наполовину будет составлять 25 тысяч люкс.

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

Это и есть нелинейность человеческого зрения. Для её компенсации и служит гамма-коррекция. Поэтому, чтобы лучше различать детали в слабо освещённых частях отображаемой сцены, видеосигнал с камеры усиливается нелинейным образом, и кривая усиления соответствует степенной функции с показателем 2,2. Эта кривая является обратной той, что использовалась при обработке сигнала в трубочных камерах (экспонента с показателем 0,45) — а при помещении кривых на один и тот же график их форма напоминает греческую букву γ (гамма), откуда и происходит название этой коррекции Сенсоры современных полупроводниковых телекамер обладают линейной характеристикой чувствительности, однако на стороне монитора требуемое для адекватного отображения сцены соотношение яркостей имеет скорее нелинейный характер.

В процессе пересчёта сформированных камерой данных в стандартный RGB-видеосигнал производится пересчёт цветового пространства и ряд других преобразований. В числе таких преобразований — гамма-коррекция, которая также улучшает передачу деталей изображения в зонах с относительно невысокой освещённостью, тем самым повышая эффективность компрессии данных. Все стандартные цветовые пространства и форматы файлов используют нелинейное (с учётом гамма-коррекции) кодирование яркости основных цветов. Изображение, которое выводилось на трубочные мониторы, обычно не требовало гамма-коррекции, поскольку в стандартном аналоговом видеосигнале она учитывается таким образом, чтобы при выведении на ЭЛТ-дисплей изображение было достаточно комфортным для просмотра (хотя и не в точности таким, каким оно являлось до коррекции). Гамма-коррекция аналоговых видеосигналов определяется требованиями соответствующих стандартов видеокодирования (PAL либо NTSC) и является величиной фиксированной и известной.

Легенда

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

Физика процессов, происходящих в ЭЛТ-мониторе, предполагает в видеотракте (например, в телекамере) гамма-коррекцию, обратную показателю гаммы монитора, что и имеет место в современных камерах на ПЗС-сенсорах. В трубочных передающих камерах нелинейность преобразования «свет-сигнал» соответствовала показателю гаммы 0,45. Поэтому гамма-корректор в телевизионной камере не требовался; впрочем, это лишь удачное совпадение, которое несколько упростило конструктивные решения камер на самой заре вещательного телевидения. В современных компьютерах с ЖК-мониторами изображения подвергаются при кодировании гамма-коррекции с показателем 0,45, а при декодировании — обратной коррекции с показателем 2,2. Эти коэффициенты коррекции присутствуют на уровне операционной системы. Стоит заметить, что вплоть до момента выпуска компанией Apple операционной системы Mac OS X 10.6 в компьютерах Mac использовалась другая пара коэффициентов — 0,55 и 1,8.

Во всех цифровых изображениях и видеопотоках закодированы значения гамма-коррекции. Это прописано в различных стандартах. Двоичные данные в компрессированных файловых форматах (JPEG, JPEG-2000) являются кодированными. В них содержатся не линейные данные об интенсивности света, а значения, подвергнутые гаммакоррекции. Это касается и сжатых видеопотоков в таких форматах, как MPEG и H.264. Иногда в определённых приложениях либо в определённой комбинации аппаратных средств может потребоваться более точная установка показателя гамма коррекции. К примеру, это используется в издательских системах, где внешний вид изображений на дисплее должен быть максимально приближен к изображениям, выведенным на печать.

При необходимости операционная система в состоянии обеспечить такого рода установки. Как правило, при настройке используются аппаратные средства цветовой калибровки. Возможно, что в полиграфии процесс цветовой калибровки системы (реальный мир – камера – монитор – распечатка) является одним из самых важных. В фотографии и киноиндустрии ему отводятся первые роли, однако такого рода настройки мо гут производиться и в системах видеонаблюдения. Предмет этот весьма сложен, что вызвано прежде всего тем, что при формировании изображений и их печати используются разные цветовые пространства (RGB и CMYK). Не погружаясь в детали, отметим, что цветовая калибровка в принципе возможна. Важно отметить, что при неверных установках яркости, контраста и гамма-коррекции монитора даже самый качественный видеосигнал может предстать перед оператором в виде, непригодном для ведения наблюдения.

На видео: Познавательный рассказ о гамма-коррекции.

Источник

Learn OpenGL. Урок 5.2 — Гамма-коррекция

Гамма и яркость в чем разница. image loader. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-image loader. картинка Гамма и яркость в чем разница. картинка image loader. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

Гамма-коррекция

Итак, мы вычислили цвета всех пикселей сцены, самое время отобразить их на мониторе. На заре цифровой обработки изображений большинство мониторов имели электронно-лучевые трубки (ЭЛТ). Этот тип мониторов имел физическую особенность: повышение входного напряжение в два раза не означало двукратного увеличения яркости. Зависимость между входным напряжением и яркостью выражалась степенной функцией, с показателем примерно 2.2, также известным как гамма монитора.

Часть 1. Начало

Часть 2. Базовое освещение

Часть 3. Загрузка 3D-моделей

Часть 4. Продвинутые возможности OpenGL

Часть 5. Продвинутое освещение

Часть 6. PBR

Эта особенность мониторов (по случайному совпадению) очень напоминает то, как люди воспринимают яркость: с подобной же (но обратной) степенной зависимостью. Чтобы лучше это понять, взгляните на следующее изображение:

Гамма и яркость в чем разница. image loader. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-image loader. картинка Гамма и яркость в чем разница. картинка image loader. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

Верхняя строка показывает как воспринимается яркость человеческим глазом: при увеличении яркости в 2 раза (например, от 0.1 до 0.2) картинка действительно выглядит так, будто она в два раза ярче: изменения видны довольно отчетливо. Однако, когда мы говорим о физической яркости света, как, например, о количестве фотонов, выходящих из источника света, верную картину дает нижняя шкала. На ней удвоение значения дает правильную с физической точки зрения яркость, но поскольку наши глаза более восприимчивы к изменениям темных цветов, это кажется несколько странным.

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

Эта особенность мониторов действительно делает картинку лучше для наших глаз, но когда дело доходит до рендеринга графики появляется одна проблема: все параметры цвета и яркости, которые мы устанавливаем в наших приложениях, основаны на том, что мы видим на мониторе. А это означает что все эти параметры на самом деле являются нелинейными. Взгляните на график:

Гамма и яркость в чем разница. image loader. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-image loader. картинка Гамма и яркость в чем разница. картинка image loader. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

Серая линия соответствует значениям цвета в линейном пространстве; сплошная красная линия представляет собой цветовое пространство отображаемое монитором. Когда мы хотим получить в 2 раза более яркий цвет в линейном пространстве, мы просто берем и удваиваем его значение. Например, возьмем цветовой вектор Гамма и яркость в чем разница. 5570c6dcc1a8facbc0961c17648ae323. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-5570c6dcc1a8facbc0961c17648ae323. картинка Гамма и яркость в чем разница. картинка 5570c6dcc1a8facbc0961c17648ae323. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150), то есть темно-красный цвет. Если бы мы удвоили его значение в линейном пространстве, он стал бы равным Гамма и яркость в чем разница. a74c6d7830865641e954214640d221d2. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-a74c6d7830865641e954214640d221d2. картинка Гамма и яркость в чем разница. картинка a74c6d7830865641e954214640d221d2. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150). С другой стороны, при выводе на дисплей, он будет преобразован в цветовое пространство монитора как Гамма и яркость в чем разница. edc1af9b8cdef9575eb2c89ab8287a50. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-edc1af9b8cdef9575eb2c89ab8287a50. картинка Гамма и яркость в чем разница. картинка edc1af9b8cdef9575eb2c89ab8287a50. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150), как видно из графика. Вот здесь и возникает проблема: удваивая темно-красный свет в линейном пространстве, мы фактически делаем его более чем в 4.5 раза ярче на мониторе!

До этого туториала мы предполагали, что работали в линейном пространстве, но на самом деле мы работали в цветовом пространстве, определяемом монитором, поэтому все установленные нами цвета и переменные освещения были физически не корректны, а всего лишь выглядели правильными конкретно на нашем мониторе. Руководствуясь данным предположением мы (и художники) обычно устанавливаем значения освещения ярче, чем они должны быть (т.к. монитор затемняет их), что в результате делает большинство последующих вычислений в линейном пространстве неверными. Также обратите внимание, что оба графика начинаются и заканчиваются в одних и тех же точках, затемнению на дисплее подвержены только промежуточные цвета.

Как я уже говорил, поскольку значения цветов выбраны на основании отображаемой монитором картинки, все промежуточные вычисления освещения, проводимые в линейном пространстве физически некорректны. Это становится все очевиднее, когда мы начинаем использовать более продвинутые алгоритмы освещения. Просто взгляните на изображение:

Гамма и яркость в чем разница. image loader. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-image loader. картинка Гамма и яркость в чем разница. картинка image loader. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

Как видно, цветовые значения (которые мы предварительно обновили) с использованием гамма-коррекции куда лучше сочетаются между собой, а темные области становятся светлее, что увеличивает их детализацию. Налицо гораздо лучшее качество изображения, при весьма незначительных модификациях.

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

Гамма-коррекция

Идея гамма-коррекции заключается в том, чтобы применить инверсию гаммы монитора к окончательному цвету перед выводом на монитор. Снова посмотрим на график гамма-кривой в начале этого урока, обратив внимание на еще одну линию, обозначенную штрихами, которая является обратной для гамма-кривой монитора. Мы умножаем выводимые значения цветов в линейном пространстве на эту обратную гамма-кривую ( делаем их ярче), и как только они будут выведены на монитор, к ним применится гамма-кривая монитора, и результирующие цвета снова станут линейными. По сути мы делаем промежуточные цвета ярче, чтобы сбалансировать их затенение монитором.

Приведем еще один пример. Допустим, у нас опять есть темно-красный цвет Гамма и яркость в чем разница. 4fc328455602aad122730cd01de6653f. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-4fc328455602aad122730cd01de6653f. картинка Гамма и яркость в чем разница. картинка 4fc328455602aad122730cd01de6653f. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150). Перед отображением этого цвета на монитор мы сперва применяем кривую гамма-коррекции к его компонентам. Значения цвета в линейном пространстве, при отображении на мониторе, возводятся в степень, приблизительно равную 2.2, поэтому инверсия требует от нас возведения значений в степень 1 / 2.2. Таким образом, темно-красный цвет с гамма-коррекцией становится Гамма и яркость в чем разница. 32be06c9e67db9718e010211c46511c9. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-32be06c9e67db9718e010211c46511c9. картинка Гамма и яркость в чем разница. картинка 32be06c9e67db9718e010211c46511c9. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)= Гамма и яркость в чем разница. 0c953388f31e83392c7a775333aa58a6. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-0c953388f31e83392c7a775333aa58a6. картинка Гамма и яркость в чем разница. картинка 0c953388f31e83392c7a775333aa58a6. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)= Гамма и яркость в чем разница. 46b79d76ecc787351f0b243158901b8c. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-46b79d76ecc787351f0b243158901b8c. картинка Гамма и яркость в чем разница. картинка 46b79d76ecc787351f0b243158901b8c. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150). Затем этот скорректированные цвет выводится на монитор, и в результате он отображается как Гамма и яркость в чем разница. 0fadedf8b03f45ec7987ed2ee47786d6. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-0fadedf8b03f45ec7987ed2ee47786d6. картинка Гамма и яркость в чем разница. картинка 0fadedf8b03f45ec7987ed2ee47786d6. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)= Гамма и яркость в чем разница. 4fc328455602aad122730cd01de6653f. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-4fc328455602aad122730cd01de6653f. картинка Гамма и яркость в чем разница. картинка 4fc328455602aad122730cd01de6653f. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150). Как видите, когда мы используем гамма-коррекцию монитор отображает цвета, точно такими, какими мы задаем их в линейном пространстве в нашем приложении.

Гамма равная 2.2 это дефолтное значение, которое приблизительно выражает среднюю гамму большинства дисплеев. Цветовое пространство в результате применения этой гаммы называется цветовым пространством sRGB. Каждый монитор имеет свои собственные гамма-кривые, но значение 2.2 дает хорошие результаты на большинстве мониторов. Из-за этих небольших отличий многие игры позволяют игрокам изменять настройку гаммы.

Существует два способа применения гамма-коррекции к вашим сценам:

Первый вариант проще, но дает вам меньше контроля. Установив флаг GL_FRAMEBUFFER_SRGB, вы сообщаете OpenGL, что каждая следующая за этим команда рисования должна выполнить гамма-коррекцию в цветовое пространство sRGB, прежде чем записать данные в цветовой буфер. После включения GL_FRAMEBUFFER_SRGB OpenGL автоматически выполнит гамма-коррекцию после запуска каждого фрагментного шейдера для всех последующих кадровых буферов, включая дефолтный кадровый буфер.

Включение флага GL_FRAMEBUFFER_SRGB выполняется при помощи обычного вызова glEnable:

Теперь отрендеренные вами буферы цвета будут иметь скорректированную гамму и, поскольку это делается аппаратно это ничего нам не стоит. Единственное, о чем вы должны помнить при таком подходе (хотя и при другом подходе тоже), что гамма-коррекция преобразует цвета из линейного пространства в нелинейное, поэтому очень важно, чтобы вы выполняли гамма-коррекцию только на последнем, заключительном этапе. Если вы примените гамма-коррекцию до окончательного вывода, все последующие операции над этими цветами будут работать с неправильными значениями. Например, если вы используете несколько кадровых буферов, вы, вероятно, хотите, чтобы промежуточные результаты оставались в линейном пространстве и только последний буфер применял гамма-коррекцию перед отправкой на монитор.

Второй подход требует немного больше работы, но зато дает нам полный контроль над операциями с гаммой. Мы применяем гамма-коррекцию на соответствующем этапе фрагментного шейдера, так что к результирующим цветам применяется гамма-коррекция непосредственно перед отправкой на монитор:

Последняя строка кода возводит каждый компонент цвета fragColor в степень Гамма и яркость в чем разница. 5e51e845547830a1de1e1bdae451ef85. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-5e51e845547830a1de1e1bdae451ef85. картинка Гамма и яркость в чем разница. картинка 5e51e845547830a1de1e1bdae451ef85. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150), корректируя результат работы данного шейдера.

Проблема этого подхода заключается в том, что вы должны применять гамма-коррекцию для каждого фрагментного шейдера, который вносит свой вклад в окончательный вывод, поэтому, если у вас есть дюжина фрагментных шейдеров для нескольких объектов, вам придется добавить код гамма-коррекции в каждый из них. Более разумным решением было бы добавить этап пост-обработки в ваш цикл рендеринга и применять гамма-коррекцию на финальном кваде в качестве последнего шага. Тогда вам нужно будет сделать это всего один раз.

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

sRGB текстуры

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

В результате, художники, рисующие текстуры, создают их в пространстве sRGB, и если мы используем эти текстуры в нашем приложении как они есть, мы должны учитывать это. До того как мы применили гамма-коррекцию это не создавало проблем, поскольку текстуры выглядели хорошо в пространстве sRGB, и без гамма-коррекции мы также работали в этом пространстве, так что текстуры отображались именно так, как задумано. Однако теперь, когда мы отображаем все в линейном пространстве, цвета текстуры передаются неверно, как видно на следующем изображении:

Гамма и яркость в чем разница. image loader. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-image loader. картинка Гамма и яркость в чем разница. картинка image loader. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

Текстура пересвечена, и это происходит потому, что гамма-коррекция, фактически, была применена к ней дважды! Посудите сами: когда мы создаем изображение на основе того, что видим на мониторе, мы корректируем гамму цветовых значений изображения, чтобы они выглядели верно на экране. Поскольку мы снова выполняем гамма-коррекцию при рендере, изображения становятся слишком яркими.

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

Еще одно решение состоит в том, чтобы скорректировать или преобразовать эти sRGB-текстуры обратно в линейное пространство, прежде чем делать какие-либо манипуляции над их цветами. Мы можем сделать это следующим образом:

Тем не менее проделывать это для каждой текстуры в пространстве sRGB довольно хлопотно. К счастью, OpenGL дает нам еще одно решение наших проблем, предоставляя нам внутренние форматы текстур GL_SRGB и GL_SRGB_ALPHA.

Если мы создадим текстуру в OpenGL с любым из указанных двух текстурных форматов sRGB, OpenGL автоматически преобразует их цвета в линейное пространство, как только мы их используем, что позволит нам правильно работать в линейном пространстве со всеми извлеченными из текстуры значениями цвета. Мы можем объявить текстуру как sRGB следующим образом:

Если вы хотите использовать альфа-компонент в своей текстуре, вам нужно будет обозначить внутренний формат текстуры как GL_SRGB_ALPHA.

Вы должны быть осторожны при объявлении своих текстур как sRGB, поскольку не все текстуры будут находиться в пространстве sRGB. Текстуры, используемые для окраски объектов, такие как диффузные карты, почти всегда находятся в пространстве sRGB. Текстуры, используемые для извлечения параметров освещения, такие как бликовые карты и карты нормалей, наоборот, почти всегда находятся в линейном пространстве, поэтому, если вы объявите их как sRGB, освещение поедет. Будьте внимательны, при указании типов текстур.

Объявив наши диффузные текстуры как sRGB, вы снова получите ожидаемый результат, но на этот раз гамма-коррекцию достаточно применить всего 1 раз.

Затухание

Еще один момент, который будет иным при использовании гамма-коррекции — затухание освещения. В реальном физическом мире освещение затухает почти обратно пропорционально квадрату расстояния от источника света. На человеческом языке это означает, что сила света уменьшается при удалении от источника света, как показано ниже:

Однако при использовании этого уравнения эффект затухания слишком силен, и световое пятно получает небольшой радиус, что выглядит физически не слишком достоверно. Поэтому мы использовали другие уравнения для затухания (мы обсуждали это в туториале, посвященном основам освещения), которые дают больше возможностей настройки, или вообще линейный вариант:

Без гамма-коррекции линейный вариант дает гораздо более правдоподобные результаты, чем квадратичный, но когда мы включаем гамма-коррекцию, линейное затухание выглядит слишком слабым, и физически верное квадратичное неожиданно дает лучшие результаты. На рисунке ниже показаны различия между вариантами:

Гамма и яркость в чем разница. image loader. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-image loader. картинка Гамма и яркость в чем разница. картинка image loader. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)

Причиной этого различия является то, что функции затухания света меняет яркость, и поскольку мы отображали нашу сцену не в линейном пространстве, мы выбрали функцию затухания, которая выглядела лучше всего на нашем мониторе, хоть и не была физически правильной. Когда мы использовали квадратичную функцию затухания без гамма-коррекции, фактически она превращалась в Гамма и яркость в чем разница. beb870c88e03084edcb04fe5be54a1cd. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-beb870c88e03084edcb04fe5be54a1cd. картинка Гамма и яркость в чем разница. картинка beb870c88e03084edcb04fe5be54a1cd. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)при отображении на мониторе, что давало гораздо больший эффект затухания. Это также объясняет, почему линейный вариант дает лучшие результаты без гамма-коррекции, ведь при нем Гамма и яркость в чем разница. 6f7a5c5838bd4fc15f6c4c2a56096aef. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-6f7a5c5838bd4fc15f6c4c2a56096aef. картинка Гамма и яркость в чем разница. картинка 6f7a5c5838bd4fc15f6c4c2a56096aef. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150)= Гамма и яркость в чем разница. 8ff4357ae1ad102cf2ad26b91c685089. Гамма и яркость в чем разница фото. Гамма и яркость в чем разница-8ff4357ae1ad102cf2ad26b91c685089. картинка Гамма и яркость в чем разница. картинка 8ff4357ae1ad102cf2ad26b91c685089. ULTIMATE Godox Light Showdown | ПОЛНОЕ сравнение характеристик (SL150W, SL150W II, FV150, VL150, UL150), что намного больше напоминает физически правильную зависимость.

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *