ahh I see, so it's basically a per-pixel technique but distorting the texture to take advantage of parallel rays! very clever (but GPU heavy)

The original article I followed was on gamedev by Orangy Tang but it's not there anymore, but there's an implementation in D here :

http://www.incasoftware.de/~kamm/pro...ft-shadows-2d/

So your technique is more like shadow-mapping and the linked technique is more like shadow volumes. Indeed, even having advantages and disadvantages similar to their 3D counter-parts.

It would be difficult to optimize the geometric technique using the GPU, but it does have the advantage of mathematically correct penumbra-umbra regions where as the image space technique is an approximation blur based on the distance from the light, but saying that, who cares? it looks great

The image space technique has the advantage that it doesn't need geometric information of the shadow-casters, it will work with any pixel data that's thrown at it.

I'd say that the geometric technique would be useful in the fact that it frees up a lot of GPU power for other effects/lower end cards. Shadow volumes are not favoured in 3D today because of high-poly geometry, it's too slow compared to shadow-maps.

But 2D? not an issue.

it would be interesting to see both techniques in quad I think they would both have their uses, the geometric technique would be far more useful in situations where you wanted to test if points/geometry are in shadow CPU side (for example think of a stealth MP game where you'd do this on the server without any hardware context) and the Image-Space technique can work well with things like particle systems (I bet you could do some funky stuff with partial shadowing, accumilated thru layers of semi-occluding smoke particles for example)