more work on shadow mapping, support for multiple lights