by stoopdapoop on Sun Apr 15, 2012 8:29 am
CSM isn't really analogous to global dynamic lighting. To say something has global dynamic lighting could mean one of a hundred different things.
CSM is just one of several ways to cast a depth texture ( to be used as a shadow map, in this case ) over a scene. It's fairly simple to implement, and it just uses the highest resolution depth texture for the area around the player, and cascades lower resolution maps as they get further from the player. In a perfect world, every depth mapped texel would occupy one screen space pixel when projected onto the scene. Using CSM is just one way to make that closer to being true.
It's not the best method since it leaves weird looking borders between maps, but they can be blurred away to lessen the effect.
And unfortunately, no real time lighting model is perfect. As gary said, there are self shadowing errors with shadow maps which are very difficult to overcome. Bounce lighting is difficult to achieve, and getting more than one bounce is just about impossible on today's hardware. Not to mention that all of the lighting calculations have to be repeated every single frame, which is extremely wasteful. And before someone says "so what? gpu's are powerful" it's important to realize that any wasted calculations could easily go to work doing something else, or could simply go into increasing image quality.
Lightmapping is nice because you basically front load all the lighting calculations to before the player even starts the game. Lighting can be physically accurate (so you get nice things like realistic soft shadows, which can be prohibitively expensive in real time) and gets written to textures and volumes. So instead of doing a lot of calculations to get very crude results (like with dynamic lighting) you can perform a very quick lookup, and get really nice results.
The downside obviously being that that they're not easily made dynamic.
Now keep in mind that Source's lightmapping isn't the best in the industry, you might want to look at Unity, or UE, or sonic generations to get a better idea.
Whenever possible (and it's not always possible) you want to use a mix of static and dynamic lighting, the quality of the static lights will sort of "bring up" the quality of the dynamic ones, and you only have to make the lights that need to be dynamic, dynamic.
/randomthreadessay
I'm Brown
