Yep, that's Robert Downey Jr. between Ben Stiller and Jack Black.
Entertainment Weekly explains the premise: “Robert Downey Jr. plays Kirk Lazarus, a very serious Oscar-winning actor cast in the most expensive Vietnam war epic ever filmed. Problem is, Lazarus's character, Sgt. Osiris, was originally written as black. So Lazarus decides to dye his skin and play Osiris, um, authentically.”
Downey, Jr. acknowledged the risk: “If it's done right, it could be the type of role you called Peter Sellers to do 35 years ago. If you don't do it right, we're going to hell. At the end of the day, it's always about how well you commit to the character. I dove in with both feet. If I didn't feel it was morally sound, or that it would be easily misinterpreted that I'm just C. Thomas Howell in [Soul Man], I would've stayed home.”
First Look: ‘Tropic Thunder' [entertainment weekly]