This is another one of the Global Illumination Test Scenes -FROM THE YEAR 2000- presented here.
This scene is designed to test the ability of a renderer to bounce illumination from an area light source at the bottom, to a grey card (50% grey) on the left, to a grey cube (50% grey), and then onto a grey table (50% grey). The plane also serves to isolate the light source from everything else. Here’s an image where I’ve added a bright greenish sphere light to show the scene before light bouncing begins. The sphere looks white because it’s over really bright and it’s over exposed.
If I turn off the sphere light and use direct lighting, only the grey card on the left gets illuminated. This image used pretty low sampling, so there’s some noise. But you get the point.
At this point I experienced some technical difficulties.
Programmer Tip – If you declare a member function of a derived class with one of the parameters const where it is not in the base class, your base class might get called by surprise!
After some C++ shenanigans we won’t discuss, here’s the test scene starting with 1 bounce and working up to 4 bounces:
And here’s a render with the cube turned red so we can see the bounce as a red tint.