added shadow mapping.