Я ищу теоретические и реализованные модели для представления цвета в программном обеспечении, которое стремится к физической точности.
Я знаю, что «цвет существует только в уме» и что в этом смысле не имеет смысла искать «физическую точность», но все же, насколько лучше выборка спектра или другие более сложные представления цвета для простого RGB, и что какую пользу это принесет? Какой недостаток, кроме производительности, он будет нести (или производительность является недостатком)?
color
color-science
implementation
Леннарт Роллан
источник
источник
Ответы:
Наиболее физически точным способом было бы иметьl(θ) которая для каждой возможной цветовой частоты имеет определенное значение.
Тогда для преобразования в RGB потребуется функция частотного отклика для каждого канала, а результат∫ultravioletinfraredl(θ)Fred(θ)dθ ,
Отраженный свет тогда имеет двухмерную функцию отклика:Lreflected(θ)=∫lincoming(ϕ)R(ϕ,θ)dϕ , (игнорируя BRDF здесь для простоты)
Недостатки в том, что вместо всего лишь трех цветовых каналов у вас есть бесконечные каналы для беспокойства.
источник
Существует спектральный рендеринг , где вы можете квантовать видимые длины волн от ~ 390 нм до ~ 700 нм до N дискретных длин волн вместо стандартных 3 для RGB. Тогда, если бы вам пришлось смоделировать призму, вы бы получили более реалистичное распределение спектра.
Свет также обладает свойством поляризации, которое вам необходимо смоделировать для увеличения реализма. Я не знаю, моделируется ли это в каких-либо общедоступных движках рендеринга и как бы вы это точно представили. Свет - это электромагнитная волна с двумя ортогональными электрическими и магнитными компонентами, которые могут иметь разные амплитуды, а также быть не в фазе, что может привести к эллиптической поляризации. Поляризация была бы уместной, например, для моделирования множественных зеркальных отражений от диэлектрических поверхностей или моделирования поляризационных фильтров, используемых фотографами на камерах.
Как спектральный рендеринг, так и учет поляризации света будут сопровождаться снижением производительности и более высоким использованием памяти.
источник