Added in shadow mapping - still has some artifacts