Spectral rendering

Use this forum for general user support and related questions.
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
lighting_freak
Posts: 234
Joined: Thu Jan 18, 2018 6:02 pm

Re: Spectral rendering

Post by lighting_freak »

I don't know them in detail, what did they do?
OS - Windows 7 X64
CPU - Intel CORE i7
GPU1 - Variants of notebook card from nVidia
GPU2 - Variants of notebook onboard card from Intel
Lux - Latest possible relaease
kintuX
Posts: 809
Joined: Wed Jan 10, 2018 2:37 am

Re: Spectral rendering

Post by kintuX »

lighting_freak wrote: Sat Jan 25, 2020 10:13 am I don't know them in detail, what did they do?
Basically they are based purely on scientific studies and are not applying artistic shortcuts or tricks and approximations.
They be like "Unbiased to the bone!" :lol:
Users can also fully utilize measured data. Not only IOR, but also BRDF (IIRC, same was possible with Classic Luxrender & I don't believe this is possible anymore).
kram1032
Posts: 1
Joined: Sun Jan 17, 2021 12:32 pm

Re: Spectral rendering

Post by kram1032 »

Hey, sorry for resurrecting this thread, but I just wanted to point out that Spectral Cycles is much further along now. There are still bugs but it's much closer now.

One big fear people appear to have is more noise. This is, as far as I can tell, not the case. (At least the way Cycles does spectral rendering)
In a recent massive test suite, I compared lots of light situations deliberately foregoing the denoiser and the results, noise-wise, are practically identical:
https://devtalk.blender.org/t/thoughts- ... /2192/1210

Right above that I also compared what influence this has on volume rendering, say.

In terms of where this will make the biggest impact: It's everywhere, where indirect or scattered lighting matters, as well as everywhere, were you have absorption (which is actually kind of like a continuous version of indirect lighting)
So whenever your light is either bouncing around a lot before hitting the camera, or being tinted gradually on the way, you'll see potentially massive differences. And all of these effects are stronger with particularly saturated colors.

And the other upside of defining materials more accurately through their spectral profiles can be seen here. This is an extreme example:
https://devtalk.blender.org/t/thoughts- ... /2192/1176
Simply by how much light has been absorbed / how often right rays have bounced on the material, it drastically changes color from deep pink to a kind of petrol. Literally everything in this scene has the same spectral properties, just in different contexts (i.e. different shaders).

These sorts of materials would be extremely hard to reproduce in a non-spectral workflow. (It's gonna matter more for matching real measured materials but there definitely is value in such entirely fake materials as well)

In the end, it is (at least currently) slightly slower to render spectrally. I'm guessing that's because it takes more time to process each ray. But it's not insanely slower and the biggest slowdowns actually happen in the situations where there are the biggest changes: Where an RGB renderer would lose some indirect light because it's supposedly near-black, aborting the ray in the process, a spectral renderer can often still find a lot of light, so more rays bounce deeper, taking more time. But they bounce deeper because they have more influence over the end result.

In an extreme example, a perfectly red material hit with perfectly green light, in an RGB renderer, will turn black 100% of the time, which often looks really weird.
But in a spectral workflow, sRGB red and green are not spectrally pure. They overlap! - And it is that overlap which makes green light be visible on a red surface. This additional light not only appears directly in the camera. It also goes on to bounce around in the scene even further.

Overall, scenes with low saturation, clear transmissive materials (i.e. without or with minimal absorption), and no volume effects, where all materials are based on RGB values rather than spectra, will look practically identical, and the extra time spent is probably not really worth it.
But as soon as you rely on at least one of those effects, you will get better results with a spectral workflow.

One use case, for instance, is making skin look right when lit with fire. The sub surface scattering obviously falls into that volumetric category. Fire is actually highly saturated, but if you match it with some RGB color, the way the sub surface scattering interacts with that light just ends up looking wrong. Working with the actual light distribution of fire at any given temperature results in much better appearance.

To summarize:
- Noise really isn't an issue anymore (I think that's thanks to the Hero Wavelength algorithm https://cgg.mff.cuni.cz/~wilkie/Website ... 14HWSS.pdf )
- It is slower (but mostly due to parts of the image that do, in fact, make a difference, and not to an absurd degree)
- Certain situations just work better with it, so you need less time in post processing to "make it look right"
- Certain materials have spectral properties you won't be able to easily recreate in an RGB workflow.
Post Reply