33

I just purchased the fifth edition of the OpenGL SuperBible. I'm very pleased that they've avoided using deprecated functionality but their examples make use of GLTools. GLTools provides a slew of useful functions for rendering simple 3D objects and managing the view frustrum, camera, and transformation matrices.

This is all great but the abstraction provided hides low-level details and I'm having difficulty moving to code where I can't use GLTools -- for example, pyopengl. The vast majority of tutorials I've seen online make use of immediate mode, which I'm trying to avoid. Those that use glDrawArrays make use of glEnableClientState, which I'm also trying to avoid.

What I'm looking for is introductory tutorials that are fully OpenGL 3.x compliant. If that's too tall of an order, perhaps a laundry list good "starting point" functions would be in order.

genpfault
  • 47,669
  • 9
  • 68
  • 119
Jonba
  • 1,077
  • 2
  • 11
  • 12

3 Answers3

45

Stay away from NeHe, the tutorials are hopelessly outdated and contain a lot of "problematic" stuff, too.

For starting with 3.x, try those, they're both up-to-date:

Aurian (Joe Groff)

Arcsynthesis (Jason L. McKesson)

Update:
Re-reading my own post almost 2 years later, I guess that one might find that it sounds a bit harsh.

This is of course not the intent. The core message (which remains valid) that I wanted to give was that NeHe still deals with OpenGL 1.x/2.x and uses some unsupported "antique" libraries.
Generally, as such, this does not mean the tutorials are necessarily bad, but starting from there will mean starting two generations behind the current state-of-the-art, and one generation behind the minimum one should learn. Learning legacy OpenGL will, at a later time, require you to forget almost everything you know and re-learn from scratch.

That said, the NeHe front page now links to a tutorial focussed on OpenGL 3.3 by Damien Mabin, which looks quite nice at first sight (though I will not have time to thoroughly read through it before new year).

Damon
  • 61,669
  • 16
  • 122
  • 172
  • 3
    I agree, and old libraries like glaux.h aren't even supported anymore. The problem with recommending NeHe is exacerbated from still being the number one Google result for "OpenGL tutorial". No wonder so many still swarm to it. – Chris C Oct 04 '11 at 21:27
  • 3
    Quick tip: As of this writing, the first link (Aurian) seems to be a quick and dirty introduction to OpenGL, whereas the second link seems to be a more complete, in-depth and (in my opinion) more professional overview of the entire spec/C API. I personally found Archsynthesis' invaluable. +1 from me. – Qix - MONICA WAS MISTREATED Apr 27 '13 at 07:55
  • Also: Both of these tutorials use older, pre 3.0 functionality. – Qix - MONICA WAS MISTREATED Apr 27 '13 at 10:25
3

Here is a serie of OpenGL 3.3 tutorials for Windows, that doesn't use any of deprecated functionality, only new stuff:

Megabyte Softworks OpenGL 3.3 Tutorials

Michal
  • 31
  • 1
3

https://bitbucket.org/rndblnch/opengl-programmable

a short step by step tutorial to OpenGL programmable pipeline (OpenGL / OpenGL|ES 2.x) for people already familiar with the fixed pipeline. dependencies: python 2.5+, PyOpenGL 3.0.1+

Successive versions of a small but rather complete glut/opengl program that starts from direct mode and is transformed step by step to run exclusively on the programmable pipeline. Look at the diffs between successive version to have an highlight of the changes needed (e.g., https://bitbucket.org/rndblnch/opengl-programmable/changeset/b21131e37ed7).

rndblnch
  • 93
  • 4