GLUI
   HOME

TheInfoList



OR:

OpenGL (Open Graphics Library) is a cross-language,
cross-platform Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
application programming interface An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
(API) for rendering 2D and 3D
vector graphics Vector graphics are a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector displ ...
. The API is typically used to interact with a
graphics processing unit A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
(GPU), to achieve hardware-accelerated rendering.
Silicon Graphics, Inc. Silicon Graphics, Inc. (stylized as SiliconGraphics before 1999, later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and soft ...
(SGI) began developing OpenGL in 1991 and released it on June 30, 1992. It is used for a variety of applications, including
computer-aided design Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
(CAD),
video game A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s,
scientific visualization Scientific visualization ( also spelled scientific visualisation) is an interdisciplinary branch of science concerned with the visualization of scientific phenomena. Michael Friendly (2008)"Milestones in the history of thematic cartography, st ...
,
virtual reality Virtual reality (VR) is a Simulation, simulated experience that employs 3D near-eye displays and pose tracking to give the user an immersive feel of a virtual world. Applications of virtual reality include entertainment (particularly video gam ...
, and
flight simulation A flight simulator is a device that artificially re-creates aircraft flight and the environment in which it flies, for pilot training, design, or other purposes. It includes replicating the equations that govern how aircraft fly, how they rea ...
. Since 2006, OpenGL has been managed by the
non-profit A nonprofit organization (NPO), also known as a nonbusiness entity, nonprofit institution, not-for-profit organization, or simply a nonprofit, is a non-governmental (private) legal entity organized and operated for a collective, public, or so ...
technology
consortium A consortium () is an association of two or more individuals, companies, organizations, or governments (or any combination of these entities) with the objective of participating in a common activity or pooling their resources for achieving a ...
Khronos Group The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
.


Design

The OpenGL specification describes an abstract
application programming interface (API) An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build suc ...
for drawing 2D and 3D graphics. It is designed to be implemented mostly or entirely using
hardware acceleration Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calcula ...
such as a
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
, although it is possible for the API to be implemented entirely in software running on a
CPU A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
. The API is defined as a set of functions which may be called by the client program, alongside a set of named integer constants (for example, the constant GL_TEXTURE_2D, which corresponds to the
decimal The decimal numeral system (also called the base-ten positional numeral system and denary or decanary) is the standard system for denoting integer and non-integer numbers. It is the extension to non-integer numbers (''decimal fractions'') of th ...
number 3553). Although the function definitions are superficially similar to those of the programming language C, they are language-independent. As such, OpenGL has many
language binding In programming and software design, a binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to ...
s, some of the most noteworthy being the
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
binding
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
(API, based on
OpenGL ES 2.0 OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
, for 3D rendering from within a
web browser A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
); the C bindings WGL,
GLX GLX (initialism for "OpenGL Extension to the X Window System") is an extension to the X Window System core protocol providing an interface between OpenGL and the X Window System as well as extensions to OpenGL itself. It enables programs wishin ...
and CGL; the C binding provided by
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
; and the
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
and C bindings provided by Android. In addition to being language-independent, OpenGL is also cross-platform. The specification says nothing on the subject of obtaining and managing an OpenGL context, leaving this as a detail of the underlying windowing system. For the same reason, OpenGL is purely concerned with rendering, providing no APIs related to input, audio, or windowing.


Development

OpenGL is no longer in active development, whereas between 2001 and 2014, OpenGL specification was updated mostly on a yearly basis, with two releases (3.1 and 3.2) taking place in 2009 and three (3.3, 4.0 and 4.1) in 2010. The latest OpenGL specification 4.6 was released in 2017 after a three-year break, and was limited to inclusion of eleven existing ARB and EXT extensions into the core profile. Active development of OpenGL was dropped in favor of the
Vulkan Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
API, released in 2016, and codenamed glNext during initial development. In 2017,
Khronos Group The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
announced that OpenGL ES would not have new versions and has since concentrated on development of Vulkan and other technologies. As a result, certain capabilities offered by modern GPUs, e.g. ray tracing, are not supported by the OpenGL standard. However, support for newer features might be provided through the vendor-specific OpenGL extensions. New versions of the OpenGL specifications are released by the Khronos Group, each of which extends the API to support various new features. The details of each version are decided by consensus between the Group's members, including graphics card manufacturers, operating system designers, and general technology companies such as
Mozilla Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting free software and open standards. The community is supported institution ...
and
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
. In addition to the features required by the core API,
graphics processing unit A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
(GPU) vendors may provide additional functionality in the form of ''extensions''. Extensions may introduce new functions and new constants, and may relax or remove restrictions on existing OpenGL functions. Vendors can use extensions to expose custom APIs without needing support from other vendors or the Khronos Group as a whole, which greatly increases the flexibility of OpenGL. All extensions are collected in, and defined by, the OpenGL Registry. The features introduced by each new version of OpenGL are typically formed from the combined features of several widely implemented extensions, especially extensions of type ARB or EXT.


Documentation

The OpenGL Architecture Review Board released a series of manuals along with the specification which have been updated to track changes in the API. These are commonly referred to by the colors of their covers: ;The Red Book :OpenGL Programming Guide, 9th Edition. :The Official Guide to Learning OpenGL, Version 4.5 with SPIR-V ;The Orange Book :OpenGL Shading Language, 3rd edition. :A tutorial and reference book for
GLSL OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipe ...
. Historic books (pre-OpenGL 2.0): ;The Green Book :OpenGL Programming for the X Window System. :A book about X11 interfacing and
OpenGL Utility Toolkit The OpenGL Utility Toolkit (GLUT) is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard ...
(GLUT). ;The Blue Book :OpenGL Reference manual, 4th edition. :Essentially a hard-copy printout of the
Unix manual A man page (short for manual page) is a form of software documentation found on Unix and Unix-like operating systems. Topics covered include programs, system libraries, system calls, and sometimes local system details. The local host administra ...
(man) pages for OpenGL. :Includes a poster-sized fold-out diagram showing the structure of an idealised OpenGL implementation. ;The Alpha Book (white cover) :OpenGL Programming for Windows 95 and Windows NT. :A book about interfacing OpenGL with Microsoft Windows. OpenGL's documentation is also accessible via its official webpage.


Associated libraries

The earliest versions of OpenGL were released with a companion library called the
OpenGL Utility Library The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. It consists of a number of functions that use the base OpenGL library to provide higher-level drawing routines from the more primitive routines that OpenGL provides. It ...
(GLU). It provided simple, useful features which were unlikely to be supported in contemporary hardware, such as
tessellating A tessellation or tiling is the covering of a surface, often a plane (mathematics), plane, using one or more geometric shapes, called ''tiles'', with no overlaps and no gaps. In mathematics, tessellation can be generalized to high-dimensiona ...
, and generating
mipmap In computer graphics, a mipmap (''mip'' being an acronym of the Latin phrase ''multum in parvo'', meaning "much in little") is a pre-calculated, optimized sequence of images, each of which has an image resolution which is a factor of two small ...
s and primitive shapes. The GLU specification was last updated in 1998 and depends on OpenGL features which are now
deprecated Deprecation is the discouragement of use of something human-made, such as a term, feature, design, or practice. Typically something is deprecated because it is claimed to be inferior compared to other options available. Something may be deprec ...
.


Context and window toolkits

Given that creating an OpenGL context is quite a complex process, and given that it varies between
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, automatic OpenGL context creation has become a common feature of several game-development and user-interface
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
, including SDL,
Allegro Allegro may refer to: Common meanings * Allegro (music), a tempo marking that indicates to playing quickly and brightly (from Italian meaning ''cheerful'') * Allegro (ballet), brisk and lively movement Artistic works * L'Allegro (1645), a poem b ...
, SFML,
FLTK Fast Light Toolkit (FLTK) is a cross-platform widget (graphical control element) library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but ...
, and Qt. A few libraries have been designed solely to produce an OpenGL-capable window. The first such library was
OpenGL Utility Toolkit The OpenGL Utility Toolkit (GLUT) is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard ...
(GLUT), later superseded by
freeglut freeglut is an open-source alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT (and hence freeglut) allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboar ...
.
GLFW GLFW (Graphics Library Framework) is a lightweight utility library for use with OpenGL, OpenGL ES and Vulkan. It provides programmers with the ability to create and manage windows and OpenGL contexts, as well as handle joystick, keyboard and mou ...
is a newer alternative. * These toolkits are designed to create and manage OpenGL windows, and manage input, but little beyond that. :*
GLFW GLFW (Graphics Library Framework) is a lightweight utility library for use with OpenGL, OpenGL ES and Vulkan. It provides programmers with the ability to create and manage windows and OpenGL contexts, as well as handle joystick, keyboard and mou ...
– A cross-platform windowing and keyboard-mouse-joystick handler; is more game-oriented :*
freeglut freeglut is an open-source alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT (and hence freeglut) allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboar ...
– A cross-platform windowing and keyboard-mouse handler; its API is a superset of the GLUT API, and it is more stable and up to date than GLUT :*
OpenGL Utility Toolkit The OpenGL Utility Toolkit (GLUT) is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system. Functions performed include window definition, window control, and monitoring of keyboard ...
(GLUT) – An old windowing handler, no longer maintained. * Several "multimedia libraries" can create OpenGL windows, in addition to input, sound and other tasks useful for game-like applications :* Allegro 5 – A cross-platform multimedia library with a C API focused on game development :* Simple DirectMedia Layer (SDL) – A cross-platform multimedia library with a C API :* SFML – A cross-platform multimedia library with a C++ API and multiple other bindings to languages such as C#, Java, Haskell, and Go * Widget toolkits :*
FLTK Fast Light Toolkit (FLTK) is a cross-platform widget (graphical control element) library for graphical user interfaces (GUIs), developed by Bill Spitzak and others. Made to accommodate 3D graphics programming, it has an interface to OpenGL, but ...
– A small cross-platform C++ widget library :* Qt – A cross-platform C++ widget toolkit. It provides many OpenGL helper objects, which even abstract away the difference between desktop GL and OpenGL ES :*
wxWidgets wxWidgets (formerly wxWindows) is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with no s ...
– A cross-platform C++ widget toolkit


Extension loading libraries

Given the high workload involved in identifying and loading OpenGL extensions, a few libraries have been designed which load all available extensions and functions automatically. Examples include OpenGL Easy Extension library (GLEE), OpenGL Extension Wrangler Library (GLEW) and glbinding. Extensions are also loaded automatically by most language bindings, such as
Java OpenGL Java OpenGL (JOGL) is a wrapper library that allows OpenGL to be used in the Java programming language. It was originally developed by Kenneth Bradley Russell and Christopher John Kline, and was further developed by the Game Technology Group at Su ...
, PyOpenGL and
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
.


Implementations

Mesa 3D Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open-source software, open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware ...
is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
implementation of OpenGL. It can do pure software rendering, and it may also use hardware acceleration on
BSD The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
, and other platforms by taking advantage of the
Direct Rendering Infrastructure The Direct Rendering Infrastructure (DRI) is the framework comprising the modern Linux graphics stack which allows unprivileged user-space programs to issue commands to graphics hardware without conflicting with other programs. The main use ...
. As of version 20.0, it implements version 4.6 of the OpenGL standard.


History

In the 1980s, developing software that could function with a wide range of graphics hardware was a challenge without a cross-platform library. Software developers wrote custom interfaces and drivers for each piece of hardware. This was expensive and resulted in multiplication of effort. By the early 1990s,
Silicon Graphics Silicon Graphics, Inc. (stylized as SiliconGraphics before 1999, later rebranded SGI, historically known as Silicon Graphics Computer Systems or SGCS) was an American high-performance computing manufacturer, producing computer hardware and soft ...
(SGI) was a leader in 3D graphics for workstations. Their
IRIS GL IRIS GL (Integrated Raster Imaging System Graphics Library) is a proprietary graphics API created by Silicon Graphics (SGI) in the early 1980s for producing 2D and 3D computer graphics on their IRIX-based IRIS graphical workstations. Later SGI rem ...
API became the industry standard, as IRIS GL was considered easier to use, and it supported immediate mode rendering, therefore being faster than competitors like
PHIGS PHIGS (Programmer's Hierarchical Interactive Graphics System) is an application programming interface (API) standard for rendering 3D computer graphics, considered to be the 3D graphics standard for the 1980s through the early 1990s. Subsequently, ...
. SGI's competitors (including
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
,
Hewlett-Packard The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company. It was founded by Bill Hewlett and David Packard in 1939 in a one-car garage in Palo Alto, California ...
and
IBM International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
) were also able to bring to market 3D hardware supported by extensions made to the PHIGS standard, which pressured SGI to open source a version of IRIS GL as a public standard called OpenGL. However, SGI had many customers for whom the change from IRIS GL to OpenGL would demand significant investment. Moreover, IRIS GL had API functions that were irrelevant to 3D graphics. For example, it included a windowing, keyboard and mouse API, in part because it was developed before the
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
and Sun's
NeWS News is information about current events. This may be provided through many different Media (communication), media: word of mouth, printing, Mail, postal systems, broadcasting, Telecommunications, electronic communication, or through the te ...
. IRIS GL libraries also were unsuitable for opening due to licensing and patent issues. These factors required SGI to continue to support the advanced and proprietary Iris Inventor and
Iris Performer OpenGL Performer, formerly known as IRIS Performer and commonly referred to simply as Performer, is an application development environment. It is a commercial library of utility code built on top of OpenGL for the purpose of enabling hard real-time ...
programming APIs while market support for OpenGL matured. One of the restrictions of IRIS GL was that it only provided access to features supported by the underlying hardware. If the graphics hardware did not support a feature natively, then the application could not use it. OpenGL overcame this problem by providing software implementations of features unsupported by hardware, allowing applications to use advanced graphics on relatively low-powered systems. OpenGL standardized access to hardware, pushed the development responsibility of hardware interface programs (
device driver In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
s) to hardware manufacturers, and delegated windowing functions to the underlying operating system. With so many different kinds of graphics hardware, getting them all to speak the same language in this way had a remarkable impact by giving software developers a higher-level platform for 3D-software development. In 1992, SGI led the creation of the
OpenGL Architecture Review Board The OpenGL Architecture Review Board (ARB) was an industry consortium that governed the OpenGL specification. It was formed in 1992, and defined the conformance tests, approved the OpenGL specification and advanced the standard. On July 31, 2006, ...
(OpenGL ARB), the group of companies that would maintain and expand the OpenGL specification in the future. Two years later, they also played with the idea of releasing something called " OpenGL++" which included elements such as a scene-graph API (presumably based on their
Performer The performing arts are The arts, arts such as music, dance, and drama which are performed for an audience. They are different from the visual arts, which involve the use of paint, canvas or various materials to create physical or static art ob ...
technology). The specification was circulated among a few interested parties – but never turned into a product. Released in 1996, Microsoft's
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
eventually became the main competitor of OpenGL. Over 50 game developers signed an
open letter An open letter is a Letter (message), letter that is intended to be read by a wide audience, or a letter intended for an individual, but that is nonetheless widely distributed intentionally. Open letters usually take the form of a letter (mess ...
to Microsoft, released on June 12, 1997, calling on the company to actively support OpenGL. On December 17, 1997, Microsoft and SGI initiated the
Fahrenheit The Fahrenheit scale () is a scale of temperature, temperature scale based on one proposed in 1724 by the German-Polish physicist Daniel Gabriel Fahrenheit (1686–1736). It uses the degree Fahrenheit (symbol: °F) as the unit. Several accou ...
project, which was a joint effort with the goal of unifying the OpenGL and Direct3D interfaces (and adding a scene-graph API too). In 1998, Hewlett-Packard joined the project. It initially showed some promise of bringing order to the world of interactive 3D computer graphics APIs, but on account of financial constraints at SGI, strategic reasons at Microsoft, and a general lack of industry support, it was abandoned in 1999. In July 2006, the OpenGL Architecture Review Board voted to transfer control of the OpenGL API standard to the Khronos Group.


Industry support

Despite the emergence of newer graphics APIs like its successor Vulkan or Metal, OpenGL continues to be a widely used standard. This continued relevance is supported by several factors: ongoing development with new extensions and driver optimizations, its cross-platform compatibility, and the availability of compatibility layers like
ANGLE In Euclidean geometry, an angle can refer to a number of concepts relating to the intersection of two straight Line (geometry), lines at a Point (geometry), point. Formally, an angle is a figure lying in a Euclidean plane, plane formed by two R ...
and Zink. These layers allow OpenGL to run efficiently on top of Vulkan and Metal, offering a pathway for continued use or gradual transitions for developers. However, the graphics API landscape has been shifting, where some companies are moving away from OpenGL. Back in June 2018,
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
has deprecated OpenGL APIs on all of their platforms (
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
,
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
tvOS tvOS (formerly Apple TV Software) is an operating system developed by Apple for the Apple TV, a digital media player. In the first-generation Apple TV, Apple TV Software was based on Mac OS X. The software for the second-generation and later ...
), strongly encouraging developers to use their proprietary Metal API, which was introduced in 2014. Game developers have also begun to adopt newer APIs.
id Software id Software LLC () is an American video game developer based in Richardson, Texas. It was founded on February 1, 1991, by four members of the computer company Softdisk: game programmer, programmers John Carmack and John Romero, game designer T ...
, who has been using OpenGL in their games since the late 1990s in games such as
GLQuake ''Quake'' is a 1996 first-person shooter game developed by id Software and published by GT Interactive. The first game in the ''Quake'' series, it was originally released for MS-DOS and Microsoft Windows, followed by Mac OS, Linux and Sega ...
or some games of the Doom franchise, transitioned away to its successor Vulkan in its id Tech 7 engine in 2016. They first supported Vulkan in an update for their
id Tech 6 id Tech 6 is a multiplatform game engine developed by id Software. It is the successor to id Tech 5 and was first used to create the 2016 video game ''Doom''. Internally, the development team also used the codename ''id Tech 666'' to refer to t ...
engine. The company's first licensed use of OpenGL was in its
Quake II engine The ''Quake II'' engine (part of id Tech 2) is a game engine developed by id Software for use in their 1997 first-person shooter ''Quake II''. It is the successor to the ''Quake'' engine. Since its release, the ''Quake II'' engine has been lic ...
, also known as
id Tech 2 id Tech is a series of successive game engines designed and developed by id Software. Prior to the presentation of the id Tech 5-based game ''Rage'' in 2011, the engines lacked official designation and as such were simply referred to by the name ...
. In March 2023,
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or Slurry, slurries) by opening, closing, or partially obstructing various passageways. Valves are technically Pip ...
removed OpenGL support from
Dota 2 ''Dota 2'' is a 2013 multiplayer online battle arena (MOBA) video game by Valve Corporation, Valve. The game is a sequel to ''Defense of the Ancients'' (''DotA''), a community-created Mod (video gaming), mod for Blizzard Entertainment's ''War ...
in favor of Vulkan. Atypical Games, with support from Samsung, updated their game engine to use Vulkan, rather than OpenGL, across all non-Apple platforms. The
Khronos Group The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
, the consortium responsible for OpenGL's development, has stopped providing support for OpenGL. It has not received a number of modern graphics technologies, such as hardware accelerated Ray Tracing, on-
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
video decoding, and advanced
anti-aliasing Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording. Specific topics in anti-aliasing include: * Anti-aliasing filter, a filter used b ...
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s like Nvidia DLSS an
AMD FSR
Google's
Fuchsia ''Fuchsia'' ( ) is a genus of flowering plants that consists mostly of shrubs or small trees. Almost 110 species of ''Fuchsia'' are recognized; the vast majority are native to South America, but a few occur north through Central America to Mex ...
OS, while using Vulkan natively and requiring a Vulkan-conformant GPU, still intends to support OpenGL on top of Vulkan via the ANGLE translation layer.


Version history

The first version of OpenGL, version 1.0, was released on June 30, 1992, by Mark Segal and Kurt Akeley. Since then, OpenGL has occasionally been extended by releasing a new version of the specification. Such releases define a baseline set 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.


OpenGL 2.0

''Release date'': September 7, 2004 OpenGL 2.0 was originally conceived by
3Dlabs 3DLABS Inc. Ltd. was a fabless semiconductor company. It was founded by Yavuz Ahıska and Osman Kent in 1994 with headquarters in San Jose, California. It originally developed the GLINT and PERMEDIA high-end graphics processing unit, graphics chi ...
to address concerns that OpenGL was stagnating and lacked a strong direction. 3Dlabs proposed a number of major additions to the standard. Most of these were, at the time, rejected by the ARB or otherwise never came to fruition in the form that 3Dlabs proposed. However, their proposal for a C-style shading language was eventually completed, resulting in the current formulation of the OpenGL Shading Language (
GLSL OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipe ...
or GLslang). Like the assembly-like shading languages it was replacing, it allowed replacing the fixed-function vertex and fragment pipe with
shader In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
s, though this time written in a C-like high-level language. The design of GLSL was notable for making relatively few concessions to the limits of the hardware then available. This harked back to the earlier tradition of OpenGL setting an ambitious, forward-looking target for 3D accelerators rather than merely tracking the state of currently available hardware. The final OpenGL 2.0 specification includes support for GLSL.


Longs Peak and OpenGL 3.0

Before the release of OpenGL 3.0, the new revision had the codename
Longs Peak Longs Peak is a mountain in the northern Front Range of the Rocky Mountains of North America. The fourteener is located in the Rocky Mountain National Park Wilderness, southwest by south ( bearing 209°) of the Town of Estes Park, Colorado, ...
. At the time of its original announcement, Longs Peak was presented as the first major API revision in OpenGL's lifetime. It consisted of an overhaul to the way that OpenGL works, calling for fundamental changes to the API. The draft introduced a change to object management. The GL 2.1 object model was built upon the state-based design of OpenGL. That is, to modify an object or to use it, one needs to bind the object to the state system, then make modifications to the state or perform function calls that use the bound object. Because of OpenGL's use of a state system, objects must be mutable. That is, the basic structure of an object can change at any time, even if the rendering pipeline is asynchronously using that object. A texture object can be redefined from 2D to 3D. This requires any OpenGL implementations to add a degree of complexity to internal object management. Under the Longs Peak API, object creation would become atomic, using templates to define the properties of an object which would be created with one function call. The object could then be used immediately across multiple threads. Objects would also be immutable; however, they could have their contents changed and updated. For example, a texture could change its image, but its size and format could not be changed. To support backwards compatibility, the old state based API would still be available, but no new functionality would be exposed via the old API in later versions of OpenGL. This would have allowed legacy code bases, such as the majority of
CAD Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
products, to continue to run while other software could be written against or ported to the new API. Longs Peak was initially due to be finalized in September 2007 under the name OpenGL 3.0, but the Khronos Group announced on October 30 that it had run into several issues that it wished to address before releasing the specification. As a result, the spec was delayed, and the Khronos Group went into a
media blackout A media blackout is the censorship of news related to a certain topic, particularly in mass media, for any reason. A media blackout may be self-imposed or voluntary or enforced by the government or State (polity), state. In countries with stro ...
until the release of the final OpenGL 3.0 spec. The final specification proved far less revolutionary than the Longs Peak proposal. Instead of removing all immediate mode and fixed functionality (non-shader mode), the spec included them as deprecated features. The proposed object model was not included, and no plans have been announced to include it in any future revisions. As a result, the API remained largely the same with a few existing extensions being promoted to core functionality. Among some developer groups this decision caused something of an uproar, with many developers professing that they would switch to
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
in protest. Most complaints revolved around the lack of communication by Khronos to the development community and multiple features being discarded that were viewed favorably by many. Other frustrations included the requirement of DirectX 10 level hardware to use OpenGL 3.0 and the absence of geometry shaders and instanced rendering as core features. Other sources reported that the community reaction was not quite as severe as originally presented, with many vendors showing support for the update.


OpenGL 3.0

''Release date'': August 11, 2008 OpenGL 3.0 introduced a deprecation mechanism to simplify future revisions of the API. Certain features, marked as deprecated, could be completely disabled by requesting a ''forward-compatible context'' from the windowing system. OpenGL 3.0 features could still be accessed alongside these deprecated features, however, by requesting a ''full context''. Deprecated features include: * All fixed-function vertex and fragment processing * Direct-mode rendering, using glBegin and glEnd * Display lists * Indexed-color rendering targets *
OpenGL Shading Language OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipeli ...
versions 1.10 and 1.20 Hardware support: Nvidia
GeForce 8 Series The GeForce 8 series is the eighth generation of Nvidia's GeForce line of graphics processing units. The third major GPU architecture developed by Nvidia, Tesla represents the company's first unified shader architecture.
and newer, ATI Radeon HD 2000 series and newer.


OpenGL 3.1

''Release date'': March 24, 2009 OpenGL 3.1 fully removed all of the features which were deprecated in version 3.0, with the exception of wide lines. From this version onwards, it's not possible to access new features using a ''full context'', or to access deprecated features using a ''forward-compatible context''. An exception to the former rule is made if the implementation supports th
ARB_compatibility
extension, but this is not guaranteed. Hardware support: Mesa supports ARM Panfrost with Version 21.0.


OpenGL 3.2

''Release date'': August 3, 2009 OpenGL 3.2 further built on the deprecation mechanisms introduced by OpenGL 3.0, by dividing the specification into a ''core profile'' and ''compatibility profile''. Compatibility contexts include the previously removed fixed-function APIs, equivalent to the ARB_compatibility extension released alongside OpenGL 3.1, while core contexts do not. OpenGL 3.2 also included an upgrade to GLSL version 1.50.


OpenGL 3.3

''Release date:'' March 11, 2010 Mesa supports software Driver SWR, softpipe and for older Nvidia cards with NV50. Several minor additions were made, with the goal of retaining as much functionality as possible from OpenGL 4.0, while keeping support for older hardware. Support is also added for GLSL version 3.30, major and minor versions now match with OpenGL.


OpenGL 4.0

''Release date'': March 11, 2010 OpenGL 4.0 was released alongside version 3.3. It was designed for hardware able to support Direct3D 11. As in OpenGL 3.0, this version of OpenGL contains a high number of fairly inconsequential extensions, designed to thoroughly expose the abilities of Direct3D 11-class hardware, such as tessellation. Hardware support: Nvidia
GeForce 400 series The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009, however, after delays, it was released on March ...
and newer, AMD
Radeon HD 5000 series The Evergreen series is a family of graphics processing unit, GPUs developed by Advanced Micro Devices for its Radeon line under the ATI Technologies, ATI brand name. It was employed in Radeon HD 5000 graphics card series and competed directly w ...
and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), Intel HD Graphics in Intel Ivy Bridge processors and newer.


OpenGL 4.1

''Release date'': July 26, 2010 * Minimum "maximum texture size" is 16,384 × 16,384 for GPUs implementing this specification. * Improved compatibility for
OpenGL ES 2.0 OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
* Multiple Viewports for the same rendering surface, or one per surface. Hardware support: Nvidia
GeForce 400 series The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009, however, after delays, it was released on March ...
and newer, AMD
Radeon HD 5000 series The Evergreen series is a family of graphics processing unit, GPUs developed by Advanced Micro Devices for its Radeon line under the ATI Technologies, ATI brand name. It was employed in Radeon HD 5000 graphics card series and competed directly w ...
and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), Intel HD Graphics in Intel Haswell processors and newer (Linux Mesa: Ivy Bridge and newer). Additionally, this is the last core profile supported by Apple macOS.


