Lies, damned lies and statistics.
I was cruising GameDev.net just a minute ago, and spotted this article in their “Hardcore Game Programming” column. It is entitled “Soft-Edged Shadows”, and as soon as I read the first page I was so angry that I immediately came here to vent.
For those unaware, achieving fast real-time soft shadows on current hardware is somewhat of a holy grail. While the new incarnation of the Unreal engine demonstrated them, proper umbra/penumbra and all, that was not designed to be running on the common mid to high-range graphics hardware of today (GeForce 4 up to GeForce 6) - rather, it’s designed to work nicely on the next generations of graphics hardware. So, anyone putting up an article claiming to have soft shadows is obviously going to get noticed.
What does this article demonstrate? Pretty much the simplest thing anyone vaguely proficient in graphics programming could achieve - equally-blurred shadow edges for the entire scene. It’s an extremely basic technique (render shadows into off-screen buffer with geometry pure white, blur, multiply with un-shadowed scene), and yet it’s in the “Hardcore Game Programming” column.
Hardcore? You don’t have to be Carmack to see that this method is complete and utter pants for producing any kind of decent soft-shadow-esque effect at all. You’re better off with the hard-edged shadows - at least they look correct at the base of the shadowing objects. This one simply blurs it all equally, so you end up with it being completely incorrect at the base of a shadowing object and producing a physically incorrect pseudo-umbra/penumbra effect.
This whole post sounds a little arrogant, but hell with it, if I see a column entitled “Hardcore Game Programming”, I expect decent articles that contain presentations of complex, inventive algorithms, not an “algorithm” that even a bad graphics programmer could come up with in 30 seconds.