Tutorial 40: Shadow Mapping. Broken, but works.