Este artículo necesita citas adicionales para su verificación . ( julio de 2012 ) ( Aprenda cómo y cuándo eliminar este mensaje de plantilla ) |
Autor (es) original (es) | SGI |
---|---|
Versión inicial | 1992 |
Lanzamiento estable | 1.4 / 16 de diciembre de 2005 |
Escrito en | C |
Licencia | Licencia SGI FreeB [1] |
Sitio web | dri |
GLX ( inicialismo para "Open GL Extension to the X Window System") es una extensión del protocolo central del sistema X Window que proporciona una interfaz entre OpenGL y el sistema X Window , así como extensiones para el propio OpenGL. Permite que los programas que deseen utilizar OpenGL lo hagan dentro de una ventana proporcionada por el sistema X Window. GLX distingue dos "estados": estado indirecto y estado directo.
Historia [ editar ]
Silicon Graphics desarrolló GLX como parte de su esfuerzo por admitir OpenGL en el sistema X Window . En 1999 SGI lanzó GLX bajo una licencia de código abierto , [2] permitiendo que se incorpore en el código fuente XFree86 versión 4.0 en 2000. A partir de ahí, el código fue heredado por la versión bifurcada de X.Org Foundation del X Window System X11R6. 7.0. El 19 de septiembre de 2008, SGI creó una nueva licencia SGI FreeB, versión 2.0, que "ahora refleja la licencia gratuita X11 utilizada por X.Org" y "cumple con la definición ampliamente aceptada de 'libre' de la comunidad de software libre y de código abierto". [3] En 2009, la Free Software Foundation aprobó la SGI Free License B para ser unlicencia de software libre y GLX para ser un importante proyecto de gráficos de software libre . [4] [5] A partir de 2011, GLX alcanzó la versión 1.4.
La primera implementación interna de GLX API, llamada GLcore, [6] cargó una versión del renderizador de software de Mesa dentro del servidor X y renderizó los comandos OpenGL en una ventana o mapa de píxeles. Con el desarrollo de DRI , se agregó la capacidad de usar OpenGL acelerado por hardware a través de contextos directos (utilizado principalmente por videojuegos ). En 2006, la popularización del servidor Xgl X anidado y el administrador de ventanas de composición de Compiz llevaron al desarrollo de GLX indirecto acelerado ( AIGLX). AIGLX brinda aceleración de hardware a las aplicaciones GLX (contexto indirecto) al cargar el controlador DRI de Mesa dentro del servidor X. Este método permite compartir objetos GL entre clientes X utilizando contextos indirectos (todos están en el mismo espacio de direcciones en el servidor X) y también entre un cliente X y el administrador de ventanas de composición, acelerando así la composición. En 2008, el enlace en GLcore al renderizador de software Mesa se reescribió como un módulo de interfaz DRI, llamado swrast_dri.so , mejorando el acoplamiento de Mesa y el servidor X. También en el año 2008 se introdujo el nuevo DRI2 para reemplazar a DRI, y con él un nuevo modelo basado en la configuración del modo Kernel . En 2011, el Glamourcomenzó el proyecto, con el objetivo de agregar un controlador 2D X genérico acelerado por hardware basado en OpenGL. En 2013, Adam Jackson hizo una reescritura importante del código GLX para consolidar las diversas rutas desde Glamour, renderizado indirecto, ... a una ruta única a la biblioteca libGL de OpenGL. [7]
Controladores 2D dentro del servidor X
Renderizado indirecto sobre GLX, usando Utah GLX
Infraestructura de renderizado directo temprano
Finalmente, todos los accesos pasan por el Direct Rendering Manager.
En el kernel de Linux 3.12, los nodos de renderización se fusionaron y el KMS se separó. Wayland implementa el renderizado directo sobre EGL
Funciones [ editar ]
GLX consta de tres partes:
- Una API que proporciona funciones OpenGL a una aplicación del sistema X Window.
- Una extensión del protocolo X, que permite al cliente (la aplicación OpenGL) enviar comandos de renderizado 3D al servidor X (el software responsable de la visualización). El software de cliente y servidor puede ejecutarse en diferentes computadoras.
- Una extensión del servidor X que recibe los comandos de renderizado del cliente y los pasa a la biblioteca OpenGL instalada.
Si el cliente y el servidor se ejecutan en la misma computadora y hay disponible una tarjeta gráfica 3D acelerada que usa un controlador adecuado, DRI puede omitir los dos componentes anteriores . En este caso, la aplicación cliente puede acceder directamente al hardware de video a través de varias capas de API.
Implementaciones [ editar ]
- Mesa 3D : una biblioteca gratuita y de código abierto que implementa un par de API gráficas y también los controladores de dispositivo gratuitos y de código abierto disponibles : gráficos ; Como último recurso, Mesa 3D también ofrece renderizado de software alternativo .
- Los controladores de dispositivos patentados para chips gráficos también incluyen una implementación de GLX.
Ver también [ editar ]
- WGL : la interfaz de Microsoft Windows equivalente a OpenGL
- CGL : la interfaz macOS equivalente a OpenGL
- EGL : una interfaz multiplataforma similar entre OpenGL ES o VG y el sistema de ventanas de la plataforma nativa subyacente
- GLUT - biblioteca de utilidades para programas OpenGL
Referencias [ editar ]
- ↑ oss-project-owner (2012). "Historial y versión más reciente de la licencia B de software libre de SGI" . Silicon Graphics International . Archivado desde el original el 20 de abril de 2017 . Consultado el 11 de abril de 2017 .
- ^ Jon Leech (2012). "Implementación de muestra de OpenGL" . Silicon Graphics International . Consultado el 11 de abril de 2017 .
- ^ "SGI abre aún más sus contribuciones OpenGL" . 2008-09-19. Archivado desde el original el 11 de febrero de 2012.
- ↑ Lee, Matt (19 de septiembre de 2008). "¡Gracias SGI, por liberar el escritorio 3D GNU / Linux!" . Fundación de Software Libre . Consultado el 11 de abril de 2017 .
- ↑ brett (13 de enero de 2009). "Los gráficos 3D son software 100% gratuito" . Fundación de Software Libre . Consultado el 11 de abril de 2017 .
- ^ "DRI - GLcore" . freedesktop.org . 2016-07-20 . Consultado el 11 de abril de 2017 .
- ↑ Jackson, Adam (4 de febrero de 2014). "Reescritura de GLX para reescribir X" . Linux.conf.au . Consultado el 11 de abril de 2017 .
Enlaces externos [ editar ]
- Gráficos OpenGL® con X Window System®
- SGI - Código fuente abierto / GLX en Wayback Machine (archivado el 8 de junio de 2009)
- API de OpenGL actual, lenguaje de sombreado OpenGL y especificaciones y páginas de referencia de GLX