Indeed, the official documentation for it does not give a lot of explanation about how it works :
But after having thought about it for a while, I think I can try to give some sort of answer.
The word 'bounce' reffers to a ray that hits a surface (at least a second time) before reaching a light source. When a ray is cast from the camera, it's going to bounce around untill eventually reaching a light source. The total max bounces reffers to the number of bounces a ray can make before it is 'canceled'. The first hit is not considered a bounce for it's considered to be a direct hit (that's why when the number of bounces is set to 0
, it results in direct only).
I put bounce in quotes because, it doesn't have to be a litteral bounce, the ray can be penetrating some transparent surface, or entering a volume etc... And that's where those values kick in :
Those values above, for instance, mean that a ray can bounce at most once on a diffuse surface, at most 4 times on a glossy one, go through a reffractive surface at most 8 times, enter a volume at most 2 times and traverse a transparent surface 8 times at most. At the moment the ray exeeds one of those numbers, the ray is going to be killed. Atop of that, the total numbers of the bounces it makes is not allowed to exeed 8 which means, after 8 bounces, the ray will be also be killed.
As an example, let's consider two rays R1
, R2
and R3
cast from the camera and the bounces they make in order :
R1 : camera -> diffuse -> transparent -> glossy -> transparent -> glossy -> reffractive -> light source.
R2 : camera -> transparent -> glossy -> glossy -> transparent -> glossy -> diffuse -> light source.
R3 : camera -> transparent -> glossy -> diffuse -> glossy -> diffuse.
In this case, only R1 and R2 are going to make it to the light source as R3 already exeeded the allowed amount of diffuse bounces, even though it is still under the max 8 bounces so it gets terminated before it could make it to the light source.
You can think of it as 'quotas'. Each ray has 8 bounces that can be whatever type they are as long as each bounce type stays under its 'quota'. If, after the 8th bounce, the ray still haven't reached a light source, it will be terminated.
The keypoint in understanding it is that the number of bounces the ray makes is computed on-the-go and the ray is going to be killed as soon as it exeeds one of its bounce quota so there is no clamping going on. It's like using a credit card where the user is just not allowed to spend beyond the card's limit and if he reaches the limit, the card is immediatly disabled.
I don't know if I made it clear enough but that's how I understand how it works. Anyway you can just comment out if some point of the explanation are fuzzy or inacurate.
I hope I helped.