There are many tutorials for caustics in Blender on the internet, but the hardest part was to find how to loop it. Got the idea from here. Will attribute other ideas to their authors a bit later when I have time to organize it.