Remix.run Logo
cubefox an hour ago

Apparently (from a layman's perspective) the difference between conventional RGB ray tracing and spectral ray tracing is this:

RGB assumes all light sources consist of three RGB lights, where the brightness of red, green, and blue varies. E.g. a yellow light would always be a red and a green light.

In contrast, spectral rendering allows light sources with arbitrary spectra. A pure yellow light (~580 nm) is different from a red+green light.

The physical difference is this: If you shine, for example, a pure yellow light on a scene, everything looks yellow, just more or less dark. But if you shine a red+green (impure yellow) light on a scene, green objects will be green and red objects will be red. Not everything will appear as a shade of yellow. Conventional RGB rendering can only model the latter case.

This means some light sources, like high-pressure sodium lamps, cannot be accurately rendered with RGB rendering: red and green surfaces would look too bright.

(Also note that the linked post has also a part 1 and 3, accessible via "next/previous post" at the bottom.)

turnsout 37 minutes ago | parent [-]

It also becomes important for rendering glass and other highly refractive substances. Some conventional RGB rendering engines can mimic dispersion, but with spectral rendering you get it "for free."

rf15 12 minutes ago | parent [-]

You would still need to provide extra logic/data to do dispersion/refraction curves for materials, it's hardly "for free"