

Usually they also come with support for keyboard, joystick, and possibly other features. GLUT, as well as GLFW, SDL and SFML, provide a truly platform-independant wrapper to start the OpenGL screen (exactly the same C code).GLEW and GLee provide some help with calling the OpenGL base functions and extensions in C you can choose either one, as they imply almost no change to your code, or even neither and use #define GL_GLEXT_PROTOTYPES for basic uses.Wikipedia has related information at OpenGL#Associated_utility_libraries You can work at this level, but usually parts of your program will be specific to one platform and not portable. Apple's iPhone uses a modified/extended version called EAGL. EGL still requires platform-specific code, and only deals with low-level graphic context and texture setup. EGL should provide a single interface to embedded systems' OpenGL ES implementations, for instance Android's.It provides the standard glXxx functions and a way to integrate OpenGL in the OS display.

On top of it, you have a system-dependent OpenGL implementation (WGL, GLX, etc.).

WebGL is based on OpenGL ES 2.0 and available in 2011 web browsers through JavaScript. GLSL (Shading Language) is a programming language for OpenGL >=2.0 and executed on the GPU. OpenGL ES 2.0 in particular is based on OpenGL 2.0 but does not include at all the deprecated OpenGL 1.x features. OpenGL ES is a restricted set of OpenGL aimed at embedded platforms (smartphones.). (The technologies presented here may rely on any lower-lever ones, not just the one right to the left.) Here's how they are organized, and where to make choices. There are a lot of technologies and acronyms around OpenGL.
