Dave B(TotalVR) said:
I always preferred stencil shadows myself, the mathematical accuracy outweighs the hard edges because shadows appearing where they shouldn't really gets on my nerves. It can give you an unfair advantage in MP games - notably in CSS, you see the shadow of somebody in the cieling above your head so you can shoot through the floor.
Shadow Maps aren't easy to work with, as the bug you describe shows, but when used and implemented correctly, they provide the best results.
This explains why SM are being used in Offine Renderer while Volumetric Geometry base shadows are not.
Dave B(TotalVR) said:
I'm sure pixel and vertex shaders could be used to make the edges soft, I don't think it's been investigated enough IMO.
There's so much you can do with that, geometry remains geometry (If it doesn't, then we're back to Shadow Buffers).
Games like Silent Hill 3/4 or F.E.A.R., to name some examples, already do soft the edges of their Volumetric Shadows, but fact remains that it has a serious cost for a result that is barely 'okay'.
To attain more complex effects, you'd have to use a "brute force" approach with the Vertex shading, or opt for some sort of "post processing" filter, but I don't think that the latter would be convincing.
Dave B(TotalVR) said:
The other argument is more an argument for the doom 3 implimentation - everything casting shadows, it's just stupid when you are casting a shadow from an obscured light source, which happens very often with SM. Also you might be standing next to a small wall and you shadow apears on the floor on the lit and unlit side of the wall, the wall casting nno shadow itself. Looks stupid.
That's an implementation issue, not a limitation inherent to SM nature. It sure is more complex to get SM to look "right" that's the problem.
Dave B(TotalVR) said:
Doom3 had perfect shadow rendering on *everything* except for the fact they had no penumbras.
Doom 3, the game, doesn't actualy have shadows casted on everything from everywhere.
That was the original idea, but due to bug and performance reasons it's not present on the final game.