
The people developing the actual OpenGL libraries are usually the graphics card manufacturers. Since the OpenGL specification does not give us implementation details, the actual developed versions of OpenGL are allowed to have different implementations, as long as their results comply with the specification (and are thus the same to the user). It is then up to the developers implementing this specification to come up with a solution of how this function should operate.

The OpenGL specification specifies exactly what the result/output of each function should be and how it should perform. However, OpenGL by itself is not an API, but merely a specification, developed and maintained by the Khronos Group.

OpenGL is mainly considered an API (an Application Programming Interface) that provides us with a large set of functions that we can use to manipulate graphics and images. Before starting our journey we should first define what OpenGL actually is.
