Learning shadow mapping