I am looking for theoretical and implemented models to represent color in software that strives for physical accuracy.

I know that "color only exists in the mind" and that it sort of does not make sense to look for "physical accuracy", but still, how much better is spectrum sampling or other more elaborate representations of color to simple RGB, and what benefits will it bring? What drawback beside performance will it incur (or is performance a drawback)?


2 Answers 2


The most physically accurate way would be to have a $l(\theta)$ which for each possible color frequency has a certain value.

Converting to RGB would then need a frequency responce function for each channel and the result is then $\int_{infrared}^{ultraviolet} l(\theta)F_{red}(\theta)d\theta$.

Reflected light then has a 2 dimensional response function: $L_{reflected}(\theta) = \int l_{incoming}(\phi)R(\phi,\theta)d\phi$. (ignoring the BRDF here for simplicity)

Drawbacks are that instead of just 3 color channels you now have infinite channels to worry about.

  • $\begingroup$ Well, I said "possible", not "imaginary" ;-). But thanks for a good answer! $\endgroup$ Dec 6, 2016 at 1:28
  • $\begingroup$ Is there a name for $l(\theta)$? Or do you just say el theta? $\endgroup$ Dec 8, 2016 at 6:50
  • 1
    $\begingroup$ @MatthewWoo It's a name I came up with on the spot, it's actually the irradiance from DRDF with the extra parameter of wavelength. $\endgroup$ Dec 8, 2016 at 9:44
  • $\begingroup$ In fact you should consider the complete EM spectrum. Furthermore, the question does not specify whether a human eye must perceive the resulting images. $\endgroup$
    – Matthias
    Feb 23, 2017 at 13:57

There is spectral rendering, where you can quantize the visible wavelengths from ~390nm to ~700nm to N discrete wavelengths instead of the standard 3 for RGB. Then if you had to model say a prism, you would get more realistic distribution of the spectrum.

Light has also property of polarization that you would need to model for increased realism. I don't know if this is being modeled in any existing publicly available rendering engines and how would you represent it exactly. Light is electromagnetic wave with two orthogonal electric and magnetic components, which may have different amplitudes and be also out of phase potentially resulting in elliptical polarization. The polarization would be a relevant propery for example to model multiple specular reflections from dielectric surfaces, or modeling polarizing filters used by photographers on cameras.

Both spectral rendering and accounting light polarization would come with the cost of performance and higher memory usage.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.