Shadow mapping vs. Shadow volumes

So I was reading up about the different ways of doing real-time shadows in games and now I’m trying to decide which way to go between the two major options. Personally I like the mapping option because of its simplicity, although it’s potential for aliasing is troublesome.

However, most likely the I would only have one directional light source that casts the shadows, so is it a mistake to assume that I could place the position for rendering depth/shadow map near to the camera so as to get best results for the shadows that would be most visible to the player. If this is true, then I would be leaning for shadow mapping since I can’t think of many scenarios where the shadow results would show horrible artifacts.

I did have, one question though about shadow volumes. The most computation heavy part of the algorithm seemed to be the generation of shadow volumes from the geometry, so does this have to be done every time the light, or geometry changes position, or does it only need to be done once?

Shadow volumes have to be recalculated whenever the light or the casting geometry changes (changes to receiving geometry can be ignored). So that’ll usually force them to be done every frame.

Also remember that if you want to use alpha tested geometry (eg. for trees/grass/wire mesh) then they won’t work with shadow volumes at all.

Thanks for the reply, that matches what I was leaning towards. I guess, unless the results are incredibly bad, I will use shadow mapping.

Would putting the “location” (in quotes since a directional light is infinitely far away and thus doesn’t really have a position to render its view from) close to the camera in such a place so that the most objects likely to be seen by the camera would be seen by the light result in better shadows with less chances of experiencing the problems that shadow mapping is known for?