Programming. Realtime computer graphics. Demoscene. Game development. Stuff.
The holy grail of shadows
It just occurred to me: it seems that noone has ever made a shadowing system that does shadows from anything onto anything, with zero artifacts, with no corner cases, always looking good, running fast and on any sensible hardware.
Hm... sounds like a challenge! ;)
Back to reading.
Shadows in Serious Sam 2 are very nice. They are rendered in huge scenes without any visible artifacts. Still haven't figured out how they work. Maybe they're using perspective shadow maps.
Ok, I did not really see SS2 in action, but I could tell that outdoors-perspective thing is not the most complex problem you'll be facing with. As another clever guy pointed out, there are 28 and then some ways to get nice shadows from the sun in outdoors. The really tough problems are somewhere else!
Just looked at SS2 shots: yup, seems like some sort of projection-tricks shadows. Almost always looking good, except in some cases: here are shadow texels: http://www.seriouszone.com/gallery/ss2/screenshot2?full=1
shadows are a pain now, but once we're using cards that do ray tracing we'll laugh at how easy it is and reminisce about the old days when we had to use all sorts of different techniques and nothing every worked right. :)
at 2005 siggraph there was paper on recent implementation that was programmable and had many similarities to current gpus. looked awesome. dear nvidia, please turn that into commercial product and make it good.
Huh, just checked my Outgoing Messages and found that I came up with exactly the same amount of nice directional shadows technique as that clever guy (mentioned by NeAraz) did: "ishtikruju man atrodo, kad directional shadowsu problema jau ishspresta - yra 28 budai tai padaryti - kiekvienas parenka pagal save :)" Gosh, I'm good ;)Post a Comment
to imbusy: SS2 doesn't do self-shadows and doesn't cast from static geometry (static shadows are baked), so it's relatively easy to tweak the shadow frustum to enclose only dynamic casters (and you can clamp it in the distance, cause even looking at the hirez still shots I couldn't say if enemies far away actually cast or not). As for the example of the a bit more comlex shadows and decent texel distribution, I would suggest a final version of 'PSI: Syberian Conflict" ;) which casts shadows from all (static&dynamic) objects in the big scene. Somewhat modified Trapezoidal Shadow Maps were used there.
to blackpawn: hmmm, ziljons of ray-casts against complex geometry in 20ms, I suppose many people would be eager to see that. I wonder how many ray-casts (for example) Ageia PPU can handle right now?