OpenGL 4.2

''Release date:'' August 8, 2011 * Support for shaders with atomic counters and load-store-atomic read-modify-write operations to one level of a texture * Drawing multiple instances of data captured from GPU vertex processing (including tessellation), to enable complex objects to be efficiently repositioned and replicated * Support for modifying an arbitrary subset of a compressed texture, without having to re-download the whole texture to the GPU for significant performance improvements Hardware support: Nvidia
GeForce 400 series The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009, however, after delays, it was released on March ...
and newer, AMD
Radeon HD 5000 series The Evergreen series is a family of graphics processing unit, GPUs developed by Advanced Micro Devices for its Radeon line under the ATI Technologies, ATI brand name. It was employed in Radeon HD 5000 graphics card series and competed directly w ...
and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), and Intel HD Graphics in Intel Haswell processors and newer. (Linux Mesa: Ivy Bridge and newer)


OpenGL 4.3

''Release date:'' August 6, 2012 *
Compute shader In computing, a compute kernel is a routine compiled for high throughput accelerators (such as graphics processing units (GPUs), digital signal processors (DSPs) or field-programmable gate arrays (FPGAs)), separate from but used by a main pro ...
s leveraging GPU parallelism within the context of the graphics pipeline * Shader storage buffer objects, allowing shaders to read and write buffer objects like image load/store from 4.2, but through the language rather than function calls. * Image format parameter queries * ETC2/EAC texture compression as a standard feature * Full compatibility with OpenGL ES 3.0 APIs * Debug abilities to receive debugging messages during application development * Texture views to interpret textures in different ways without data replication * Increased memory security and multi-application robustness Hardware support: AMD
Radeon HD 5000 series The Evergreen series is a family of graphics processing unit, GPUs developed by Advanced Micro Devices for its Radeon line under the ATI Technologies, ATI brand name. It was employed in Radeon HD 5000 graphics card series and competed directly w ...
and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), Intel HD Graphics in Intel Haswell processors and newer. (Linux Mesa: Ivy Bridge without stencil texturing, Haswell and newer), Nvidia
GeForce 400 series The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009, however, after delays, it was released on March ...
and newer. VIRGL Emulation for virtual machines supports 4.3+ with Mesa 20.


