OpenGL (Open Graphics Library)

It is quite possible that, you have seen something like “OpenGL Version” while updating your graphics driver in your computer.

Do you know? what OpenGL is ? why it is there in your computer?

OpenGL is a library!
No! OpenGL is not a library! It is a specification! Just a few pages of text!



OpenGL (Open Graphics Library) is the computer industry’s standard
API (application program interface). For defining 2-D and 3-D graphics vector images. it is used to interact with a GPU (graphics processing unit), to achieve hardware-accelerated rendering.

During 1980s, prior to OpenGL, developing a software that could function with a wide range of graphics hardware was a real challenge. Software developers had to rewrite the custom interfaces and drivers for each piece of hardware, for each OS(Operating System) platform separely . This was expensive and resulted in the multiplication of effort.

With OpenGL, an application can create the same effects in any operating system using any OpenGL-adhering graphics adapter.

OpenGL
OpenGL

The first version of OpenGL, that is OpenGL version 1.0, was released on June 30, 1992, by Mark Segal and Kurt Akeley.

Since the release of OpenGL version 1.0, it has occasionally been extended by releasing a new version. Such releases define a baseline bunch of features which all conforming graphics cards must support, and against which new extensions can more easily be written. Each new version of OpenGL tends to incorporate several extensions which have widespread support among graphics-card vendors, although the details of those extensions may be changed if needed.

OpenGL Version Specifications Update OverView
OpenGL 1.1 – Texture objects
OpenGL 1.2 – 3D textures, BGRA, and packed pixel formats
OpenGL 1.3 – Multitexturing, multisampling, texture compression
OpenGL 1.4 – Depth textures
OpenGL 1.5 – Vertex Buffer Object (VBO), Occlusion Queries
OpenGL 2.0 – GLSL 1.1, MRT, Non-Power of Two textures, Point Sprites, Two-sided stencil
OpenGL 2.1 – GLSL 1.2, Pixel Buffer Object (PBO), sRGB Textures
OpenGL 3.0 – GLSL 1.3, Texture Arrays, Conditional rendering, Frame Buffer Object (FBO)
OpenGL 3.1 – GLSL 1.4, Instancing, Texture Buffer Object, Uniform Buffer Object, Primitive restart
OpenGL 3.2 – GLSL 1.5, Geometry Shader, Multi-sampled textures
OpenGL 3.3 – GLSL 3.30 Backports as much function as possible from the OpenGL 4.0 specification
OpenGL 4.0 – GLSL 4.00 Tessellation on GPU, shaders with 64-bit precision,
OpenGL 4.1 – GLSL 4.10 Developer-friendly debug outputs, compatibility with OpenGL ES 2.0,
OpenGL 4.2 – GLSL 4.20 Shaders with atomic counters, draw transform feedback instanced, shader packing, performance improvements
OpenGL 4.3 – GLSL 4.30 Compute shaders leveraging GPU parallelism, shader storage buffer objects, high-quality ETC2/EAC texture compression, increased memory security, a multi-application robustness extension, compatibility with OpenGL ES 3.0
OpenGL 4.4 – GLSL 4.40 Buffer Placement Control, Efficient Asynchronous Queries, Shader Variable Layout, Efficient Multiple Object Binding, Streamlined Porting of Direct3D applications, Bindless Texture Extension, Sparse Texture Extension
OpenGL 4.5 – GLSL 4.50 Direct State Access (DSA), Flush Control, Robustness, OpenGL ES 3.1 API and shader compatibility, DX11 emulation features
OpenGL 4.6 – GLSL 4.60 More efficient geometry processing and shader execution, more information, no error context, polygon offset clamp, SPIR-V, anisotropic filtering.



2 thoughts on “OpenGL (Open Graphics Library)”

Leave a Reply

Your email address will not be published. Required fields are marked *