Platform dependent parts of open GL API

Which parts of open GL API’s are platform dependent??? Kindly help me in this regard.i.e. What makes open GL API for windows different from that of linux.

Operating system specific parts are outside GL API.

For Windows, there is WGL.
For Linux (and others), there is GLX.


And for Mac, there is AGL, CGL and NSOpenGL. Yes, three different, for Carbon windows, for full-screen and for Cocoa views.

I think on MacOS X NSOpenGL is the way to go as carbon will die out. 64 bit apps are only possible on Cocoa afaik.

OpenGL extensions can also be platform dependent but everything that’s in the specs itself should be available as long as the OpenGL version and profile is supported (e.g. MacOS X only supports 3.2 core right now if you need > 2.1).

If this is related to your prior post about OpenGL source code, you seem to have some fundamental misunderstanding about what OpenGL is and what it does.

The OpenGL API has nothing to do with the platform it’s running on.

OpenGL itself does not actually do any drawing. None. None at all. Your graphics hardware does the drawing.

OpenGL is just a layer that sits between your program and your hardware: “a software interface to graphics hardware” as page 1, line 1 of just about any OpenGL material says.

Sure AGL is not for 64-bit and therefore not suitable for new software, but you ignored CGL, why?

The platform dependent parts are the initialization and destruction routines for the pixelformat/context.

There are some other things as well such as setting up vsync or choosing which GPU you want to run the context on, getting GL function addresses.

There is a small list here