OpenGL 4.4

''Release date:'' July 22, 2013 * Enforced buffer object usage controls * Asynchronous queries into buffer objects * Expression of more layout controls of interface variables in shaders * Efficient binding of multiple objects simultaneously Hardware support: AMD
Radeon HD 5000 series The Evergreen series is a family of graphics processing unit, GPUs developed by Advanced Micro Devices for its Radeon line under the ATI Technologies, ATI brand name. It was employed in Radeon HD 5000 graphics card series and competed directly w ...
and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), Intel HD Graphics in Intel Broadwell processors and newer (Linux Mesa: Haswell and newer), Nvidia
GeForce 400 series The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009, however, after delays, it was released on March ...
and newer,
Tegra K1 Tegra is a system on a chip (SoC) series developed by Nvidia for mobile devices such as smartphones, personal digital assistants, and mobile Internet devices. The Tegra integrates an ARM architecture central processing unit (CPU), graphics pr ...
.


OpenGL 4.5

''Release date:'' August 11, 2014 * Direct State Access (DSA) – object accessors enable state to be queried and modified without binding objects to contexts, for increased application and middleware efficiency and flexibility. * Flush Control – applications can control flushing of pending commands before context switching – enabling high-performance multithreaded applications; * Robustness – providing a secure platform for applications such as WebGL browsers, including preventing a GPU reset affecting any other running applications; * OpenGL ES 3.1 API and shader compatibility – to enable the easy development and execution of the latest OpenGL ES applications on desktop systems. Hardware support: AMD
Radeon HD 5000 series The Evergreen series is a family of graphics processing unit, GPUs developed by Advanced Micro Devices for its Radeon line under the ATI Technologies, ATI brand name. It was employed in Radeon HD 5000 graphics card series and competed directly w ...
and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), Intel HD Graphics in Intel Broadwell processors and newer (Linux Mesa: Haswell and newer), Nvidia
GeForce 400 series The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009, however, after delays, it was released on March ...
and newer,
Tegra K1 Tegra is a system on a chip (SoC) series developed by Nvidia for mobile devices such as smartphones, personal digital assistants, and mobile Internet devices. The Tegra integrates an ARM architecture central processing unit (CPU), graphics pr ...
, and Tegra X1.


