My all time favorite is Martin Scorcese but from these three choices, I'm going to have to go with James Cameron. I heard he's kind of a douche in real life but I like his originality. Spielberg was great but his movies have gone so off the charts and have become all about green screen-special effects. He used to be so much better!