What should I learn? OpenGL 4.1 or OpenGL ES 2.0?

I will be developing desktop applications using Qt but I may start developing mobile applications in a few months, too. I don't know anything about 3D, 3D math, etc and I'd rather spend 100 bucks in a good book than 1 week digging websites and going through trial and error.

One problem I see with OpenGL 4.1 is as far as I know there is no book yet (the most recent ones are for OpenGL 3.3 or 4.0), while there are books on OpenGL ES 2.0.

On the other hand, from my naive point of view, OpenGL 4.1 seems like OpenGL ES 2.0 + additions, so it looks like it would be easier/better to first learn OpenGL ES 2.0, then go for the shader language, etc

Please, don't tell me to use NeHe (it's generally agreed it's full of bad/old practices), the Durian tutorial, etc.



I suggest going the route with OpenGL ES 2.0, because as you have already said it is pretty much a subset of modern OpenGL. You should also be aware that even today some mobile devices only support OpenGL ES 1.0, which is radically different to OpenGL ES 2.0 and more like OpenGL 2.x (fixed function).


From a general point of view, either. The practices you learn in one will benefit you in the other.

It's more of a question of what you have access to, and what your interests are.

As for books, any book related to OpenGL later than 2.0 will help you get into the bleeding edge, since OpenGL works through extensions.

Also see What is the difference between OpenGL ES and OpenGL?


Your Answer