OpenGL 4.6

''Release date:'' July 31, 2017 * more efficient, GPU-sided,
geometry processing Geometry processing is an area of research that uses concepts from applied mathematics, computer science and engineering to design efficient algorithms for the acquisition, 3D reconstruction, reconstruction, analysis, manipulation, simulation and ...
* more efficient shader execution ( ) * more information through statistics, overflow query and counters * higher performance through no error handling contexts * clamping of
polygon In geometry, a polygon () is a plane figure made up of line segments connected to form a closed polygonal chain. The segments of a closed polygonal chain are called its '' edges'' or ''sides''. The points where two edges meet are the polygon ...
offset function, solves a shadow rendering problem *
SPIR-V Standard Portable Intermediate Representation (SPIR) is an intermediate language for General-purpose computing on graphics processing units, parallel computing and graphics by Khronos Group. It is used in multiple execution environments, including ...
shaders * Improved
anisotropic filtering In 3D computer graphics, anisotropic filtering (AF) is a technique that improves the appearance of Texture filtering, textures, especially on surfaces viewed at sharp Viewing angle, angles. It helps make textures look sharper and more detailed ...
Hardware support: AMD
Radeon HD 7000 series The Radeon HD 7000 series, codenamed "Southern Islands", is a family of GPUs developed by AMD, and manufactured on TSMC's 28 nm process. The primary competitor of Southern Islands was Nvidia's GeForce 600 series (also manufactured at TS ...
and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), Intel
Skylake Skylake or Sky Lake may refer to: * Skylake (microarchitecture) Skylake is Intel's codename for its sixth generation Core microprocessor family that was launched on August 5, 2015, succeeding the Broadwell microarchitecture. Skylake is a mic ...
and newer, Nvidia
GeForce 400 series The GeForce 400 series is a series of graphics processing units developed by Nvidia, serving as the introduction of the Fermi microarchitecture. Its release was originally slated in November 2009, however, after delays, it was released on March ...
and newer. Driver support: *
Mesa A mesa is an isolated, flat-topped elevation, ridge, or hill, bounded from all sides by steep escarpments and standing distinctly above a surrounding plain. Mesas consist of flat-lying soft sedimentary rocks, such as shales, capped by a ...
19.2 on
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
supports OpenGL 4.6 for Intel Broadwell and newer. Mesa 20.0 supports AMD Radeon GPUs, while support for Nvidia Kepler+ is in progress. Zink as Emulation Driver with 21.1 and software driver LLVMpipe also support with Mesa 21.0. *
AMD Advanced Micro Devices, Inc. (AMD) is an American multinational corporation and technology company headquartered in Santa Clara, California and maintains significant operations in Austin, Texas. AMD is a hardware and fabless company that de ...
Adrenalin 18.4.1 Graphics Driver on
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on July 22, 2009, and became generally available on October 22, ...
SP1, 10 version 1803 (April 2018 update) for AMD Radeon HD 7700+, HD 8500+ and newer. Released April 2018. *
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
26.20.100.6861 graphics driver on
Windows 10 Windows 10 is a major release of Microsoft's Windows NT operating system. The successor to Windows 8.1, it was Software release cycle#Release to manufacturing (RTM), released to manufacturing on July 15, 2015, and later to retail on July 2 ...
. Released May 2019. *
NVIDIA Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
GeForce GeForce is a brand of graphics processing units (GPUs) designed by Nvidia and marketed for the performance market. As of the GeForce 50 series, there have been nineteen iterations of the design. In August 2017, Nvidia stated that "there are o ...
397.31 Graphics Driver on
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on July 22, 2009, and became generally available on October 22, ...
, 8, 10
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set architecture, instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new ope ...
bit only, no
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
support. Released April 2018


