The OpenGL is an abstract graphic API which describes the graphic functions which can we use and which can be implemented by graphics card manufactuers and other vendors.
In dark ages every manufactures create their own rules for draw something on screen. Now think you are a developer who try to write a mini game for desktop platform. After spend 3 months you release a game which works perfect on your pc…
On your pc but not others. Because others use different APIs of different drivers. For that reason we have OpenGL. It is describe some standarts and functions (but not implementations). The implementations writes by programmers who works on different company (or non-company). Every implementation have different style. Think like 100 develepers writes 100 sorting algorithm. At the end of the day all of the sorting functions’ output some result bu all of them are different.
Download
We cannot download OpenGL but we can download graphic card drivers and this drivers comes with OpenGL.
In all three major desktop platforms (Linux, macOS, and Windows), OpenGL more or less comes with the system. However, you will need to ensure that you have downloaded and installed a recent driver for your graphics hardware.
https://www.khronos.org/opengl/wiki/Getting_Started
Legacy VS Modern OpenGL
In old good days OpenGL is easy to use. We could get result with a few lines of codes. But developers are greedy. They want much and much more day by day. The result is modern OpenGL. The modern one is more hard to the programming in contrast it is gives more funs and tools to developers. Unless making some simple school project or writing some simple codes don’t use Legacy OpenGL.
In 2008, version 3.0 of the OpenGL specification was released. With this revision, the Fixed Function Pipeline as well as most of the related OpenGL functions and constants were declared deprecated. These deprecated elements and concepts are now commonly referred to as legacy OpenGL. Legacy OpenGL is still supported by certain implementations that support core OpenGL 3.1 or higher and the GL_ARB_compatibility extension. Implementations that do not expose this extension do only offer features defined in the core OpenGL specification the implementation is based upon.
https://www.khronos.org/opengl/wiki/Legacy_OpenGL#:~:text=From%20OpenGL%20Wiki,referred%20to%20as%20legacy%20OpenGL.
Leave a Reply