We are at 21th century and still we haven’t an ultimate shadow algorithm.
Shadow volumes requires a lot of fill rate, are CPU expensive, provides “hard shadows” and too slow soft shadows. Silhouetting is too complex and tedious…And more if tesselating is required!
Auto-shadowing should be disabled in order to prevent bad casting artifacts.
Shadow maps haven’t good quality at reasonable dimensions ( 256x256 or 512x512 pixels ). A glReadPixels it’s slow, and glCopyTeximage2D functions doesen’t work in certain cards. Biasing it’s a problem, like “perspective adjusting” whe you render at light-view. Also, requires multitexturing or multipass rendering…
Projected planar shadows are good for portals-room-walls but not for a landscape-exteriors 3D engine. Auto-shadowing is too difficult. Double blending could occur.
Anyone knows a GOOD ( realistic, fast and not complex )algorithm for shadow casting? I wonder why NVidia, ATI, SGI, etc… doesn’t offer a solution via light model. Don’t you?