Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Possible Duplicate:
Is learning OpenGL 2.1 useless today?

This question was asked around 2 years ago and i have well read the answers to it, but that was 2 years ago, i would like to know if it's a bad idea for me to learn OpenGL2.1 today.

I bought the OpenGL superbible (4th edition) and not the 5th because some user in the ratings said that it was much better and i believed him. But now i'm affraid that was a long time ago.

Thanks for all your feedback!

share|improve this question
2  
Getting an updated answer to an old question is hard to do for a new member, sorry. The correct way to do it, would be to open a bounty on the original question and select "Current answers are outdated" as the reason for the bounty. I started one for you. –  Byte56 Aug 20 '12 at 18:50
    
Thanks Byte56, i had no idea one could do such things –  asheinfeld Aug 22 '12 at 12:57
add comment

marked as duplicate by Byte56, Nicol Bolas, Tetrad Aug 21 '12 at 5:05

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3 Answers

The short answer:

No. Learning OpenGL 2.1 is a good idea, even today, as long as you learn the "good parts".

The Long answer:

OpenGL can essentially be divided in two parts: "The good parts" and "Legacy functions".

Honestly, I don't see much benefit in learning legacy functions (the "fixed function"). However, a substantial portion of OpenGL 2.1 (the good parts) are still available today with relatively minor changes.

As such, learning some parts of OpenGL 2.1 can be beneficial. In particular, OpenGL ES 2 is very popular these days, and ES 2 is mostly (but not exactly) a subset of OpenGL 2.1. For 3D programming in smartphones, OpenGL ES 2 is a must.

So what's "good"? Essentially anything that is in OpenGL 3.1 "core profile" (as opposed to "compatibility profile") and/or in OpenGL ES 2.

  • Vertex and fragment Shaders: Learn them
  • Textures: Still good.
  • Matrixes: Knowing how they work is beneficial, but glLoadIdentity and that sort of functions are outdated and should be avoided
  • Light: Knowing how light can be simulated in computer graphics is useful, but glLightfv and other fixed function light functions should be avoided.
  • Array buffers: Good
  • glBegin, glVertex, glColor, glEnd: Avoid them. Might be good for quick experimentation, but there are other better ways to do the same.
  • Display lists: Avoid
share|improve this answer
    
You may want to move your answer to the duplicate question, so you can be considered for the bounty. –  Byte56 Aug 23 '12 at 15:48
    
@Byte56 Thank you for the suggestion. I did. –  luiscubal Aug 23 '12 at 16:50
add comment

I don't believe it is a bad idea. A lot of GL concepts span across all versions of OpenGL and will still ultimately help you. I have a number of OpenGL books from 10 years ago that still help today. I would say that if you are new to OpenGL and there are some better books that are older, you will learn plenty and the code should still work. Most of OpenGL is backward compatible (I believe).

share|improve this answer
    
You may want to move your answer to the duplicate question, so you can be considered for the bounty. –  Byte56 Aug 23 '12 at 15:48
    
Thanks, I moved it –  Mungoid Aug 23 '12 at 17:21
add comment

In my opinion, I think it would be a good idea to go through the book. Until OpenGL 3.1, OpenGL was upgraded by adding new features only, whereas from OpenGL 3.1 onwards the Khronos group (which manages OpenGL) decided to deprecate some features. This is why a majority(like 95%) of OpenGL will be the same. Therefore, I would suggest you read the book, then read about those features of OpenGL 2.1 that were removed/replaced in OpenGL 3.1

share|improve this answer
    
You may want to move your answer to the duplicate question, so you can be considered for the bounty. –  Byte56 Aug 23 '12 at 15:48
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.