Why are my glass reflections so far apart? I'm playing round with a fairly common Cycles node setup for glass that gives the reflections of glass but without the darkness that you get with the default glass shader:



The left panel uses a custom 'fast glass' material (node setup below), and the right one uses just the default glass shader. While I'm expecting the double reflections on the left panel - since that's what happens with glass IRL - they seem really far apart depth wise. The glass is only 12mm thick, so I was expecting those two reflections to be almost on top of each other. Also, one of the reflections is noticeably larger than the other, which I imagine is also due to the exaggeration of depth. I'm stumped as to why.

Setup:


Both glass panels have had scale applied.
Both glass panels are closed meshes at 12mm thick.
Both glass panels are flat shaded, with normals facing outwards.
The default glass is using the default glass shader with an IOR of 1.450 degrees.
The 'fast glass' uses the following material:




Edit:

File uploaded here (swapped out the floor so I could drop the texture, but otherwise the nothing else changed):



Tinkering some more, I noticed that if I use the Shadow Ray and Diffuse Ray as my factor I get just the one reflection, so it looks very similar to the standard glass shader, minus the shadow. Interestingly if I use the glossy ray I get a lot of refraction going on, which doesn't seem right given the thickness of the material, but I can't begin to figure out why.
The problem is that the Mix node using the 'is Reflection Ray' is causing the glass to behave as a single refractive surface - which doesn't exist in the 'real' world. Normally the refraction would bend the light one way on entering a solid and the other way on exiting the solid, effectively cancelling each other out.

However, I believe the Mix node is resulting in rays entering the glass and being refracted as normal, reflecting off the back surface of the glass, and then passing out of the front surface of the glass without refracting back the other way.

In order to demonstrate this, change the color of the Glass Shader to give the light that passes through it a tint to make it identifiable to that reflected off the surface. Also, increase the IOR to make its effect more pronounced. You should get something like the following :



As you can see, the 'untinted' reflection is the same as that on the surface of the other pane. This is not passing through the glass and is not refracting - it is simply the reflection off the surface of the glass.

The 'tinted' reflection is entering the glass and reflecting off the back surface. However, it is not being refracted at both surfaces - only one since the Mix is causing the surface to behave as Transparent on one transition - and this is causing it to act as a lens.