Archive for September 7th, 2009


OpenGL ES 2.0

So, like us, chances you’re probably aware that the 3GS brought OpenGL ES 2.0 to the iPhone SDK world … but just haven’t got around to sorting out just how different it is from 1.1, aside from the vague impression that the correct magnitude is “very different indeed”. Well, here’s a tutorial at Mobile Orchard to start getting you up to speed:

… They don’t even provide a barebones sample or XCode template to get your started with OpenGL ES 2.0. If you want to take advantage of the new graphics capabilities, apparently it’s up to you to figure out how to use it. Don’t be fooled into thinking that OpenGL ES 2.0 is a minor upgrade over OpenGL ES 1.1 with only a couple new available functions. It’s a whole new beast! The fixed-function pipeline is gone, and it requires you to use shaders and be more familiar with the basics of computer graphics before you can even get a triangle on screen.

Given the total lack of documentation, I set out to create the most barebones app using OpenGL ES 2.0 on the iPhone. Something that could be used as a starting point by other developers in their own apps…

Yes, very thoughtful, indeed. We don’t have anything planned that it makes any sense to make 3GS-dependent in the foreseeable future; but hey, if you’re that hardcore, there you go.

And whilst we’re talking about ‘hardcore’ and ‘OpenGL’ … if you’re really hardcore, have we got a video for you:

In depth analysis of iPhone 2G/3G rendering pipeline – not at the level of OpenGL ES, but looking deeper. Understanding what driver actually does, how communication between CPU and GPU is implemented and what data is sent – can help you not only to write a faster and probably better code for iPhone, but also provides an insight in what happens behind the scenes with modern GPUs.

Yeah, we’re more the “ooh, shiny!” level on that stuff. But if GPU-level minutiae get your geek on — there you go!