First, OpenGL
OpenGL Library-related APIs include core libraries (GL), utility libraries (GLU), auxiliary libraries (aux), utility libraries (glut), window libraries (GLX, AGL, WGL), and extension function libraries.
GL is the core, and Glu is part of the package for GL. GLX, AGL, and WGL are functions for different windowing systems. GLUT is a toolkit for cross-platform OpenGL programs that is more powerful than aux (aux has largely been replaced by the glut library. )。 The extension function library is a function developed by hardware vendors to implement the extended mechanism of OpenGL for hardware updates.
OpenGL's competitor is the DIRECT3D;OPENGL corresponding to the open source implementation is Mesa 3D.
Second, Gult:opengl tool library OpenGL Utility Toolkit
This part of the function begins with glut, including functions such as window operation function, window initialization, window size, window position and so on, callback function: Response refresh message, keyboard message, mouse message, timer function, etc; Create complex three-dimensional object; menu function; program run function.
The gult corresponding to the open source implementation is freegult.
Third, window library GLX
For the X window System, the OpenGL extension (Glx:opengl extension for x) used by it is provided as an attachment to OpenGL, and all GLX functions use the prefix GLX.
APL, WGL are used for Apple, Windows, respectively.
Iv. Glew
Glut or freeglut is basically a basic function of 1.0, and Glew is a tool function after using OPENGL2.0.
Different graphics companies will also publish some extension functions only supported by their own graphics card, you want to use this number of numbers, you have to find the latest glext.h, with the Glew extension library, you can no longer find the interface of the function is not bothered, Because Glew can automatically identify all of the OpenGL advanced extension functions supported by your platform. That is, you can use all the functions of GL,GLU,GLEXT,WGL,GLX as long as you include a glew.h header file.
Wu, GLFW
GLFW worthy of its claim to the lightweight OpenGL framework, it is true that in addition to cross-platform necessary to do things are not done, so a header file, a very small amount of API, completed the task. The purpose of GLFW is to replace the glut, and from the point of view of code and function, I think it has completed the task completely.
A lightweight, open-source, cross-platform library. Supports OpenGL and OpenGL ES for managing windows, reading input, handling events, and more. Because OpenGL does not have window management capabilities, many enthusiastic people write tools to support these features, such as early glut, freeglut, and so on. So what are the advantages of GLFW? Glut is too old, the last version is the 90 's. Freeglut is fully compatible with glut, is a glut substitute, full-featured, but too many bugs. Stability is not good (not I said AH), GLFW came into being.
Vi. Hierarchical relationship
Aux->glut->freeglut->glfw
Glew
Glu
|
opengl1.0 GLX/APL/WGL opengl2.0 and above
OpenGL Science Knowledge