Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OpenGL
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==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]] (SGI) was a leader in 3D graphics for workstations. Their [[IRIS GL]] API<ref>{{cite web|url=http://www.cg.tuwien.ac.at/~wimmer/apis/API_Summary.html|title= IRIS GL, SGI's property}}</ref><ref>{{cite web|author=Kilgard, Mark|url=https://www.slideshare.net/Mark_Kilgard/sigraph-asia-2008-modern-opengl-presentation/13-13OpenGLs_PrehistoryIRIS_GL_1Window_system|title=OpenGL Prehistory: IRIS GL (slide)|website=www.slideshare.net|year=2008}}</ref> became the industry standard, as IRIS GL was considered easier to use,{{By whom|date=March 2021}} and it supported [[Immediate mode (computer graphics)|immediate mode]] rendering, therefore being faster<ref>{{cite web |title=Preface: What is OpenGL? |url=https://openglbook.com/chapter-0-preface-what-is-opengl.html |website=OpenGLBook |access-date=31 December 2024}}</ref> than competitors like [[PHIGS]]. SGI's competitors (including [[Sun Microsystems]], [[Hewlett-Packard]] and [[IBM]]) 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]] and Sun's [[NeWS]]. IRIS GL libraries also were unsuitable for opening due to licensing and patent issues{{Explain|reason=What patent issues?|date=September 2016}}. These factors required SGI to continue to support the advanced and proprietary [[Open Inventor|Iris Inventor]] and [[Iris Performer]] 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]]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,<ref>{{cite web|url=http://www.sgi.com/company_info/newsroom/press_releases/2004/august/opengl.html|title=Creation of the OpenGL ARB|access-date=February 16, 2007|archive-url=https://web.archive.org/web/20070222123208/http://www.sgi.com/company_info/newsroom/press_releases/2004/august/opengl.html|archive-date=February 22, 2007|url-status=dead}}</ref> SGI led the creation of the [[OpenGL Architecture Review Board]] (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 (Computer Graphics API)|Performer]] technology). The specification was circulated among a few interested parties β but never turned into a product.<ref>{{cite web|url=https://www.opengl.org/archives/about/arb/meeting_notes/notes/Meeting1.2/meeting_note_10-03-98.html|title=End of OpenGL++|publisher=Khronos Group}}</ref> Released in 1996, [[Microsoft|Microsoft's]] [[Direct3D]] eventually became the main competitor of OpenGL. Over 50 game developers signed an [[open letter]] to Microsoft, released on June 12, 1997, calling on the company to actively support OpenGL.<ref>{{cite magazine |title=Top Game Developers Call on Microsoft to Actively Support OpenGL |magazine=[[Next Generation (magazine)|Next Generation]]|issue=32|publisher=[[Imagine Media]] |date=August 1997|page=17 |url=https://archive.org/details/NEXT_Generation_32/page/n18}}</ref> On December 17, 1997,<ref>{{cite web|url=http://www.windowsitpro.com/Article/ArticleID/17533/17533.html|title=Announcement of Fahrenheit|url-status=dead |archive-url=https://web.archive.org/web/20070927212603/http://www.windowsitpro.com/Article/ArticleID/17533/17533.html|archive-date=September 27, 2007}}</ref> Microsoft and SGI initiated the [[Fahrenheit graphics API|Fahrenheit]] 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.<ref>{{cite news|url=http://www.findarticles.com/p/articles/mi_m0CGN/is_n3341/ai_20211297 |archive-url=https://web.archive.org/web/20071005013207/http://findarticles.com/p/articles/mi_m0CGN/is_n3341/ai_20211297 |url-status=dead |archive-date=October 5, 2007 |title=Members of Fahrenheit. 1998. |work=[[Computergram International]] |year=1998 }}</ref> 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.<ref>{{cite web|url=https://www.theregister.co.uk/1999/11/29/ms_quietly_dumps_windows_opengl/|title=End of Fahrenheit|website=[[The Register]]}}</ref> In July 2006, the OpenGL Architecture Review Board voted to transfer control of the OpenGL API standard to the Khronos Group.<ref>{{cite web|url=https://www.khronos.org/news/press/opengl_arb_to_pass_control_of_opengl_specification_to_khronos_group|title=OpenGL ARB to pass control of OpenGL specification to Khronos Group|date=July 31, 2006|publisher=Khronos press release}}</ref><ref>{{cite web|url=http://www.accessmylibrary.com/coms2/summary_0286-16157838_ITM|title=OpenGL ARB to Pass Control of OpenGL Specification to Khronos Group|publisher=AccessMyLibrary Archive}}</ref> === Industry support === {{Expand section|more historical background when support was being added|date=January 2023|small=no}} 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 (software)|ANGLE]] 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.<ref>{{Cite web |title=OpenGL Celebrates Its 30th Birthday |url=https://www.phoronix.com/news/OpenGL-30-Birthday |access-date=2024-12-07 |website=www.phoronix.com |language=en}}</ref><ref>{{Cite web |date=2023-04-09 |title=OpenGL is not dead, long live Vulkan |url=https://accidentalastro.com/2023/04/opengl-is-not-dead-long-live-vulkan/ |access-date=2024-12-07 |website=The Accidental Astronomer |language=en-US}}</ref>{{Better source needed|reason=I believe my given source of accidentalastro.com falls under user-generated content, but it does explain the compatibility layers.|date=December 2024}} However, the graphics API landscape has been shifting, where some companies are moving away from OpenGL. Back in June 2018, [[Apple Inc|Apple]] has deprecated OpenGL APIs on all of their platforms ([[iOS]], [[macOS]] and [[tvOS]]), strongly encouraging developers to use their proprietary [[Metal (API)|Metal API]], which was introduced in 2014.<ref>{{cite news |last1=Smith |first1=Ryan |date=June 5, 2018 |title=Apple Deprecates OpenGL Across All OSes; Urges Developers to use Metal |website=www.anandtech.com |publisher=Purch |url=https://www.anandtech.com/show/12894/apple-deprecates-opengl-across-all-oses |access-date=June 5, 2018}}</ref> Game developers have also begun to adopt newer APIs. [[id Software]], who has been using OpenGL in their games since the late 1990s in games such as [[Quake (video game)#GLQuake|GLQuake]]<ref> {{cite web |title=GLQuake |url=https://quake.fandom.com/wiki/GLQuake |website=Quake Wiki}}</ref> or some games of the [[Doom (franchise)|Doom franchise]],<ref>{{Cite web |last=eTeknix.com |date=2016-07-29 |title=Doom OpenGL VS Vulkan Graphics Performance Analysis |url=https://www.eteknix.com/doom-opengl-vs-vulkan-graphics-performance-analysis/ |access-date=2024-12-07 |website=eTeknix |language=en-GB}}</ref> transitioned away to its successor Vulkan in its [[id Tech 7]] engine in 2016.<ref>{{cite web |title=Doom Wiki: id Tech 7 |url=https://doomwiki.org/wiki/Id_Tech_7 |access-date=October 26, 2021}}</ref> They first supported Vulkan in an update for their [[id Tech 6]] engine. The company's first licensed use of OpenGL was in its [[Quake II engine]], also known as [[Id Tech#id Tech 2|id Tech 2]].<ref name="idtech2">{{cite web |title=Technology Licensing: id Tech 2 |url=http://www.idsoftware.com/business/idtech2/ |archive-url=https://web.archive.org/web/20091108191715/http://www.idsoftware.com/business/idtech2/ |archive-date=November 8, 2009 |access-date=September 17, 2008}}</ref> In March 2023, [[Valve Corporation|Valve]] removed OpenGL support from [[Dota 2]] in favor of Vulkan.<ref>{{Cite web |last=Dawe |first=Liam |date=March 7, 2023 |title=Dota 2 removes OpenGL support, new hero Muerta now live, big update due in April |url=https://www.gamingonlinux.com/2023/03/dota-2-removes-opengl-new-hero-muerta-live-big-update-in-april/ |access-date=March 26, 2023 |website=GamingOnLinux |language=en}}</ref> Atypical Games, with support from Samsung, updated their game engine to use Vulkan, rather than OpenGL, across all non-Apple platforms.<ref>{{Cite web |title=Jet Set Vulkan : Reflecting on the move to Vulkan |url=https://developer.samsung.com/galaxy-gamedev/gamedev-blog/infinitejet.html}}</ref> The [[Khronos Group]], the consortium responsible for OpenGL's development, has stopped providing support for OpenGL.{{Citation needed|date=December 2024}} It has not received a number of modern graphics technologies, such as hardware accelerated [[Ray tracing (graphics)|Ray Tracing]], on-[[GPU]] video decoding, and advanced [[spatial anti-aliasing|anti-aliasing]] [[algorithm]]s like [[Nvidia DLSS]]<ref>{{cite web|url=https://github.com/NVIDIA/DLSS| title=NVIDIA DLSS SDK|website=github.com/NVIDIA/DLSS}}</ref> and [https://www.amd.com/en/products/graphics/technologies/fidelityfx/super-resolution.html AMD FSR]<ref>{{cite web|url=https://github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK| title=AMD FidelityFX-SDK|website=github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK}}</ref> Google's [[Fuchsia (operating system)|Fuchsia]] 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.<ref> {{cite web |url=https://fuchsia.dev/fuchsia-src/development/graphics/magma |title=Magma: Overview |website=fuchsia.dev |access-date=March 26, 2023 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)