Also, from the looks of it, even though I added the ImageIO framework stored inside the ApplicationServices framework (my computer has 5 different versions, all stored in seemingly random places, I have no idea how they all got created), it says its trying to link to a copy of ImageIO in the trashcan...? What's going on?

Nevermind, I figured out what was happening. Idiot me, was trying to link to ImageIO directly instead of just linking to ApplicationServices. Apparently XCode doesn't handle that very well and it completely choked.

I actually have it working now, I just have to figure out how to flip the OpenGL context so textures are drawn right-side up.

Oh, and thanks to OSC for turning me onto ImageIO; it only works in 10.4+, but its much nicer than the Quicktime APIs and the raw data-copy method I was using before had to essentially be hacked together to work.

Alternatively, just swap your texture 'v' coordinates. Instead of the top being 0.0, make the top 1.0 and the bottom 0.0.

EDIT: if setting the transformation matrix allows the image to be flipped before uploading it to the OpenGL, then that's gonna be the better way to do it. I don't know how ImageIO works though, and a quick scan of the xcode docs doesn't reveal much.

glPixelZoom only affects glDrawPixels and glCopyPixels, which I doubt is how you're drawing your images :-p

And as far as flipping the image during rendering goes, it's much simpler to just flip your vertical texture coordinates. Instead of the bottom being 0.0 and the top being 1.0, make the top 0.0 and the bottom 1.0.