GLX
This article needs additional citations for verification. (July 2012) |
SGI | |
---|---|
Initial release | 1992 |
Stable release | 1.4
/ December 16, 2005 |
Written in | C |
License | SGI FreeB License[1] |
Website | dri |
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 wishing to use OpenGL to do so within a window provided by the X Window System. GLX distinguishes two "states": indirect state and direct state.
History
As of 2011, GLX has reached version 1.4.The first internal implementation of GLX API, called GLcore,Glamor project started, aiming to add a generic hardware-accelerated 2D X driver based in OpenGL. In 2013 Adam Jackson did a major rewrite of GLX code to consolidate the diverse paths from Glamor, indirect rendering, ... to one unique path to OpenGL's library libGL.[7]
-
2D drivers inside of theX server
-
Indirect rendering over GLX, using Utah GLX
-
Finally all access goes through the Direct Rendering Manager
-
In Linux kernel 3.12 render nodes were merged and theWayland implements direct rendering over EGL
Features
GLX consists of three parts:
- An APIthat provides OpenGL functions to an X Window System application.
- An extension of the X protocol, which allows the client (the OpenGL application) to send 3D rendering commands to the X server (the software responsible for the display). The client and server software may run on different computers.
- An extension of the X server that receives the rendering commands from the client and passes them on to the installed OpenGL library
If client and server are running on the same computer and an accelerated 3D graphics card using a suitable driver is available, the former two components can be bypassed by DRI. In this case, the client application is then allowed to directly access the video hardware through several API layers.
Implementations
- Free and open-source device drivers: graphics; for a last resort Mesa 3D also offers fallback software rendering.
- The proprietary device drivers for graphics chips also include an implementation of GLX.
See also
- WGL – the equivalent Microsoft Windows interface to OpenGL
- CGL – the equivalent macOS interface to OpenGL
- EGL – a similar cross-platform interface between OpenGL ES or VG and the underlying native platform window system
- GLUT – library of utilities for OpenGL programs
References
- ^ oss-project-owners (2012). "History and Most Recent Version of the SGI Free Software License B". Silicon Graphics International. Archived from the original on 2017-04-20. Retrieved 2017-04-11.
- ^ Jon Leech (2012). "OpenGL Sample Implementation". Silicon Graphics International. Retrieved 2017-04-11.
- ^ "SGI Further Opens Its OpenGL Contributions". 2008-09-19. Archived from the original on 2012-02-11.
- ^ Lee, Matt (2008-09-19). "Thank you SGI, for freeing the GNU/Linux 3D desktop!". Free Software Foundation. Retrieved 2017-04-11.
- ^ brett (2009-01-13). "3D graphics are 100% free software". Free Software Foundation. Retrieved 2017-04-11.
- ^ "DRI – GLcore". freedesktop.org. 2016-07-20. Retrieved 2017-04-11.
- ^ Jackson, Adam (2014-02-04). "Rewriting GLX To Rewrite X". Linux.conf.au. Archived from the original on 2021-12-21. Retrieved 2017-04-11.