Render an unilluminable room

In the early 1950s, the brilliant mind of Ernst Straus pondered a fascinating question: could a single candle illuminate an entire room if the room walls were made of mirrors? The idea might seem obvious at first – surely, the light would reflect off the walls and reach all corners of the room, irrespective of the candle placement. However, in a twist that challenges our intuition, Roger Penrose creatively employed the properties of ellipses to design a room that would always have dark regions regardless of where the candle was positioned. This revelation is nothing short of astonishing. Let's put this intriguing concept to the test using the Light Tracer Render!

Watch the quick video or read the full post bellow.

Start using Light Tracer Render today

Buy now

Roger Penrose

First, we have modeled a room of arbitrary complex shape to see if it could be lit entirely with one tiny light. We want mirror-like walls, so let's set them up with a perfect specular material (Roughness is 0, Metalness is 1). As for the floor, we'll opt for a diffuse material to keep it simple (Roughness is 1, Metalness is 0).

Closed room of complex shape with mirror walls

Now, onto lighting. Light Tracer Render supports mesh lights, so for our small light source, we'll employ a box that can easily be added to the scene via the Modeling widget.

Since we are simulating an optical experiment, it's important to achieve the highest degree of accuracy of light physics simulation. Let's switch on the Quality rendering preset in the Settings tab for the best result. Next, let's venture into the Advanced settings and increase the Max ray depth to the maximum. That sets the number of light reflections to compute, making sure we illuminate as much as possible.

We're all set, let's watch the magic unfold! The room is illuminated, but not entirely. What's the matter?

The same mirror room lit by one small source

Conventional unidirectional path tracing used as a base rendering method in Light Tracer struggles to capture the lighting coming through multiple specular reflections from a small light source. Here, almost the entire room – except for a small area where the source is directly visible – is illuminated by caustics! Usually, caustics are defined as bright patterns resulting from focusing the light after reflection or refraction. But, a caustic is any light going from a light source to a specular (reflective/refractive) surface, then to a diffuse surface, and finally to the camera.

Caustics are very difficult to simulate in a render engine. Technically this is possible even with unidirectional path tracing. However, it will take a huge amount of time, so in practice, it doesn't make sense. For many years, caustics were excluded from rendering or faked to some extent. One of the practical methods for calculating them is photon mapping. However, this method has too many parameters that require careful tuning, otherwise the result will be unsatisfactory. Thankfully, Light Tracer Render offers another solution based on bidirectional path tracing. This mode independently traces two light paths: one originating from the light source and another from the camera. It does not require tuning any parameters and is particularly effective for caustics or scenes mainly lit through indirect lighting. Let's enable this mode with a circle button in the top row:

And…Boom! The light floods the entire room. We can move the light source around, but no matter where we put it, the whole room is still illuminated.

The same scene rendered using the Caustics mode

However, remember that bidirectional path tracing demands additional computational resources, so it is a good practice to activate it only when necessary.

Now let's shift our attention to Penrose's uniquely designed room, which comprises two half-ellipses at the top and bottom, along with two mushroom-shaped protrusions on the left and right sides. The top-view sketch of the room is shown in the image below:

At first glance, it's hard to believe that this space could elude full illumination from a single light source. Yet, as we investigate the room closely, it becomes apparent that there are some spots where the light source is unable to illuminate the entire room.

Three lighting configurations in Penrose's mirror room

Penrose demonstrated that there are essentially three distinct configurations of illumination within this room. Let's put the point light source at some representative positions – in the center, in the upper half, and to the left of the left-hand mushroom-shaped protrusion. What's evident is that in each scenario, there are portions of the room that remain untouched by light. Interestingly, when the light source is nestled “underneath” the mushroom, the light doesn't venture down to the upper half of the room at all. Demonstrations like these could help us understand the nature of light.

As you have witnessed, Light Tracer Render simulates light propagation in a physically plausible manner, making it adept for optical experiments. Rest assured that the lighting in your renders will be spot-on. While the normal rendering mode generally does the trick, don't forget to flip the switch to the bi-directional mode when you render caustics or scenes with pronounced indirect lighting.

Let us know your favorite optical experiment in our Discord community.

Thanks for tuning in! Happy rendering, and see you next time!

Start using Light Tracer Render today

Buy now