Dynamic, variable penumbras

Imagine a room that has :

1) a fluorescent light; and
2) a single filament light bulb

on different walls of that room.

What would be required to have shadow penumbras that dynamically and accurately change in penumbra intensity/softness depending on distance from each light source?
 
If i were to do it, i'd use a per shadow caster projected shadowmap system with a variable filter kernel size based on the distance from the point being lit to the shadow caster, distance to the the light, the size of the shadow caster and size of the light. Of course no accounting for speed or accuracy, and obviously no maths here :)
 
Penumbra wedges is a relatively popular technique. I haven't tried implementing it myself, so I don't know exactly how good it is, but should work fairly good and be relatively cheap.
 
Humus said:
Penumbra wedges is a relatively popular technique. I haven't tried implementing it myself, so I don't know exactly how good it is, but should work fairly good and be relatively cheap.
Do you mean the stuff from Assarsson and Akenine-Möller? That some very pretty stuff, but it's not cheap by any means. Silhouette detection and tons of fillrate is needed, and the shader - which has lots of overdraw - isn't too simple either. I did some work on that technique and trimmed the shader down to 40 instructions, and reformulated it so that you didn't need two draw calls per wedge (!!!), but it remained very taxing. What exactly is your definition of "relatively popular"?

Still, it has the best image quality I know for any soft shadow technique, and I tried looking for everything out there.
 
Back
Top