Infinity Mirror

Post your tests, experiments and unfinished renderings here.
Post Reply
Posts: 126
Joined: Tue Dec 11, 2018 12:38 pm

Infinity Mirror

Post by CodeHD » Thu Feb 14, 2019 8:00 pm

I'm using Blender a lot to make 3D-models for 3D-printing. My latest project is an "infinity mirror", i.e. one mirror and one partially transmitting mirror paralell to each other with LEDs inside them that bounce light around, resulting in the appearance of a very long tunnel.
We built some of these at university a few years ago for the international year of light, with frames made from aluminium extrusion. Now I wanted to make some again, with a lightweight, compact and scalable printed frame. Also, 3D-printing is ideal to make custom logos to insert into the mirror :)

And while I have the model in blender already, why not set it up to get a good preview of what it will look like with some logo design or LED color...

I just finished bullding the first mirror. There are still some "teething troubles" with the mechanical design, but good enough to share some impressions and maybe get some tips how to set up the render ;)

First off, here are some images of the real thing (with a family company logo):
If you notice that the sides look a little curved: Thats one of the mechanical issues, not camera distortion ;)

In comparison, a quick render with LuxCore. Due to the many reflections, I set the specular path depth to 80 for this (maybe a bit less would have been sufficient in the end, I played around with mirror reflectivities which affect the tunnel depth). Unfortunately, my PC is quite old, so this was 30 minutes on a Phenom II X4 955. I'll have to copy it to my laptop and run it overnight, it is faster :roll:
I'll be working in the future on improved mechanical design and better materials for rendering. An important thing will be to get the translucency of the logo right. It is a hollow platic part, currently white PLA with LEDs inside for illumination.

User avatar
Posts: 311
Joined: Thu Oct 04, 2018 6:06 am

Re: Infinity Mirror

Post by epilectrolytics » Thu Feb 14, 2019 8:11 pm

The render looks just like the photo, good job on both sides!
Infinity box rendering is a very interesting topic, I'll have to try that myself (once the PhotonGI is finished and things get back to normal :roll: )
MBPro 15" 16GB i7-4850HQ GT750M, MacOS 10.13.6 & Win10Pro PC 16GB Ryzen 2700X, RTX 2070, GTX 1060

Posts: 126
Joined: Tue Dec 11, 2018 12:38 pm

Re: Infinity Mirror

Post by CodeHD » Thu Feb 14, 2019 8:28 pm

Thanks! :)

The render actually already had "feedback" from the photo: I measured the progression of the logo brightness and set the mirror reflectivities accordingly. Thanks to LuxCore being physics-based, that was enough to get a good representation of the tunnel depth 8-)
The color is just roughly matched by adjusting the photo, as that is easier than re-rendering with a different color. But that is really a trivial thing anyways.

Posts: 126
Joined: Tue Dec 11, 2018 12:38 pm

Re: Infinity Mirror

Post by CodeHD » Fri Feb 15, 2019 10:37 pm

I did some more renderings now and played around with a few settings. Two things I'll say first:
1. I didn't download the latest alpha with GI cache and OIDN yet. From my current understanding, Cache won't help with the tunnel effect, since that is basically pure specular + high glossy, but it might help with the logo which is diffuse.
2. I really need a faster machine now :D My laptop is a bit faster than my PC (i7-4800MQ + GTX765M vs. Phenom II 955), but its still old and a laptop ;)

Ok here we go. I let my Laptop do some work for 3h45m with a bit higher resolution. I also tried some moderate clamping (tests of that follow below).

First, without clamping:
And with clamping=90. I had to double the camera gain by a factor of 2.
I really liked the result, particularly the corners of the mirror where there is some specular refelction on the frame. So I did some renderings of that part cropped with double resolution to test some settings.

1. PathOCL GPU+CPU, Sobol, no clamping. 0h11min for 10kS
2. PathOCL GPU+CPU, Sobol, clamping = 90. 0h11min for 10kS
3. PathOCL GPU+CPU, Sobol, clamping = 9 (suggested value). 0h11min for 10kS
crop2_pathocl_cpu_0h11_10000S_sobol_clamped.jpg (9.85 KiB) Viewed 763 times
4. PathOCL GPU + CPU, Metropolis, no clamping. 0h11min for 10kS
crop2_pathocl_cpu_0h11_10000S.jpg (21.13 KiB) Viewed 763 times
5. PathOCL GPU only, Metropolis, no clamping. 0h23min for 10kS
Some clamping is ok, but too much seems to decrease the glossy reflections and the secondary refelctions from the mirrors blank glass surfaces here.
Metropolis wasn't possible for the whole image on GPU. Even for the crop it only worked when I reduced the total path depth to 12. But Metropolis seems to be a bad option here anyways. More fireflies and worse performance on the secondary refelctions.

I will try to find optimized render settings for a high-res crop of the secondary reflections, as they are well visible in real life. They are not bad actually, but getting a good simulation will be a nice-to-have thing before building, especially when you are using a different glass thickness or mirror-distance to get an impression beforehand ;)
To end this post, here are some pictures of how they look in reality from two different view angles:

Posts: 126
Joined: Tue Dec 11, 2018 12:38 pm

Re: Infinity Mirror

Post by CodeHD » Sun Feb 17, 2019 9:23 pm

I have a first test with OIDN now. Similar 10kS render as above. Model slightly changed and somehow the brightness changed again (no idea why though), so I had to adapt a bit in post - ignore the slight color change.

As for the GI-cache (as discussed in the development-thread), this example seems to be difficult for OIDN. Looks nice in the brighter parts, but the progression to darker doesn't appear to be handled too well. Particularly the led-stripes get a bit splotchy. But it is OK I think.
Might be nice with a cleaner render to begin with, or at higher resolution... When my new PC arrives... :D

Post Reply