Alternative implementations

Apple
deprecated Deprecation is the discouragement of use of something human-made, such as a term, feature, design, or practice. Typically something is deprecated because it is claimed to be inferior compared to other options available. Something may be deprec ...
OpenGL in iOS 12 and macOS 10.14 Mojave in favor of
Metal A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
, but it is still available as of macOS 14 Sonoma (including on
Apple silicon Apple silicon is a series of system on a chip (SoC) and system in a package (SiP) processors designed by Apple Inc., mainly using the ARM architecture family, ARM architecture. They are used in nearly all of the company's devices including Mac ...
devices). The latest version supported for OpenGL is 4.1 from 2011. A proprietary library from Molten – authors of
MoltenVK MoltenVK is a software library which allows Vulkan applications to run on top of Metal on Apple's macOS, iOS, and tvOS operating systems. It is the first software component to be released for the Vulkan Portability Initiative, a project to have ...
– called MoltenGL, can translate OpenGL calls to Metal. There are several projects that attempt to implement OpenGL on top of Vulkan. The Vulkan backend for Google's
ANGLE In Euclidean geometry, an angle can refer to a number of concepts relating to the intersection of two straight Line (geometry), lines at a Point (geometry), point. Formally, an angle is a figure lying in a Euclidean plane, plane formed by two R ...
achieved OpenGL ES 3.1 conformance in July 2020. The
Mesa3D Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers. Its most im ...
project also includes such a driver, called ''Zink''.
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
's
Windows 11 Windows 11 is a version of Microsoft's Windows NT operating system, released on October 5, 2021, as the successor to Windows 10 (2015). It is available as a free upgrade for devices running Windows 10 that meet the #System requirements, Windo ...
on Arm added support for OpenGL 3.3 via GLon12, an open source OpenGL implementation on top DirectX 12 via Mesa Gallium.


