added initial shadow mapping stuff