1
$\begingroup$

I was rendering an image using Nishita Sky Texture and noticed that if you inspect the sun's pixels they give some strange values.

enter image description here

150k red, 50k green, I guess... these numbers make some sense as they would at least display something, but -797 blue???

To be clear, it's not causing a problem, but I am curious. What is this? What is it doing?

I'm also interested in how a value like this is generated in the first place.

Interesting note: This value is only present in the image from Render Layers. After Denoise the value in this region is a positive value, but very small (like approaching 0). No other area in the original image has any color channel value below 0.

$\endgroup$
5
  • $\begingroup$ Maybe an emissive material that’s screwy. Yeah, denoising would remove that; it is an anomaly. I’m curious too $\endgroup$
    – TheLabCat
    Aug 2, 2021 at 3:54
  • 1
    $\begingroup$ 150k seems WAY too strong for a render. Shouldn’t it be in a 0-1 range? IDK. This may be a value overload (if such a thing can happen): adding to a number surpasses it’s memory allocation, so it wraps around. $\endgroup$
    – TheLabCat
    Aug 2, 2021 at 3:56
  • $\begingroup$ No, it's not necessarily too strong. It's possible if you use for example HDRIs for lighting the scene or bright lamps etc. This is the dynamic range that the standard sRGB monitor can't display. That's why there are settings for exposure, gamma correction etc. $\endgroup$ Aug 2, 2021 at 9:55
  • 2
    $\begingroup$ Denoise making it positive isn't that surprising - I guess many (all?) nodes with Color output will do this, since a negative value is very odd. And nodes usually process the image in some way so I guess they are remapping it to stay in a specific range - not necessarily 0 to 1 for high dynamic range images. E.g. if there is bright spot with values > 10, a Glare node with a threshold of 5 will make it glare. If you however plug the Glare node after a Denoise with the HDR setting disabled, there will be no glare - because now no value coming out of the Denoise node will be > 1. $\endgroup$ Aug 2, 2021 at 14:09
  • $\begingroup$ It’s because the calculation is being done using CIE XYZ approximations. When the value arrives in BT.709 based primaries, the red-green mixture is out of gamut, hence negative blue. $\endgroup$
    – troy_s
    Mar 10, 2022 at 2:29

1 Answer 1

2
$\begingroup$

Behold, lights in Cycles can have negative values and subtract light from the scene. Here is a -2000w point light surrounded by 1000w point lights.

enter image description here

And so a negative blue channel may give us some indication of what the Nishita Sky Texture is doing in the scene space. In a late-evening position the lighting takes an orange hue, because the sky texture is sapping some blue-ish color out of the scene by applying negative lighting.

To test the theory I limited the center light to only the blue channel.

enter image description here

This is true to life, as the sun's position relative to an observer determines how much of the earth's atmosphere the light has to pass through before reaching the observer. The atmosphere more readily scatters away the shorter wavelengths (on the blue end).

In actual fact, this effect is even more extreme than one might intuit, because atmospheric scattering changes the perceived position of the sun, such that the sun is visible for a couple of minutes after it has actually "set" on your position!

enter image description here

Image credit Chegg.com, fair use for educational purposes.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .