TGViewer
Григорий Дядиченко Григорий Дядиченко @dev_game · 2.66K subscribers
Post #1752 1.14K
Грейскейл через Luminance

Люблю шейдеры и разные задачки. Введу новый формат "рабочие заметки". Чтобы было где писать о небольших интересных задачках. Итак про Luminance или яркость.

Преобразование цвета в чб через luminance (яркость) — это техника, где мы вычисляем воспринимаемую яркость цвета, используя взвешенную сумму его RGB-компонентов.

Типичная формула в шейдерах:
float luminance = dot(color.rgb, vec3(0.299, 0.587, 0.114));

Коэффициенты 0.299, 0.587, 0.114 — это не случайные числа, а научно обоснованные веса:

0.299 — вес для красного канала

0.587 — вес для зеленого канала

0.114 — вес для синего канала

Эти значения основаны на относительной воспринимаемой яркости человеческим глазом. Наш глаз наиболее чувствителен к зеленому свету, затем к красному и наименее — к синему. Коэффициенты основаны на фотометрических исследованиях человеческого зрения, проведенных в начале 20 века. Для простого наблюдателя CIE 1931 было Y = 0.17697R + 0.81240G + 0.01063B. С появлением мониторов на основе электронно лучевой трубки были получиены новые коэффициенты Y = 0.299R + 0.587G + 0.114B.

Чем это лучше обычного усреднения? Потому что усреднение как раз-таки не учитвает особенности человеческого глаза и поэтому делает восприятие яркости неестественным. Яркий зеленый будет казаться слишком темным, а темные синие цвета слишком светлыми.

Зачем это надо знать? Перевод в чб частая техника в двух ключевых задачах. Создание визуальных эффектов (особенно пост обработки) и задачах компьютерного зрения. Когда мы создаем визуальные эффекты основанные на яркости, то лучше использовать формулу яркости с весами учитывающими восприятие. Если же мы занимаемся задачами компьютерного зрения, то у камеры нет таких особенностей, у неё "объективное восприятие", поэтому для анализа лучше обычное усреднение.

Использование luminance-коэффициентов — это не просто "так принято", а физиологически и технически обоснованный подход, который дает наиболее естественное для человеческого глаза преобразование цвета в яркость.

#оработе #интересное
  • 🔥 14
More from @dev_game
  1. Sep 29, 2026И тут продублирую раз прилетело несколько вопросов. Доступ к дневнику можно будет получить…
  2. Sep 29, 2026Да, чет не анонсировал. Остановил сбор. Ну в целом донаты показывают классические для меня…
  3. Sep 25, 2026Meta VR Glasses Посмотрел кратко о чём речь. Вспомнил скупой слезой свой концепт. Будем по…
  4. Sep 23, 2026Чисто магия, что я теперь самостоятельно могу сделать такой пак + ролик к нему :) И мне нр…
  5. Sep 22, 2026🚀 Как запустить игровой стартап и применить бизнес-опыт в геймдеве? 🚀 Высшая школа бизне…
  6. Sep 21, 2026Эмоциональный окрас голоса Задумался над юмористическими форматами контента помимо познава…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →