Robert Pattinson smoulders in rooftop shot for Dior