I'm trying to start OpenGL programming on a Mac, which brings me into unknown territory on a lot of things.

During the day, I'm a Web Developer, working in C# and before that in PHP and Delphi, all on Windows.

During the night, I try to pick up Mac/OpenGL skills, but everything is so different. I've been trying to look for some books, but the OpenGL books are usually for iOS (tons of them out there) and the Mac Books usually cover "normal" application Development.

I want to start simple with Pong, Tetris and Wolfenstein.

I see that there are a bunch of different OpenGL Versions out there. I know about OpenGL ES 1&2, but I don't know about the "big" OpenGL Versions - which ones are commonly supported on 10.6 and 10.7 on current (2010/2011) Macs? Are there any up to date (XCode 4) books or tutorials?

I don't want to use a premade Engine like Unity yet - again, I know next to nothing about any Mac development.


3 Answers 3


OpenGL Versions

OpenGL Versions supported depends on two factors on OS X:

  • OS Version (10.7, 10.6, 10.5 ...)
  • GPUs or drivers

But at least, you can use OpenGL 2.1 on every recent mac.

Note: OpenGL is the desktop version, and OpenGL ES is the mobile one. Don't use ES on desktop platforms.

Ps: if you have a GMA 950 Card (Intel chipset), you should have problems. Don't support them.

On my mbp, it is:

  • OS X 10.7 (Lion), OpenGL 3.2 Core is supported.
  • OS X 10.6 (Snow Leopard), OpenGL 3.0 Core is supported.

Use OpenGL Extensions Viewer to know OpenGL versions supported by your Hardware.

Start OpenGL on OS X

Use XCode 4.1 (4.2 beta for Completion with C++/C). They are samples provided by Apple for AGL, the link between OpenGL and Window system.

  • \$\begingroup\$ are Java and JOGL available? That's a pretty straight to the API pairing right there. \$\endgroup\$ Commented Mar 23, 2012 at 18:23

If you are experienced with C#, then better use Mono and OpenTK for your OpenGL learning. Mono is a free, cross-platform implementation of .NET (so you won't need to learn any new APIs) and OpenTK is a C# wrapper for all OpenGL functions, including some basic math, input and sound libraries.

  • 1
    \$\begingroup\$ Thanks. I'm a bit afraid of abstractions/wrappers. Maybe it's easier just to focus on the OpenGL bit first, but I'd prefer to go with the standard languages and tools, and that means XCode/ObjC as the goal. \$\endgroup\$ Commented Aug 11, 2011 at 21:22

Apple actually has a guide just for this very thing here.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .