(formerly [[OpenGL Architecture Review Board|ARB]])"},"released":{"wt":"{{start date and age|1992|06|30}}"},"latest release version":{"wt":"{{wikidata|property|preferred|references|edit|P348|P548=Q2804309}}"},"latest release date":{"wt":"{{Start date and age|{{wikidata|qualifier|preferred|single|P348|P548=Q2804309|P577}}}}"},"replaced_by":{"wt":"[[Vulkan]]"},"genre":{"wt":"3D graphics [[Application programming interface|API]]"},"license":{"wt":"* [[open-source license|Open source]] license for use of the Sample Implementation (SI): This is a Free Software License B closely modeled on BSD, X, and Mozilla licenses.\n* Trademark license for new licensees who want to use the OpenGL trademark and logo and claim conformance.<ref>{{cite web |url=https://www.khronos.org/legal/trademarks/ |title=Khronos Logos, Trademarks, and Guidelines |publisher=Khronos |access-date=June 18, 2026 }}</ref>"},"website":{"wt":"{{URL|https://www.opengl.org/|opengl.org}}"}},"i":0}}]}'>
OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.
Silicon Graphics, Inc. (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 (CAD), video games, scientific visualization, virtual reality, and flight simulation. Since 2006, OpenGL has been managed by the non-profit technology consortium Khronos Group.
ISBN 978-0-201-48359-8
A book about X11 interfacing and OpenGL Utility Toolkit (GLUT).
The Blue Book
OpenGL Reference manual, 4th edition.
By the early 1990s, Silicon Graphics (SGI) was a leader in 3D graphics for workstations. Their IRIS GL API became the industry standard, as IRIS GL was considered easier to use,AZDO)
More information through statistics, overflow query and counters
Higher performance through no error handling contexts
Clamping of polygon offset function, solves a shadow rendering problem
SPIR-V shaders
Standardized, mandated anisotropic filtering with 16 samples
GLSL 4.60
Hardware support: AMD Radeon HD 7000 series and newer (FP64 shaders implemented by emulation on some TeraScale GPUs), Intel Skylake and newer, Nvidia GeForce 400 series and newer.
Driver support:
- Mesa 19.2 on Linux supports OpenGL 4.6 for Intel Broadwell and newer. Mesa 20.0 supports AMD Radeon GPUs, while support for Nvidia Kepler+ arrived later. Zink as Emulation Driver with 21.1 and software driver LLVMpipe also support with Mesa 21.0.
- AMD Adrenalin 18.4.1 Graphics Driver on Windows 7 and 10 version 1803 (April 2018 update) for AMD Radeon HD 7700+, HD 8500+ and newer. Both 64-bit and 32-bit are supported. Released April 2018.
- Intel 26.20.100.6861 graphics driver on Windows 10, 64-bit only. Released May 2019.
- NVIDIA GeForce 387.92 graphics driver on Windows 7, 8, 8.1 and 10, both 64-bit and 32-bit are supported. Released October 2017.
Alternative implementations
edit
Apple deprecated OpenGL in iOS 12 and macOS 10.14 Mojave in favor of Metal, but it is still available as of macOS 15 Sequoia (including on Apple silicon devices). The latest version supported for OpenGL is 4.1 from 2011. A proprietary library from Molten – authors of MoltenVK – 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 achieved OpenGL ES 3.1 conformance in July 2020. The Mesa3D project also includes such a driver, called Zink.
Microsoft's Windows 11 on Arm added support for OpenGL 3.3 via GLon12, an open source OpenGL implementation on top DirectX 12 via Mesa Gallium.
- ↑
ARB and EXT are OpenGL extension identifiers. Each extension is associated with a short identifier based on the name of the company which developed it, e.g. NV for Nvidia. If multiple vendors agree to implement the same functionality using the same API, a shared extension may be released using the identifier EXT. In such cases, it could also happen that the Khronos Group's Architecture Review Board gives the extension their explicit approval, in which case the identifier ARB is used.
- ↑ optional, made core in OpenGL 4.3