Crystallize а серый свет откуда светит?
Красно-оранжевое пятно 1 - это из-за пересвета, одна или две компоненты больше 255, тонмаппинг бы это убрал.
Странный переход цвета в зоне 2 - вот тут я без понятия.
Crystallize писал: Интересно, как же именно накручивание яркости параллельно задирает насыщенность. Ну то есть правда интересно.
Но насыщенность не растет. Яркость увеличивается, первым в 255 упирается красный цвет, дальше растут зеленый и синий, из-за этого оттенок сдвигается в желтый. Красный круг вокруг желтого пятна - это оптический обман. Можешь взять пипеткой цвет с круга и замазать им желтое пятно, и внезапно окажется, что снаружи желтого пятна был равномерный градиент одного оттенка. Ну точнее так бы было, если бы не странные сдвиги цветов дальше.
Вот референс из блендера для лампочки твоего цвета. Слева - если переводить цвет в линейное пространство, справа - если оставить как есть.
Нормализация по наибольшему значению одного из трёх каналов сама по себе некорректна, мягко говоря. Но не факт, что жёсткий клампинг был бы лучше - цветовое пространство нарушится в любом случае, если источник не белого цвета.
Дядя Миша ну так не нужны ни нормализация, ни клампинг. Ты объясни, почему цвет плавает там, где нет пересветов. И почему он не соответствует ни одному, ни другому референсу.
Цитата:
Crystallize писал:
И вот здесь ещё, что имелось в виду? Смысл сравнения с нулём?
Это округление до ближайшего целого. Каст из флоата в инт просто отбрасывает дробную часть, поэтому, чтобы получить ближайшее целое, нужно сначала прибавить 0,5. А если число отрицательное, то вычесть.
Я замутил тонмаппинг по Рейнхардту с белой точкой, но с ним результирующее значение может превышать 1.0, бывает доходит до 1.06 примерно. По-хорошему надо как-то доработать формулу, но тут я без понятия.
Тут возникает пара вопросов: значение белой точки считать через люминанс или просто брать максимум от rgb? Если я нашёл отношение люминанса до и после тонмаппинга, можно ли просто отскейлить rgb цвет на него? В статье об этом не уточняют.