Oscar-winner for Best Supporting Actor , Christoph Waltz has signed on for the film Water For Elephants , co-starring Robert Pattinson and Reese Witherspoon , and directed by Francis Lawrence ( Will Smith 's I Am Legend ) .