What would spectral rendering mean?

I don’t really know, that’s why I’m asking.

Does it mean that rather than dealing in RGB all colours would be treated as a wavelength?

Would it mean we would be able to accurately simulate how old fashioned street light work… sodium lights give off a very specific wavelength of light, meaning that unlike a normal orange which would be made out of 2 parts red to one part green, it gives off a very monochromatic orange as everything will be the same wavelength?

Does it mean we can accurately simulate the way certain colors glow under UV light?

Will it mean we can accurately simulate the refraction of white light into rainbows?

Will it simulate light outside human perception (infra red and ultra violet)?

Blender does not have a renderer with spectral color

you need to use Luxrender for this or may be Yafaray

and again don’t think a PC screen can represent all the real colors effects
it is only an approximation

happy bl

Does it mean that rather than dealing in RGB all colours would be treated as a wavelength?

Yes, but you can still input colors as RGB if you want. You just need to remember to set the color space properly for the conversion to spectral

Would it mean we would be able to accurately simulate how old fashioned street light work… sodium lights give off a very specific wavelength of light, meaning that unlike a normal orange which would be made out of 2 parts red to one part green, it gives off a very monochromatic orange as everything will be the same wavelength?

Yes

Does it mean we can accurately simulate the way certain colors glow under UV light?

That requires spectral sampling that extends into UV, and a BxDF that supports fluorescence. Spectral renderers do not necessarily need either one (I’m actually not aware of any that have either one)

Will it mean we can accurately simulate the refraction of white light into rainbows?

Yes, provided IOR is defined in some way that varies over the spectrum. Often a constant IOR is used to avoid rainbow noise.

Will it simulate light outside human perception (infra red and ultra violet)?

If you/devs want it to. The spectrum width is arbitrary, and could even be user-defined in theory. Often it’s limited to visible light (400-700nm or so) to avoid wasted performance or weird glitches when spectra or color spaces don’t handle IR/UV properly.

1 Like

Indigo, Maxwell, Octane, and I think Arnold are all spectral renderers as well. It would be very cool if Cycles was too, don’t know why Brecht didn’t code it that way from the start?

An RGB color could be seen as a set of 3 spectral colors. Each spectral color has its own intensity. But this is just a case of something more general.

The idea about spectral colors is to allow larger sets of spectral colors to simulate light. It also gives us a larger set of intensities, not just the 3 (RGB).

As far as I know, Appleseed uses a set of 31 spectral colors (per color) to do spectral rendering. Would be interesting to know how many spectral colors Luxcorerender or Prorender use.

It would mean increased render time and noisier renders.

From the discussions in the Devtalk thread, it sounds like that’s not really the case anymore with stuff like hero wavelength sampling?

Not sure render time would be increased, it should make little difference whether you trace 10 samples of one color component or for ten components one sample each. If these ten componenta were identical it would give exact same result. For spectral they are spread out, but for calculations it makes little difference. Noise is probably bigger issue.

So, rendertime then. Got it :smiley:

1 Like