4 ms·
Apparently (from a layman's perspective) the difference between conventional RGB ray tracing and spectral ray tracing is this: RGB assumes all light sources co
by cubefox 1y 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 1y agoIt 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 1y agoYou would still need to provide extra logic/data to do dispersion/refraction curves for materials, it's hardly "for free"
- pixelesque 1y agoOne issue with Hero Wavelength sampling (mentioned in article) is that because IOR is wavelength-dependent, after a refraction event, you basically lose the non-hero wavelengths, so you get the colour noise again through refraction.
- dahart 1y ago> RGB assumes all light sources consist of three RGB lights Another way to say this is that conventional 3 channel renderers pre-integrate the spectrum of lights down to 3-channel colors. They don’t necessarily assume three lights, but it’s accurate to say that’s the net effect. It’s mostly just about when you integrate, and what you have to do when you delay the integration. It’s kind of a subtle distinction, really, but rendering with spectral light and material data and integrating down to RGB at the end more closely mimics reality; the cones in our eyes are the integrators, and before that everything is spectral. Or more accurately, individual photons have wavelength. A spectrum is inherently a statistical summary of the behavior of many photons.
- cubefox 1y agoI guess it mainly makes a difference for light sources that are very yellow but not very red and green (sodium lights) or very cyan but not very green and blue (no realistic example here). Considering that actual sodium lights are being largely replaced by white LEDs, which can be modeled quite well with RGB ray tracing, spectral rendering might not offer a significant advantage for most applications.
- dahart 1y agoYeah exactly. Spectral isn’t often giving you a very different result from RGB. It rarely matters for entertainment rendering like films & games, but it’s useful for scientific predictive rendering. Sodium lights are a problem not because they’re yellow, but because they have very spiky spectra. Smooth spectra, whether it’s lights or materials, will tend to work fine in RGB regardless of the color.
- astrange 1y ago> Sodium lights are a problem not because they’re yellow, but because they have very spiky spectra. A side effect of this (and other low-CRI lights) is that it's hard to take pictures in them, because if you take a picture of a person you want their skin tone to look just right or else they look weird and sickly and unattractive. Regular white balance algorithms are not quite able to handle this. So you might imagine why phone cameras are motivated to do AI processing or people processing or other things that make the picture look overprocessed. Because the people are temporarily literally the wrong color in that lighting, and an AI model may be capable of knowing what color they "actually" are. (That said, the main reason photos look overprocessed is that for some reason nobody on Earth ever implements sensible sharpening algorithms. They always use frequency-based ones that cause obvious white halos. Learn about warp-sharpen and median filters, people.)
- sebastianmestre 11mo ago> very cyan but not very green and blue (no realistic example here) Very high temperature blackbody radiation perhaps?