OpenGL


OpenGL ( Abra Graphics Library [3] ) es una lengua cruz , cruz-plataforma de interfaz de programación de aplicaciones (API) para la representación en 2D y 3D de gráficos vectoriales . La API se usa generalmente para interactuar con una unidad de procesamiento de gráficos (GPU), para lograr una representación acelerada por hardware .

Silicon Graphics, Inc. (SGI) comenzó a desarrollar OpenGL en 1991 y lo lanzó el 30 de junio de 1992; [4] [5] las aplicaciones lo utilizan ampliamente en los campos del diseño asistido por computadora (CAD), realidad virtual , visualización científica , visualización de información, simulación de vuelo y videojuegos . Desde 2006, OpenGL ha sido administrado por el consorcio tecnológico sin fines de lucro Khronos Group . [6]

La especificación OpenGL describe una API abstracta para dibujar gráficos 2D y 3D. Si bien es posible que la API se implemente completamente en software, está diseñada para implementarse mayoritaria o completamente en hardware .

La API se define como un conjunto de funciones que pueden ser invocadas por el programa cliente, junto con un conjunto de constantes enteras nombradas (por ejemplo, la constante GL_TEXTURE_2D, que corresponde al número decimal 3553). Aunque las definiciones de funciones son superficialmente similares a las del lenguaje de programación C , son independientes del lenguaje. Como tal, OpenGL tiene muchos enlaces de idioma , algunos de los más notables son el enlace de JavaScript WebGL (API, basado en OpenGL ES 2.0 , para renderizado 3D desde dentro de un navegador web ); los enlaces C WGL , GLX yCGL ; el enlace C proporcionado por iOS ; y los enlaces Java y C proporcionados por Android .

Además de ser independiente del idioma, OpenGL también es multiplataforma. La especificación no dice nada sobre el tema de la obtención y gestión de un contexto OpenGL, dejando esto como un detalle del sistema de ventanas subyacente . Por la misma razón, OpenGL se ocupa exclusivamente de la renderización y no proporciona API relacionadas con la entrada, el audio o las ventanas.

OpenGL es una API desarrollada activamente. Khronos Group lanza regularmente nuevas versiones de las especificaciones de OpenGL , cada una de las cuales amplía la API para admitir varias funciones nuevas. Los detalles de cada versión se deciden por consenso entre los miembros del Grupo, incluidos los fabricantes de tarjetas gráficas, diseñadores de sistemas operativos y empresas de tecnología en general como Mozilla y Google . [7]


Una ilustración del proceso de canalización de gráficos
Captura de pantalla de glxinfo, que muestra información de la implementación de Mesa de OpenGL en un sistema