Какое физически точное представление цвета возможно в компьютерной графике?


8

Я ищу теоретические и реализованные модели для представления цвета в программном обеспечении, которое стремится к физической точности.

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


Некоторое время назад я разместил соответствующий вопрос, который также может быть уместен здесь: Есть ли распространенные материалы, которые не очень хорошо представлены RGB?
трихоплакс

1
Ответы на это, вероятно, тоже полезны. computergraphics.stackexchange.com/q/4321/56 . TL: DR - CIELAB был создан для измерения цвета человеческого восприятия. К сожалению, разные дисплеи отображают вещи по-разному, поэтому вы не можете легко конвертировать из RGB в это. За прошедшие годы в CIELAB также были внесены улучшения, чтобы приблизить его к тому, как люди на самом деле воспринимают цвет. Не уверен, если полезная информация, но я надеюсь, что так!
Алан Вулф

Ответы:


7

Наиболее физически точным способом было бы иметь l(θ) которая для каждой возможной цветовой частоты имеет определенное значение.

Тогда для преобразования в RGB потребуется функция частотного отклика для каждого канала, а результат infraredultravioletl(θ)Fred(θ)dθ,

Отраженный свет тогда имеет двухмерную функцию отклика: Lreflected(θ)=lincoming(ϕ)R(ϕ,θ)dϕ, (игнорируя BRDF здесь для простоты)

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


Ну, я сказал «возможно», а не «мнимо» ;-). Но спасибо за хороший ответ!
Леннарт Роллан

Есть ли имя для l(θ)? Или ты просто говоришь эль тэта?
Мэтью Ву

1
@MatthewWoo Это имя, которое я придумал на месте, на самом деле это излучение от DRDF с дополнительным параметром длины волны.
фрик с трещоткой

На самом деле вы должны рассмотреть полный спектр EM. Кроме того, вопрос не указывает, должен ли человеческий глаз воспринимать получающиеся изображения.
Матиас

7

Существует спектральный рендеринг , где вы можете квантовать видимые длины волн от ~ 390 нм до ~ 700 нм до N дискретных длин волн вместо стандартных 3 для RGB. Тогда, если бы вам пришлось смоделировать призму, вы бы получили более реалистичное распределение спектра.

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.