That's what I was thinking as well -- these are equations that generate colors in 2D space, so essentially pixel shaders, but for this particular effect I wonder if it would be simpler with some geometry shaders, and have a 3D engine take care of the shadows.