OpenGL is a cross-platform application programming interface for rendering 2D and 3D vector graphics. It defines a set of functions an application can call to draw primitives, apply transformations, map textures, and rasterize images, while hiding the details of the underlying graphics hardware. Because the API is independent of any particular operating system or window system, the same OpenGL code can run on workstations, PCs, and embedded devices given a conforming implementation.
OpenGL grew directly out of IRIS GL, the proprietary graphics library that Silicon Graphics (SGI) shipped on its workstations. As IRIS GL accumulated features it became harder to maintain and was tied to SGI hardware. In 1991 SGI began reworking it into a cleaner, vendor-neutral API, and released OpenGL on June 30, 1992. Rather than keep it proprietary, SGI allowed competitors to license it cheaply and set up an industry consortium, the OpenGL Architecture Review Board (ARB), to maintain the specification. The ARB approved the specification, defined conformance tests, and advanced the standard across vendors.
The API follows an immediate-mode and later retained-mode model in which an application issues commands that flow through a graphics pipeline: vertices are transformed and clipped, primitives are assembled and rasterized into fragments, and fragments are textured, tested, and written to the framebuffer. Over successive versions OpenGL added features such as multitexturing, vertex and fragment programs, and a high-level shading language (GLSL), moving from a fixed-function pipeline toward fully programmable shaders.
On July 31, 2006, the OpenGL ARB voted to transfer control of the OpenGL specification to the Khronos Group, consolidating OpenGL work alongside related Khronos standards. The full transfer was expected to complete in the third quarter of 2006, with support for the API continuing uninterrupted during the transition. Khronos maintains the OpenGL Registry, which holds the core API and shading-language specifications, the approved extensions, and the XML definitions and header files generated from them.
OpenGL became one of the most widely deployed graphics APIs in computing, used in computer-aided design, scientific visualization, games, and film production. Its design influenced later APIs, and its eventual successor, Vulkan, was also developed at Khronos to give applications lower-level, more explicit control over modern GPUs while OpenGL continued to be supported for existing software.