Can't trust your eyes

A mirror illusion

by Simon Friedel


A mirror labyrinth where things are not located where they seem to be.

As mirrors are a material relativly easy to simulate with a raytracer, so long as the lighting is constant in the scene, I thought the idea of a classical mirror labyrinth would be fun to build and might create an interesting image. I certainly had fun building the scene, if it's interesting has to be judged by the viewer.


The core objects are build in blender, the materials are build in the code.

The basic grid used to sell the effect

Just putting some mirrors together isn't really enough to create the effect, the arrangement of the mirrors, the symetric and repetetive floor pattern and the pillars at the edges of the mirrors really create the illusion.

Having created the mirror layout and the frame, I thought of interesting objects to put in the maze. Since I haven't created many models before, I used the legendary utha teapot[1], the blender example monkey and a sphere. Note that each object actually exists only once in the scene and everything else is a reflection.

The final scene composed in blender

I implemented ambient light to iluminate all surfaces in a scene from a certain direction (rt/lights/ambient), this is used to iluminate the scene from 6 directions. I also added multithreading to speed up my rather slow implementation. The amount of threads to be used can be changed by the constant THREADS in the renderer.

The Final Image

Additional Perspectives:

[1] Utha Teapot