Vulkan

Vulkan, formerly named the "Next Generation OpenGL Initiative" (glNext), is a ground-up redesign effort to unify OpenGL and OpenGL ES into one common API that will not be backwards compatible with existing OpenGL versions. The initial version of Vulkan API was released on February 16, 2016.


See also

*
ARB assembly language ARB assembly language is a low-level shading language, which can be characterized as an assembly language. It was created by the OpenGL Architecture Review Board (ARB) to standardize GPU instructions controlling the hardware graphics pipeline. H ...
– OpenGL's legacy low-level shading language *
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
– main competitor of OpenGL *
Glide (API) Glide is a 3D graphics API developed by 3dfx Interactive for their ''Voodoo Graphics'' 3D accelerator cards. It started as a proprietary API, and was later open sourced by 3dfx. It was dedicated to rendering performance, supporting geometry and ...
– a graphics API once used on 3dfx Voodoo cards *
Metal (API) Metal is a low-level, low-overhead hardware-accelerated 3D graphic and compute shader API created by Apple, debuting in iOS 8. Metal combines functions similar to OpenGL and OpenCL in one API. It is intended to improve performance by offering ...
– a graphics API for iOS, macOS, tvOS, watchOS *
OpenAL OpenAL (Open Audio Library) is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those o ...
– cross-platform audio library, designed to resemble OpenGL *
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
– OpenGL for embedded systems *
OpenSL ES OpenSL ES (Open Sound Library for Embedded Systems) is a royalty-free, cross-platform, hardware-accelerated, C-language audio API for 2D and 3D audio. It provides access to features such as 3D positional audio and MIDI playback. It is made f ...
– API for audio on embedded systems, developed by the Khronos Group *
OpenVG OpenVG is an API designed for hardware-accelerated 2D vector graphics. Its primary platforms are mobile phones, gaming & media consoles and consumer electronic devices. It was designed to help manufacturers create more attractive user interfac ...
– API for accelerated 2D graphics, developed by the Khronos Group *
RenderMan Interface Specification The RenderMan Interface Specification, or RISpec in short, is an open API developed by Pixar Animation Studios to describe three-dimensional scenes and turn them into digital photorealistic images. It includes the RenderMan Shading Language. A ...
(RISpec) – Pixar's open API for photorealistic off-line rendering *
VOGL VOGL is a debugger for the OpenGL rendering API intended to be used in the development of video games. VOGL was originally written at RAD Game Tools and Valve. VOGL is free and open-source software subject to the terms of the MIT License. Desc ...
– a debugger for OpenGL *
Vulkan Vulkan is a cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and o ...
– low-overhead, cross-platform 2D and 3D graphics API, the "next generation OpenGL initiative" *
Graphics pipeline The computer graphics pipeline, also known as the rendering pipeline, or graphics pipeline, is a framework within computer graphics that outlines the necessary procedures for transforming a three-dimensional (3D) scene into a two-dimensional (2 ...
*
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
*
WebGPU WebGPU API is a JavaScript, Rust, C++, and C API for cross-platform efficient graphics processing unit (GPU) access. Using a system's underlying Vulkan, Metal, or Direct3D 12 technologies, WebGPU allows for graphics processing, games, and mor ...


Notes


References


Further reading

* * * * * *


External links

*
OpenGL Overview
an
OpenGL.org's Wiki
with more information on OpenGL Language bindings
SGI's OpenGL website

Khronos Group, Inc.


OpenGL lectures by
Tom Duff Thomas Douglas Selkirk Duff (born December 8, 1952) is a Canadian computer programmer. Life and career Early life Duff was born in Toronto, Ontario, Canada, and was named for his putative ancestor, the fifth Earl of Selkirk. He grew up in Tor ...
(Pixar Animation) and George Ledin Jr (Sonoma State University) {{Authority control 1992 software 3D graphics APIs Application programming interfaces Cross-platform software Graphics libraries Graphics standards Video game development Video game development software Virtual reality Augmented reality