Which versions of OpenGL is not worth to learn anymore?

Started by
6 comments, last by tom_mai78101 11 years, 6 months ago
And what i probably will be missing ,if i start learning OGL 3.3 now, after a year ?
Advertisement
I recommend discarding anything older than OpenGL 3.0.

Have a look at Core and Compatibility in Contexts page. In OpenGL 3.0, a lot of the silly, old-fashioned slow and retarded stuff was marked deprecated. In OpenGL 3.0 through 3.2 they got a bit confused at how deprecation, feature removal etc. should be done, and (in the typical messy OpenGL fashion) they got it sorted out for good only in OpenGL 3.2. So, primarily go for OpenGL 3.2, and if that's not available, OpenGL 3.1 with forward compatibility, and if that's not available, OpenGL 3.0, but don't call any deprecated functions.

OpenGL 3.2 is actually quite modern, and doesn't have all that crap anymore it used to have. also, GLES2 and WebGL are conceptually (almost) identical to OpenGL 3.2 API-wise, although feature/extension-wise they differ somewhat.
Not worth learning might be a bit of a stretch.

The problem is, OpenGL ( and DX ) moved from a fixed pipeline to a programmable one, completely changing the way you do stuff.


It was this massive shift that obsoleted prior knowledge, and I highly doubt we will see another massive shift anytime soon. In fact, moving to a programmable pipeline gives a great deal more flexibility, making such changes even less likely.

Long story short, learn modern OpenGL and rest easy.
The theory behind 3D graphics is unchanged since the beginning. 3D hardware still does basically the same thing it has since it first came out in the mid-90's: it renders textured polygons. Today's hardware still just renders textured polygons. I anticipate that in another 10 years we will still be rendering textured polygons. The details of the rendering pipeline has changed, but the theory and principles have not.

Learn the fundamentals. The latest-and-greatest API will always be changing, but the fundamentals will not.
No version is useless to learn as they all teach concepts about 3D graphics that doesn't change. If you learn texturing, then the concept of texturing (how texture coordinates work and how two-dimensional surfaces are mapped to three-dimensional object), then the rest is varying syntax. If you learn how viewing, transformations and projections work, then those concepts remain the same and the rest is just syntax. If you learn

If you don't understand the basic concepts, then no version will help you get things done.

For learning the concepts, the old API is in fact quite useful because it is very forgiving and works out of the box with no interaction. From there, you can easily learn by small tweaks and go back when it breaks. The modern API, on the other hand, is less forgiving in this regard, and it can be very difficult for a beginner to figure out where something went wrong. As long as you don't focus on the syntax, but on the concept of how everything works, then you will learn what is actually useful and the rest will come automatically.

And what i probably will be missing ,if i start learning OGL 3.3 now, after a year ?


3.x is a fine target and I'd second the very specific 3.2 as a good place to be. 2.x can still be quite popular and/or relevant but for the most part I'd be hard pushed to say you'd miss anything because improvements were made and a lot of older cruft has now been removed. Chances are you'd be missing more by going with an earlier version, if only because some of the now mandatory good parts were previously optional and you might just overlook them for that reason, which can also be a little misleading.
Personally, and speaking from experience, I would stay away from 1.x. The fixed function pipeline is just too hard to ignore and you'll find it really hard to break away from once you get into it deeply. I found jumping into shaders and VBOs quite difficult as I had to unlearn so much.

Version 2.x is a good starting place, as the fixed pipeline is no longer necessary, but oddly, this version of GLSL still has fixed functionality. As others have stated, 3.x is probably the best starting point.
Just found out on Amazon Books,

OpenGL 4.X Red Book (One True God type book), 8th Edition, will be out on Feb. 17, 2013.
OpenGL 3.X Red Book (Similar...), 7th Edition, is available for under $45, if you live in US.

Everyone here is recommending you to go with OpenGL 3.X, especially 3.2. However, there's no better reference books than the above 7th edition. Aim for 7th Edition, or wait until next year for the 8th edition.

So, start from 3.0, then advance to 3.1, and then do some trials-and-errors on 3.2. That's the only way I see it may work for those who recommends you to go with GL 3.2.

Good luck. My post may not be helpful to your questions, but at least I'm steering you towards your rightful path.

This topic is closed to new replies.

Advertisement