Introduction to OpenGL Versions
OpenGL version can understand as a modified and updated form of former OpenGL API and released time to time for improving its working ability in an effective manner and that improvement gives the best result in specified tasks. In the OpenGL version, we can find new features as well as improvements for previous obstacles of any specific task and these features may be updated User interface, updated tools and their features, and many more things you can find in each of the versions of OpenGL versions. Since its development OpenGL has many versions with updated features and you will have these versions with different names.
So let us discuss some of the versions of Open GL so that we can have information about features and new things of a different version which were added in them for having best output. Its version are named as OpenGL 1.0, OpenGL 1.1, OpenGL 1.2, OpenGL 1.2.1, OpenGL 1.3, OpenGL 1.4, OpenGL 1.5, OpenGL 2.0, OpenGL 2.1, OpenGL 3.0, OpenGL 3.1, OpenGL 3.2, OpenGL 3.3, OpenGL 4.0, OpenGL 4.1, OpenGL 4.2, OpenGL 4.3, OpenGL 4.4, OpenGL 4.5, OpenGL 4.6. I will start with the latest version of it which is OpenGL 4.6 so let us discuss it first.
Different Versions of Open GL
Let us discuss versions of Open GL.
This version of Open GL comes with a lot of updates and improved features in 2017 and has SPIR-V language which is used for defining shaders in it and from rendering command Vertex shaders get the draw ID and value of base vertex/instance value. There is indirect rendering command which is Multi-draw command which can fetch a number of draws from the buffer. You may also find feedback overflow queries in statistics and a transforming manner. Errors free Open GL Context can be created in this version as well as Atomic Counters can use for more operations not only this but also you can avoid divergent shader invocations if there is a requirement for it.
Now move to the next version which was launched before the 4.6 version of OpenGL.
It was released before 4.6 in 2014 for having solutions to different problems of API of that time and in it, clip control mode can use as additional features which configure the mapping of clip space in window space. A Culling was added which is similar to gl_ClipDistance and its name is GLSL gl-CullDistance shader output but it is used for whole primitive culling. One new mode was also added through which invert condition used to decide whether to draw or not and it was glBeignConditionRender. It also allows querying and modifying of object state without binding of objects. Subregion of texture images also has new features added in this version as well as ARB_robustness functionality also upgrades to meet with ES 3.1 standards. This version has built-in functions of GLSL which allows shaders to query sample numbers in texture. It also minimizes restrictions on rendering of currently bound texture and offers a mechanism that avoids read after write hazards.
Now let me tell you about the next version which is also an important version because it comes with a number of new features at that time.
This was released as the stable version of OpenGL in 2013 with some new features and that was the ability to use buffer while they are in mapped form and it can know as Immutable storage for objects of the buffer. Texture image can clear directly in this version and also offers tight packing for variables of input/outputs not only tight packing there is an option to set location on input/output interface blocks for packing purposes. In one call, binding of an array of objects which are in the same type of sequential range of indexed binging can be done. The size of texture in each dimension can double by the special clamping mode feature and mirroring can also find in exactly negative coordinate directions of textures. For textures, it also offers stencil-only image formats and it requires an 8-bit stencil format. For vertex attributes it provides a packed and 3-component format which is 11F/11F/10F.
Now I will tell you about one more version of OpenGL which also has some important updates which you should know.
It was released in 2012 and has an option for debugging messaging, Multidimensional arrays of GLSL. Buffer objects can clear for specific values and ala memset. Two more features which were added in it was Arbitrary compute sharders and Arbitrary Image copying for improving methods of working with shader and images. It is compatible with OpenGL ES 3.0 and can also specify uniform locations in shader not only you can locate it but also fragment shader offers Layer and viewport indices. Framebuffer object can also render and the best thing is that this rendering can do without attachments. Queries for getting information about Image formats can also do. Through a single drawing command, it can issue rendering commands for multiple rendering indirectly. It has an improved form of API which can get information about program object interfaces. Getting the size of images from GLSL comes with this version and it can also access values of the stencil from a depth/stencil texture. The textures of the buffer can now bound with a range of a buffer object in place of biding with the whole thing. Detection of mipmap pyramid of sampler/image can do by GLSL and immutable storage for multi-sample textures starts with this version. It has the ability to create a new texture that has new internal format and can be referenced for existing storage of textures. If you want to separate vertex format from buffer object then you can do that in this version also.
These were some versions of OpenGL and I brief them to you from the latest version to the previously launched version.
OpenGL and its version will no more new thing for you after having good analysis on them with me in this article and now you know what are the features and updates were added to each of the versions for making them more and more user friendly and capable for a different task.
This is a guide to OpenGL Versions. Here we discuss the introduction, features, and different versions of Open GL respectively. You may also have a look at the following articles to learn more –