Have you tried just using a loop to make a bunch of thin cylinders radiating
from a distant point and having an rgbf pigment?
Maybe there's a way to use your caustics method and have that control the
placement of the cylinders?
Or use an isosurface, or bezier surface with a pattern simulating streaks
(gradient).
- BW