
GL 3.1 removed most deprecated features, and GL 3.2 created the notion of core and compatibility OpenGL contexts. OpenGL 3.0 adds the concept of deprecation: marking certain features as subject to removal in later versions. OpenGL 2.0 incorporates the significant addition of the OpenGL Shading Language (also called GLSL), a C like language with which the transformation and fragment shading stages of the pipeline can be programmed. For example OpenGL 1.1 added the glBindTexture extension to the core API. OpenGL has been through a number of revisions which have predominantly been incremental additions where extensions to the core API have gradually been incorporated into the main body of the API. This has remained the philosophy with the exception that texture objects (glBindTexture) with no distinct definition stage are a key part of the API. OpenGL eschewed these objects in favor of incremental state changes with the idea that collective changes could be encapsulated in display lists. IrisGL had definition and bind stages for all sorts of objects including materials, lights, textures and texture environments. One notable omission from version 1.0 of the API was texture objects. Mark Segal and Kurt Akeley authored the OpenGL 1.0 specification which tried to formalize the definition of a useful graphics API and made cross platform non-SGI 3rd party implementation and support viable.



Although OpenGL was initially similar in some respects to IrisGL the lack of a formal specification and conformance tests made Iris GL unsuitable for broader adoption. OpenGL was first created as an open and reproducable alternative to Iris GL which had been the proprietary graphics API on Silicon Graphics workstations.
