Photon emitter for faked caustics?

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 :wink:

that’s not a bad idea, but what I was thinking would be modifying the Radiosity engine in order to include caustics calculations.

not sure how hard it could be, but it could be a good alternative.

Martin

Hey RipSting… long time no talk…

Your idea reminds me of way back when I was playing around with parenting one lamp to a curve and then adding DupliVerts to magically create a complete light source from one lamp.

I used two Bezier Circles and criss-crossed them to make a complete SPHERE of light… I called it 720° lighting… those were the days…

here’s a link to the old files…
http://centralsource.com/blender/intheworks/global/

How’s your grass/hair script going… damn, it seems like it’s been a long time ago…

____SysAdm