Some tricks to avoid shadow artifacts: render back faces to shadow buffer,
use polygon offset.