Nishita Sky Power

Hi guys,

do i only have the feeling that the default should be 0.1 for both Strength and Sun Intensity.
At 1.0 and a white material, everything is burned. Even 0.2.

This does not happen with Preetham and Hosek-Wilkie.
Cause i want to know the value for true white at 12 pm on a white surface. Neutral max lit white.

White color is a wide subject, yet I think the best way to research about it is considering CIE Standard Illuminant D65.

I normally use those data to create color contrast in my scenes, but can help with your research:
Standard Illuminant
Color Temperature
Blackbody to RGB

More data about white point and color:

1 Like

Thank you :pray:, i thought who is Nishita and because of your post i noticed: i totally overlook some of the new features :sweat_smile:.

Well, it’s the Nishita that does include the sun, the others don’t. If it overexposes, go to color management and bring down the exposure, that’s how both the eyes and camera work although the eyes will have a bigger dynamic range.

True white at 12pm? At the south pole? Depends on which month :wink: If you want to color balance for whatever and making it white, render out a color neutral patch at subject location (white/grey, doesn’t matter), pick it’s rendered color and put it in slot #2. Divide the image by the color. Now run the image through a rgb mix node in color mode at desired strength with the calculated correction in slot #2.

The room below doesn’t have any windows, and the ceiling lights are 3000K. The nodes show how I make the image slightly cooler (75%) - I tend to think 100% is too much, I want it to look like an indoor lighting shot, but that’s just a personal preference:

If you want to neutralize outdoor colorcast (say 5500K sun or 10000K overcast) to match indoor lighting (2700K-3500K), you have to apply a color filter to the windows themselves - use a color gel like in the real world - just tint the window material. During render this will look really odd, but everything will look white after post effects. If you want this neutralized also during render/preview, you can adjust the white point in the color management curves. Remember to turn it off prior to saving or you’ll get both effects.

Well, thanks to everyone, but it didnt solve my question in understanding Nishita sky, everything else i understand and works as advertised :slight_smile: just Nishita is still a mistery, or bug ?

As i understand it:

Nishita sky when enabled, on standard or filmic and srgb monitor, 1.0 exposure, with 90 degree sun elevation straight above head and 1.0 for sun and 1.0 for power. With or without sun, a white diffuse plane at 1.0 white value will get burned to about 5x over 1.0 flat white.
This happens even without the sun disc enabled.

I don’t have a problem with temperature and exposure, i know how those work.

There are 4 solution with this, either:

  1. Nishita was designed for indoor scenes where the outside sun has to be powerful enough (by what factor?) or,
  2. Nishita energy distribution implies a different albedo per material way below 1.0 value (which would screw up a lot of shaders), or
  3. Nishita was meant to have the sun and(?) the power at a lower (gaussian ?) value to get 1.0 out of a 1.0 white diffuse shader, in which case i would like to know those values, which could be a combination of gaussian distribution or math, etc…
  4. Or its a bug… :smiley:

If anyone can enlighten me on that… :laughing:
Many thanks!

Nishita model is based on real world lighting. If you take you camera out at midday and try to shoot F2.8 1 sec, ISO400 exposure, you will end up with something that is overexposed by several stops. If you want a “correctly” exposed scene with the sun directly overhead, then you will need to drop the exposure in the Color Management section to compensate.

I remember people mentioning a discussion/debate/argument somewhere online where people were discussing what the default strength of nishita should be. I was never able to find this discussion but I’ve also had this question for a long time. I’d be fine with Nishita’s behaviour if I could just find and read all the logic behind why they chose to make it work this way.

Also they should move color management to the top of the properties panel by default since Nishita is so popular and the answer to all questions about it is to reduce the exposure. I also would like a way to store a relationship between the exposure value and which world nodes I’m using at the moment. It sucks having to go back and change it constantly.

Well, ok, dropping the exposure, by… how much ? What value ? You know what i mean ? And then why the exposure ? i need more info :laughing:
Blender doesn’t operate on ISO anyway. And even then, again, by what value.
Nishita has totally arbitrary values, i feel…

Couldn’t agree more. I’ve dragged it to the top in my startup of course, but every time I open a new properties panel it gets relocated to the bottom. I have no objections to having to underexpose for outdoor scenes - it’s called the sunny/16 rule for a reason.

1 Like

Yes, they are not 100% physical correct. Blender is an artistic software that has potencial for cientific output. Yet in your final render, what gonna to dictate your scene realism will be your eye and knowledge. Rendering a scene with all objects, lights, physically correct, you will get a decent image but not that ‘wow’ effect. That’s why almost all professional artists study in depth light and photography. Nishita is a very good light feature but you will have to tweak everything by arbitrary values to get a good output. Lightning for feature films, advertising and games cinematics are normally eye balled, there’s a lot of ‘cheating’.

For that I use a middle grey object and false colors to calculate the exposure correction.

It’s perfect.

Actually, I have never calculate the exposure, but the sun / sky intensity, because another thing I don’t like on making changes in exposure is that if I use an HDRI image as a backdrop for the sky that is another thing that I need to correct and if we change the exposure we also need to correct the gamma or the shadows will make everything impossible to be seen on them. So, I prefer control the sky instead of the exposure but the way to find the right value is the same.

Use a middle grey card.

