stringtranslate.com

GLX

GLX ( sigla de "Open GL Extension to the X Window System") es una extensión del protocolo principal del X Window System que proporciona una interfaz entre OpenGL y el X Window System , así como extensiones del propio OpenGL. Permite que los programas que deseen utilizar OpenGL lo hagan dentro de una ventana proporcionada por el X Window System. GLX distingue dos "estados": estado indirecto y estado directo.

Historia

Silicon Graphics desarrolló GLX como parte de su esfuerzo por soportar OpenGL en el X Window System . En 1999, SGI lanzó GLX bajo una licencia de código abierto , [2] lo que le permitió incorporarse en la versión 4.0 del código fuente de XFree86 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 libre 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 respaldó la Licencia Libre SGI B como una licencia de software libre y a GLX como un importante proyecto de gráficos de software libre . [4] [5] A partir de 2011, GLX ha alcanzado la versión 1.4.

La primera implementación interna de la API GLX, 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 X anidado Xgl y el administrador de ventanas de composición Compiz condujeron al desarrollo de Accelerated Indirect GLX ( 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 que usan 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, la vinculación en GLcore al renderizador de software Mesa se reescribió como un módulo de interfaz DRI, llamado , 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, comenzó el proyecto Glamor , con el objetivo de agregar un controlador X 2D acelerado por hardware genérico basado en OpenGL. En 2013, Adam Jackson realizó una importante reescritura del código GLX para consolidar los diversos caminos de Glamor, renderizado indirecto, ... a un camino único hacia la biblioteca libGL de OpenGL. [7]swrast_dri.so

Características

Demostración de GLX (glxgears) incluida con X11

GLX consta de tres partes:

  1. Una API que proporciona funciones OpenGL a una aplicación del sistema X Window.
  2. 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 del cliente y del servidor pueden ejecutarse en diferentes computadoras.
  3. 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 el mismo equipo y hay una tarjeta gráfica 3D acelerada que utiliza un controlador adecuado, DRI puede omitir los dos primeros componentes . En este caso, la aplicación cliente puede acceder directamente al hardware de video a través de varias capas API.

Implementaciones

Véase también

Referencias

  1. ^ oss-project-owners (2012). «Historia y versión más reciente de la Licencia B de Software Libre SGI». Silicon Graphics International . Archivado desde el original el 20 de abril de 2017. Consultado el 11 de abril de 2017 .
  2. ^ Jon Leech (2012). "Implementación de ejemplo de OpenGL". Silicon Graphics International . Archivado desde el original el 2011-05-14 . Consultado el 2017-04-11 .
  3. ^ "SGI abre aún más sus contribuciones a OpenGL". 19 de septiembre de 2008. Archivado desde el original el 11 de febrero de 2012.
  4. ^ Lee, Matt (19 de septiembre de 2008). "¡Gracias SGI por liberar el escritorio 3D de GNU/Linux!". Free Software Foundation . Consultado el 11 de abril de 2017 .
  5. ^ brett (13 de enero de 2009). "Los gráficos 3D son software 100% libre". Free Software Foundation . Consultado el 11 de abril de 2017 .
  6. ^ "DRI – GLcore". freedesktop.org . 20 de julio de 2016 . Consultado el 11 de abril de 2017 .
  7. ^ Jackson, Adam (4 de febrero de 2014). "Reescritura de GLX para reescribir X". Linux.conf.au . Archivado desde el original el 21 de diciembre de 2021. Consultado el 11 de abril de 2017 .

Enlaces externos