The problem with OpenGL learning in general is that there are not many good resources for learning modern OpenGL development, which gets rid of the fixed pipeline, and requires shaders to work. Although the mechanics and the graphics theory are the same, the resources are outdated and disheartening for newcomers.
That said, you don't really need a **Mac OS X** tutorial. You need a cross-platform one. Those cross-platform thingies are usually pretty good, because they get rid of the platform-specific mechanics and focus on the common basics (which is actually what you want.).
There is a very good series of tutorials, written by Tom Dalling at
http://tomdalling.com/blog/category/modern-opengl/. These are by far the best I have seen, and most importantly, they are developed on OS X. This guy will not only explain you the basics of OpenGL, but will also teach you some necessary maths theory which powers the matrix transformations. His code is provided on github. Note that he has developed his code on GLFW, and he uses the previews version. The new version is slightly incompatible, but following the migration assistant in the GLFW wiki, you will have no problem.
Recommendations while developing:
- Avoid GLUT or FreeGLUT. Seriously. They are mostly outdated, and not flexible at all. Use SDL, or, even better, GLFW to handle mouse and keyboard input
- Invest time into maths, but not too much. It's good to know how matrix transformations are done, and how they translate into movements into the real world, but you don't have to learn by heart the calculations, etc. So while it may seem intimidating at first, you will find that it's actually really simple, and libraries such as GLM (http://glm.g-truc.net/0.9.4/index.html) will make matrices much much easier. Only then you can pay attention more to mathematics, when you begin to design your cool shaders.
- When you are confident enough to understand about OpenGL and graphics concepts, I advise you not to develop a game engine yourself, but to use an existing one. If you want more flexibility than a game engine can provide you with (they do have limitations, you know!
), use Ogre3D which is actually a rendering engine. You cannot get more flexible than that (you can mix it with practically anything for libraries, and you can also extend it with your own OpenGL code).
If you want to buy a book, do it after you have read the basic tutorial I give you, not before! Usually, books like the OpenGL Superbible are good but filled with useless and deprecated features, let alone the fact that they are using their own framework for transformations, which - if you don't know what it does - will surely confuse you as to why they use that! Not to mention that other books are filled with OpenGL features that you cannot really use (because they require an OpenGL version you don't have). So, in order to be able to cope with this stuff, read the tutorials, and learn the basics, to avoid the pitfalls of books.