Shadow maps work with a little bit of magic.
More generalization is still required.