Cycles Light Paths bounce questions

I have a few questions about the Light Paths bounce settings under the ‘Render’ tab in the properties panel in Cycles.

The ‘diffuse’, ‘glossy’, ‘transmission’, and ‘volume’ bounce numbers are separate from the ‘max’ and ‘min’ numbers. The tooltips for ‘diffuse’, ‘glossy’, etc. all say they’re “bounded by total maximum”. Is this referring to the ‘max’ number? And does this mean, for example, if I had glossy set to 2, and diffuse, etc. set to 0, should I set the ‘max’ number to 2 as well, since I assume “bounded by total maximum” means the glossy’s bounce number won’t go higher than what’s set to max during the render, no matter what number I put into glossy? This confuses me because under the ‘direct light’ preset, both ‘max’ and ‘min’ are set to 8, but none of the other bounces below it reach 8.

I’m also curious on the bounce setting’s influence on noise in renders. I’ve read that if I want less noise in my image, I should decrease the bounces. But I’ve also read that certain bounces, like glossy for example, require more bounces to look correct. I sometimes have to have multiple light sources with many glossy materials, and having my bounces set to even low amounts like 6 can produce a lot of noise and fireflies. I know you’re supposed to increase the samples to get rid of noise, but sometimes I increase it up to 3000 samples, and noise is nowhere near to being gone. This usually leads to me trying the various other methods of getting rid of noise, like clamping, filter glossy, and denoising.

But my questions above lead to confusion and constant second-thoughts on my bounce settings, as I’m always wondering if the bounce numbers are the problem and if there’s a good light bounce template for certain types of scenes using certain kinds of materials and light sources.

If anyone has any answers, or tips in general on lighting settings in Cycles, I’d be very grateful.

The max/min bounces setting determines the maximum and minimum of light bounces on a global scale and overwrites the setting for the individual types if they are outside of that range. If you have your minimum set to 5 and maximum to 10, and you have say the diffuse bounces set to 1, cycles will calculate 5 bounces. If diffuse is set to something within the min/max range like 7, it will calculate that exact ammount. If it is above, it will calculate 10.

Generally speaking, yes. More lightbounces tend to be more realistic, but can produce more noise and take longer to render. The reason for this is that cycles is a stochastic path tracer, meaning when it calculates a sample it uses a random variable to determine where and how it bounces off surfaces and how intense the luminosity is. If I am not mistaken when you use 0 bounces, it will hit for example a glossy surface and that’s it. There is little possible variation, and all samples/variables will be very similar/the same, therefore there is no noise. If were to use more lightbounces, a ray will hit the glossy surface, bounce off, hit a different surface, then another and another until the maximum number of bounces is reached, or the ray goes off into nowhere. All these bounces add more variables to the equation, meaning two different samples may vary strongly in luminosity. Therefore you need more samples in order to reach an average luminosity.
I usually set the light bounces to the full global illumination preset (minimum 3; maximum 128), because while it may not be the fastest, there is virtually no case where it is not enough, and for very simple scenes it doesn’t tend to increase render times significantly, because rays will be terminated once they go off without hitting a surface, so for a simple scene it might only calculate a maximum of 5-10 bounces.

Light bounces likely aren’t the main issue here. If you ask me, the hirarchy of settings I would adjust to clear up noise/fireflies is probably something like samples - filter glossy - clamping - caustics - bounces - denoising.

2 Likes

Are you certain of this? I tested out a few things regarding this and it doesn’t seem to be the case. For example, I set the maximum to 128 and the minimum to 64. I then set diffuse/glossy/etc to 1, and if I understand your explanation correctly, cycles should treat the diffuse/glossy/etc as 64, since it’s outside the max/min range so it will override it.

However, when the diffuse/etc numbers were set to 1, and after I rendered them again at 64, the resulting two render times and image quality were very different. 1 bounce was much faster but lower quality, and 64 bounces took longer but was higher quality. Shouldn’t they be the same, since the minimum bounce number would overwrite the smaller bounce numbers that were outside of the min/max range?

1 Like

You’re right, my explanation was partially incorrect. I think I got it now though. I still believe what I said about the max setting is correct, however if i understand the tooltips the min setting works a bit differently.
If you set the min value to 1 and the individual rays (diffuse, glossy, etc.) to say 64, rather than terminating every ray after 1 bounce, it will start treating the rays differently. Rather than continuing to render alll of the remaining 64 rays, cycles will use a probabalistic approach to estimate how many more rays to render, meaning it might render up to the maximum number of rays, but can also render fewer than the minimum if it estimates 64 to be too much.

That is if I understand this tooltip (for the minumum setting) correctly:

1 Like