Got shadows working, but there are random artifacts, I believe due to floating point.