Thoughts on making Cycles into a spectral renderer

@Skye_Fang
so “RGB spectrum” kinda doesn’t make sense. Cycles is not (yet) a spectral engine (though some people are working on this as you can see in the history of this thread) but RGB colorspaces are independent of spectral rendering. In particular, the most common sRGB colorspace doesn’t even have spectral primaries, so “pure” red, green and blue in that colorspace does not correspond to any sort of wavelength at all!
And there are, in fact, infinitely many different spectra that will produce the same color impression as any of these primaries.
Since the sRGB primaries aren’t pure, the least amount necessary would be two different wavelengths per color, though more likely it’d be quite a bit broader an emission spectrum than that.

Instead, in regular Cycles, as you said, there is just one single ray which gets evaluated across three channels. For non-spectral rendering, that’s enough and, indeed, preferable, as that way you can completely avoid any and all color noise.
Once spectral rendering is in, you’ll presumably just have an attribute “wavelength” in nanometers or micrometers, and can use that for your lenses.

3 Likes