I've started to work on my 3D render engine again, mainly by adding physically based materials and effects to it. This image started out as a test render, but I like it enough to give it full render treatment, hope you like it.
Light is a diffused sky (i.e. no hot spot from the sun to save on render time), ground is the good old checker pattern which still works well to show distortions and distance.
Camera was also given a work over, it is now much simpler to use as it is based purely on vector math (the old one worked fine but was a mess to use). Film plane is a wide version of a full frame film with a focal length of 40mm, with some depth of field.
The refractive elements are all considered completely transmissive internally (i.e. no colouring, scatter, absorptions e.t.c.) and chromatic aberration was turned off (one of the materials would create up to 7 new rays with it on and it would take far too long to render the full image, it did give me some thoughts on how to improve rendering of the effect). Except for the lower left sphere (which is partially hollow) all are solid.
The big difference between the usual refractive rendering (with or without reflection) is that in the physical world the amount refracted (and hence what it reflected) of a photon depends not only on the refraction index of the media and the angle, but also on the polarization (critical angle is unchanged *phew*). The rendered image used an average of the polarizations for all surface interactions.
Centre sphere is regular refracted glass sphere, top left have same properties but with a rough surface. Bottom left is the same but is a shell (hollow), note the total reflection (blue arc) at the top and double reflection on the right side.
Bottom right is a birefringence material (double refracted). Some refractive materials refract a ray into two (some materials can do three.
I haven't added that yet since it is rather complex to calculate) depending on the polarization. Since glass normally doesn't behave like this I used the delta index of the extraordinary value for calcite -0.172, for comparison ice is about +0.002 (not noticeable under most circumstances).
Top right is glass sphere with a anti reflex coating, the effect of the coating depends on the refraction index of the coating and the media around it. If it doesn't completely reduce reflection it usually have either a green or purple colour (the exact colour depends on the refraction indexes).