And, by the way, how physically correct is a render if I need to compensate exposure and gamma?
I bring here 2 images to show one of the reasons why I don’t like to exposure correction.

Te first image is corrected by the exposure slider and the second one is corrected changing the sky strenght. Just jump from one image to the other many times and compare the highlights, the brightness of the curtains, the caustics, the reflections on the water, specially the beach ball.

Personally, I prefer not to lose those detais. If someone has any idea how to keep them the same way just using exposure control and not correcting in compositor I would like to hear.


1 Like

The top one looks more physically plausible to me. The leftmost (not facing us) window looks blown out, I can’t think of any reason why the reflection would be stronger than what it reflects.

When photographing (unless in manual mode), the camera will use its light meter and logic to figure out what it thinks is the right exposure, and adjust settings accordingly. Say it senses and records in 10-12 bits - extended dynamic range but not really high dynamic range - it needs to do some tonemapping tricks and highlight compensation/recovery, apply filters/sharpening, apply white balance, and apply a tone/contrast curve to get a decent 8bit sRGB out of it. The camera (or Lightroom/Darkroom) is “developing” the image. To get the same deal out of a realistic render you have to do some developing on your own in post. If you were to shoot this house with a camera, the raw file would look daft and uninteresting with no pop in it at all. Not as flat as a log image, but flat nonetheless. In a camera, if you know the light meter/logic would get confused (such as if shooting in bright snow), you can correct for this using exposure compensation. If you go inside where it is darker, the camera adjusts its settings to get the correct exposure - in a renderer you do the same using the exposure setting (in color management). Not sure I would touch gamma, that sounds more like a developing issue to be done in post.

Current Cycles isn’t great for caustic light transport. Especially if patterns are involves, you need tons and tons of samples, not only to get the details to resolve, but also to get the light amount. Other renderers also tend to have builtin Tonemapping as part of the display effect, whereas in Cycles tonemapping (other than filmic) you have to do it in post - I never grasped that pesky node so I’ll use filmic at the cost of saturation (I don’t need further developing for what I do).

As for curtains, I tend to use a mix (80-90%?) of Diffuse and Translucency (20-10%?) on thin geometry for the absorption part, mixed with whatever seethrough pattern there is on a Transparent shader (a lot more too it, but that’s the general idea). I don’t bother with glossy. Whatever sunlight bounces around inside should light up the curtains from the back a tiny bit.

I’m assuming you’re not clamping anything?

1 Like

No, I am not, even if I was it would be the same settings on both images.

The caustics are fake.

And we go to the same point. What is the benefit of respecting a “physically correct” light system if after that I am goint to compositor to do all the “corrections” I believe are necessary to make the image readable? Well, for me it’s like respecting physics on one hand and breaking it on the other.

The conclusion for me is: no matter what technique you use, you will need to do something to make that image readable, the way it comes out is just useless.

I preffer to use the minimum possible of compositor and if I can do something to make the image more acceptable straight out of the render, even breaking the perfect laws of physics in the sake of readability, I will.

Why should I wait for composition to break something?

And about the different behavior of the reflections refractions and anything else, we should probably complain to the nature of the principle shader, that supposedly should be behaving correctly in both situations, but not… Or is it a problem with exposure compensation itself? Who knows.

If I need to go to compositor I preffer to start with this image:

If my objective was to win any science competition I would respect anything, but in this case the objective is to create an image that has acceptable level of realism and that shows what need to be seen. If possible, that could be beautiful too.

You have spotted something that, for some reason I cannot explain, the translucent node of my curtains was disconnected. Also found that the tiny flowers of my grass particles system were missing. :frowning:

After correcting that, It’s a bit more pleasant. I am glad that this is an old work that I am correcting to use in my new portfolio and the actual work was done 12 years ago.

With only images to look at and a claim that it’s not realistic enough while saying you want it to pop more, it’s impossible to guess. Point is, realism isn’t always beautiful, and we improve that in post. Not knowing the model, shaders, texture albedos, rendering setting and so on - it’s kinda hard to judge from renders what could be wrong if any. You can try asking the devs, but I don’t think you’ll get anything useful from it.

Go with whatever makes you happy. If cranking up intensity settings makes your day, just go for it. Principled has known issues. If you suspect it, render out in isolation using a white furnace world using filmic, and verify/adjust until object is darker than the world - brighter indicates a problem. Hard to say if that impacts this, but I kinda doubt it.

Exposure compensation? We set our exposure manually to whatever we like when the image is rendered. Exposure compensation is something you’ll find in a camera with automatic exposure calculation based on its exposure priority mode, light meter, light sampling setting, and logic.

I want to add, if you render out OpenEXR, you dont care about exposure anyway. You can adjust it at any time. The only problem i have is that there is no neutral energy distribution with Nishita.
I would say that Nishita needs to show a neutral white at 1.0 white per pixel albedo at 1.0 Intensity. That would be ideal. At the moment i set it at around 0.2, disable the sun disc, and add a sun light. And after rendering i tweak it in post trough EXR. Still i hope there will be a solution some day to this.

If this was a dusk scene and there was outside lighting fixtures I think you could run into having to do more tweaking of both the sky light and the practical lights compared to using somewhat real-world strength for the practical lights and then just tweaking the sky and the exposure.

I really never had problem with that. Just adjusted the intensity of the sky / sun and then the lights accordingly. Nothing complicated.