I’ve been thinking about this for awhile, but since I’m in college I don’t have much time or experience to code this.
Since the Python api has the ability to create objects, you can create lamps, right? so…
You could make an “emitter” lamp manually and name it Emitter.001 or something and set it’s energy to 0 (so it doesn’t actually effect the scene). Then, someone here could probably write a custom casting engine that would “emit” lamps from the original lamp (reading in the properties like SpotSi, SpotBi, etc.). when they collided with a mesh in the scene it would look at that mesh’s material properties, determine if alpha != 1.0, and if it’s not it would look at the Add property (or some other uncommonly used property) as the fractal index. The script would create a new lamp at each intersection until no more energy was left for that ray.
I would think that the properties of the script would be similar to that of the radiosity engine- mainly MaxEl and Hemires.
I realize that this script would take a long time to run, and it would add so many lampes to the scene that the render time would increase by quite a lot. This would be quite a script to take on, but whoever would write it would get lots of recognition