Рендеринг в радиометрических единицах или фотометрических?

10

В традиционном рендеринге обычно все вычисления выполняются с радиометрическими единицами измерения, либо в виде полного спектрального рендеринга, либо по компонентам (XYZ, RGB и т. Д.).

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

введите описание изображения здесь

Чтобы сохранить все конвейеры в одном типе юнитов, вы можете выполнить одно из следующих действий:

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

Мои вопросы тогда следующие:

  1. Есть ли недостатки рендеринга исключительно в фотометрических единицах?
    • Насколько я могу судить, фотометрические единицы - это просто радиометрические единицы, смещенные к человеческому глазу. Учитывая, что мы увидим окончательное изображение нашим глазом, я не вижу в этом проблемы.
  2. Frostbite - это компонентный RGB-движок. Будут ли у спектрального рендеринга какие-либо дополнительные недостатки при рендеринге исключительно в фотометрических единицах?
RichieSams
источник

Ответы:

9

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

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

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

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

Итак, если вы хотите использовать фотометрические единицы, IMO лучше немного «обмануть» и не использовать истинные фотометрические единицы, зависящие от длины волны, а просто использовать некоторую фиксированную длину волны (например, зеленую полосу 555 нм, которая является пиком света человека). функция эффективности) или, возможно, среднее значение по спектру, в качестве эталонной единицы, и применять эту единицу для измерения всех длин волн. Это избавит вас от проблем при импорте цветов и спектров RGB из других источников и при их генерации в качестве выходных данных.

Натан Рид
источник