Shadow mapping now works, but very messy