OpenGL ( Open Graphics Library [ 3 ] ) es una interfaz de programación de aplicaciones (API) multiplataforma y multilenguaje para la representación de gráficos vectoriales 2D y 3D . La API se utiliza normalmente para interactuar con una unidad de procesamiento gráfico (GPU) y 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 ] Se utiliza para una variedad de aplicaciones, incluyendo diseño asistido por computadora (CAD), videojuegos , visualización científica , realidad virtual y simulación de vuelo . Desde 2006, OpenGL ha sido administrado por el consorcio tecnológico sin fines de lucro Khronos Group . [ 6 ]
Diseño


La especificación OpenGL describe una interfaz de programación de aplicaciones (API) abstracta para dibujar gráficos 2D y 3D. Está diseñada para implementarse principalmente o totalmente mediante aceleración por hardware , como una GPU , aunque también es posible implementarla completamente mediante software que se ejecuta en una CPU .
La API se define como un conjunto de funciones que pueden ser llamadas por el programa cliente, junto con un conjunto de constantes enteras con nombre (por ejemplo, la constante GL_TEXTURE_2D, que corresponde al número decimal 3553). Aunque las definiciones de las funciones son superficialmente similares a las del lenguaje de programación C , son independientes del lenguaje. Por ello, OpenGL tiene muchas vinculaciones de lenguaje , algunas de las más destacadas son la vinculación de JavaScript WebGL (API, basada en OpenGL ES 2.0 , para renderizado 3D desde un navegador web ); las vinculaciones de C WGL , GLX y CGL ; la vinculación de C proporcionada por iOS ; y las vinculaciones de Java y C proporcionadas por Android .
Además de ser independiente del lenguaje, OpenGL también es multiplataforma. La especificación no menciona nada sobre cómo obtener y gestionar un contexto OpenGL, dejando esto como un detalle del sistema de ventanas subyacente . Por la misma razón, OpenGL se centra exclusivamente en la renderización, sin proporcionar API relacionadas con la entrada, el audio o la gestión de ventanas.
Desarrollo
El Grupo Khronos publica nuevas versiones de las especificaciones de OpenGL, cada una de las cuales amplía la API para admitir diversas características nuevas. Los detalles de cada versión se deciden por consenso entre los miembros del Grupo, incluidos fabricantes de tarjetas gráficas, diseñadores de sistemas operativos y empresas tecnológicas en general como Mozilla y Google . [ 7 ]
Además de las características requeridas por la API principal, los proveedores de unidades de procesamiento gráfico (GPU) pueden proporcionar funcionalidad adicional en forma de extensiones . Las extensiones pueden introducir nuevas funciones y constantes, y pueden flexibilizar o eliminar restricciones en las funciones OpenGL existentes. Los proveedores pueden usar extensiones para exponer API personalizadas sin necesidad de soporte de otros proveedores ni del Grupo Khronos en su conjunto, lo que aumenta considerablemente la flexibilidad de OpenGL. Todas las extensiones se recopilan y definen en el Registro de OpenGL. [ 8 ]
Las características introducidas por cada nueva versión de OpenGL suelen estar formadas por la combinación de características de varias extensiones ampliamente implementadas, especialmente extensiones de tipo ARB o EXT. [ 9 ]
OpenGL ya no está en desarrollo activo; mientras que entre 2001 y 2014, la especificación de OpenGL se actualizó principalmente de forma anual, con dos versiones (3.1 y 3.2) en 2009 y tres (3.3, 4.0 y 4.1) en 2010. La última especificación de OpenGL 4.6 se publicó en 2017 después de una pausa de tres años, y se limitó a la inclusión de once extensiones ARB y EXT [ a ] existentes en el perfil principal. [ 11 ]
El desarrollo activo de OpenGL se abandonó en favor de la API Vulkan , lanzada en 2016 y denominada glNext durante su desarrollo inicial. En 2017, Khronos Group anunció que OpenGL ES no tendría nuevas versiones [ 12 ] [ 13 ] y desde entonces se ha concentrado en el desarrollo de Vulkan y otras tecnologías. [ 14 ] [ 15 ] Como resultado, ciertas capacidades ofrecidas por las GPU modernas, como el trazado de rayos , no son compatibles con el estándar OpenGL. Sin embargo, es posible que se proporcione compatibilidad con funciones más recientes mediante extensiones OpenGL específicas del fabricante. [ 16 ] [ 17 ]
Documentación
El OpenGL Architecture Review Board publicó una serie de manuales junto con la especificación, los cuales se han actualizado para reflejar los cambios en la API. Estos manuales se conocen comúnmente por los colores de sus portadas:
- El Libro Rojo
- Guía de programación de OpenGL, 9.ª edición. ISBN 978-0-134-49549-1
- La guía oficial para aprender OpenGL, versión 4.5 con SPIR-V
- El Libro Naranja
- Lenguaje de sombreado OpenGL, 3.ª edición. ISBN 0-321-63763-1
- Un tutorial y libro de referencia para GLSL .
Libros históricos (anteriores a OpenGL 2.0):
- El Libro Verde
- Programación OpenGL para el sistema X Window. ISBN 978-0-201-48359-8
- Un libro sobre la interfaz X11 y el kit de herramientas de utilidad OpenGL (GLUT).
- El Libro Azul
- Manual de referencia de OpenGL, cuarta edición. ISBN 0-321-17383-X
- Básicamente, se trata de una copia impresa de las páginas del manual de Unix (man) para OpenGL.
- Incluye un diagrama desplegable del tamaño de un póster que muestra la estructura de una implementación idealizada de OpenGL.
- El Libro Alfa (cubierta blanca)
- Programación OpenGL para Windows 95 y Windows NT. ISBN 0-201-40709-4
- Un libro sobre la interfaz entre OpenGL y Microsoft Windows.
La documentación de OpenGL también es accesible a través de su página web oficial. [ 18 ]
Bibliotecas asociadas
Las primeras versiones de OpenGL se lanzaron con una biblioteca complementaria llamada OpenGL Utility Library (GLU). Esta proporcionaba funciones sencillas y útiles que probablemente no serían compatibles con el hardware de la época, como la teselación y la generación de mipmaps y formas primitivas . La especificación de GLU se actualizó por última vez en 1998 y depende de funciones de OpenGL que ahora están obsoletas .
Kits de herramientas de contexto y ventana
Dado que la creación de un contexto OpenGL es un proceso bastante complejo y que varía entre sistemas operativos , la creación automática de contextos OpenGL se ha convertido en una característica común de varias bibliotecas de desarrollo de juegos e interfaces de usuario , como SDL , Allegro , SFML , FLTK y Qt . Algunas bibliotecas se han diseñado exclusivamente para producir una ventana compatible con OpenGL. La primera de ellas fue OpenGL Utility Toolkit (GLUT), posteriormente reemplazada por freeglut . GLFW es una alternativa más reciente. [ 19 ]
- Estos conjuntos de herramientas están diseñados para crear y administrar ventanas OpenGL y administrar la entrada, pero poco más allá de eso. [ 20 ]
- GLFW : un gestor de ventanas y de controles para teclado, ratón y joystick multiplataforma; está más orientado a los juegos.
- freeglut : un gestor de ventanas y de teclado-ratón multiplataforma; su API es un superconjunto de la API de GLUT, y es más estable y está más actualizada que GLUT.
- OpenGL Utility Toolkit (GLUT): un antiguo controlador de ventanas que ya no recibe mantenimiento.
- Varias "bibliotecas multimedia" pueden crear ventanas OpenGL, además de tareas de entrada, sonido y otras útiles para aplicaciones tipo juego.
- Allegro 5 : una biblioteca multimedia multiplataforma con una API en C centrada en el desarrollo de juegos.
- Simple DirectMedia Layer (SDL): una biblioteca multimedia multiplataforma con una API en C.
- SFML : una biblioteca multimedia multiplataforma con una API de C++ y múltiples enlaces a lenguajes como C#, Java, Haskell y Go.
- Kits de herramientas de widgets
- FLTK : una pequeña biblioteca de widgets multiplataforma en C++.
- Qt : un conjunto de herramientas de widgets C++ multiplataforma. Proporciona muchos objetos auxiliares de OpenGL, que incluso abstraen la diferencia entre GL de escritorio y OpenGL ES.
- wxWidgets : un kit de herramientas de widgets multiplataforma en C++
Bibliotecas de carga de extensiones
Dado el elevado coste computacional que supone identificar y cargar las extensiones de OpenGL, se han diseñado algunas bibliotecas que cargan automáticamente todas las extensiones y funciones disponibles. Algunos ejemplos son OpenGL Easy Extension Library (GLEE), OpenGL Extension Wrangler Library (GLEW) y glbinding . La mayoría de las bibliotecas de enlace de lenguaje, como Java OpenGL , PyOpenGL y WebGL , también cargan automáticamente las extensiones.
Implementaciones

glxinfo, que muestra información de la implementación de OpenGL de Mesa en un sistema y glxgears, un programa para probar la implementación de OpenGL en un sistemaMesa 3D es una implementación de código abierto de OpenGL. Permite la renderización por software y también puede utilizar la aceleración por hardware en BSD , Linux y otras plataformas aprovechando la infraestructura de renderizado directo (Direct Rendering Infrastructure ). A partir de la versión 20.0, implementa la versión 4.6 del estándar OpenGL.
Historia
En la década de 1980, desarrollar software compatible con una amplia gama de hardware gráfico era todo un reto sin una biblioteca multiplataforma. Los desarrolladores de software escribían interfaces y controladores personalizados para cada componente de hardware. Esto resultaba costoso y multiplicaba el esfuerzo.
A principios de la década de 1990, Silicon Graphics (SGI) era líder en gráficos 3D para estaciones de trabajo. Su API IRIS GL [ 21 ] [ 22 ] se convirtió en el estándar de la industria, ya que IRIS GL se consideraba más fácil de usar y admitía la renderización en modo inmediato , por lo que era más rápido [ 23 ] que competidores como PHIGS .
Los competidores de SGI (entre ellos Sun Microsystems , Hewlett-Packard e IBM ) también lograron lanzar al mercado hardware 3D compatible con extensiones del estándar PHIGS, lo que presionó a SGI para que liberara como código abierto una versión de IRIS GL como estándar público llamado OpenGL .
Sin embargo, SGI tenía muchos clientes para quienes el cambio de IRIS GL a OpenGL requeriría una inversión significativa. Además, IRIS GL tenía funciones API irrelevantes para los gráficos 3D. Por ejemplo, incluía una API de ventanas, teclado y ratón, en parte porque se desarrolló antes del sistema X Window y NeWS de Sun. [ 24 ] Las bibliotecas de IRIS GL estaban fuertemente ligadas al hardware gráfico propietario de SGI y no podían ser de código abierto tal cual debido a patentes de hardware y secretos comerciales. Estos factores obligaron a SGI a seguir dando soporte a las API de programación avanzadas y propietarias Iris Inventor e Iris Performer mientras el soporte del mercado para OpenGL maduraba.
Una de las limitaciones de IRIS GL era que solo proporcionaba acceso a las funciones compatibles con el hardware subyacente. Si el hardware gráfico no admitía una función de forma nativa, la aplicación no podía utilizarla. OpenGL superó este problema al proporcionar implementaciones de software para las funciones no compatibles con el hardware, lo que permitió a las aplicaciones utilizar gráficos avanzados en sistemas de potencia relativamente baja. OpenGL estandarizó el acceso al hardware, transfirió la responsabilidad del desarrollo de los programas de interfaz de hardware ( controladores de dispositivos ) a los fabricantes de hardware y delegó las funciones de ventanas al sistema operativo subyacente. Con tantos tipos diferentes de hardware gráfico, lograr que todos hablaran el mismo lenguaje de esta manera tuvo un impacto notable al proporcionar a los desarrolladores de software una plataforma de nivel superior para el desarrollo de software 3D.
En 1992, [ 25 ] SGI lideró la creación del OpenGL Architecture Review Board (OpenGL ARB), el grupo de empresas que mantendría y ampliaría la especificación OpenGL en el futuro. Dos años después, también barajaron la idea de lanzar algo llamado " OpenGL++ ", que incluía elementos como una API de grafo de escena (presumiblemente basada en su tecnología Performer ). La especificación circuló entre algunas partes interesadas, pero nunca se convirtió en un producto. [ 26 ]
Lanzado en 1996, Direct3D de Microsoft se convirtió finalmente en el principal competidor de OpenGL. Más de 50 desarrolladores de juegos firmaron una carta abierta a Microsoft, publicada el 12 de junio de 1997, pidiendo a la compañía que apoyara activamente OpenGL. [ 27 ] El 17 de diciembre de 1997, [ 28 ] Microsoft y SGI iniciaron el proyecto Fahrenheit , que fue un esfuerzo conjunto con el objetivo de unificar las interfaces OpenGL y Direct3D (y agregar también una API de grafo de escena). En 1998, Hewlett-Packard se unió al proyecto. [ 29 ] Inicialmente mostró cierto potencial para poner orden en el mundo de las API de gráficos por computadora 3D interactivos, pero debido a las limitaciones financieras de SGI, razones estratégicas de Microsoft y una falta general de apoyo de la industria, fue abandonado en 1999. [ 30 ]
En julio de 2006, la Junta de Revisión de la Arquitectura de OpenGL votó a favor de transferir el control del estándar de la API de OpenGL al Grupo Khronos. [ 31 ] [ 32 ]
apoyo de la industria
OpenGL fue el estándar para muchos programas CAD (como Blender ) y juegos en las décadas de 1990 y 2000, y cuenta con un amplio soporte en prácticamente todos los fabricantes de hardware. A pesar del surgimiento de nuevas API gráficas como su sucesor Vulkan o Metal, OpenGL sigue siendo un estándar ampliamente utilizado. Esta relevancia continua se sustenta en varios factores: el desarrollo constante con nuevas extensiones y optimizaciones de controladores, su compatibilidad multiplataforma y la disponibilidad de capas de compatibilidad como ANGLE y Zink. Estas capas permiten que OpenGL se ejecute de manera eficiente sobre Vulkan y Metal, ofreciendo una vía para su uso continuado o transiciones graduales para los desarrolladores. [ 33 ] [ 34 ]
Sin embargo, el panorama de las API gráficas ha estado cambiando, y algunas empresas se están alejando de OpenGL. En junio de 2018, Apple dejó de dar soporte a las API de OpenGL en todas sus plataformas ( iOS , macOS y tvOS ), animando a los desarrolladores a utilizar su API propietaria Metal , que se introdujo en 2014. [ 35 ]
Los desarrolladores de juegos también han comenzado a adoptar API más nuevas. id Software , que ha estado usando OpenGL en sus juegos desde finales de la década de 1990 en juegos como GLQuake [ 36 ] o algunos juegos de la franquicia Doom , [ 37 ] hizo la transición a su sucesor Vulkan en su motor id Tech 7 en 2016. [ 38 ] Primero dieron soporte a Vulkan en una actualización para su motor id Tech 6. El primer uso con licencia de OpenGL por parte de la compañía fue en su motor Quake II , también conocido como id Tech 2. [ 39 ] En marzo de 2023, Valve eliminó el soporte de OpenGL de Dota 2 en favor de Vulkan. [ 40 ] Atypical Games, con el apoyo de Samsung, actualizó su motor de juego para usar Vulkan, en lugar de OpenGL, en todas las plataformas que no son de Apple. [ 41 ]
El Grupo Khronos , el consorcio responsable del desarrollo de OpenGL, ha dejado de actualizar OpenGL, siendo la última versión de 2017. [ 42 ] No ha recibido varias tecnologías gráficas modernas, como el trazado de rayos acelerado por hardware , la decodificación de vídeo en la GPU y algoritmos avanzados de suavizado de bordes como Nvidia DLSS [ 43 ] y AMD FSR . [ 44 ] Otra característica moderna, los sombreadores de malla , inicialmente solo era compatible a través de una extensión exclusiva de Nvidia; sin embargo, en 2025 se lanzó una extensión de sombreador de malla de OpenGL compatible con varios proveedores. [ 45 ] [ 46 ] [ 47 ]
El sistema operativo Fuchsia de Google , si bien utiliza Vulkan de forma nativa y requiere una GPU compatible con Vulkan, todavía pretende admitir OpenGL sobre Vulkan a través de la capa de traducción ANGLE. [ 48 ]
Historial de versiones
La primera versión de OpenGL, la versión 1.0, fue publicada el 30 de junio de 1992 por Mark Segal y Kurt Akeley . Desde entonces, OpenGL se ha ampliado ocasionalmente mediante el lanzamiento de nuevas versiones de la especificación. Dichas versiones definen un conjunto básico de características que todas las tarjetas gráficas compatibles deben admitir, y sobre las cuales se pueden desarrollar nuevas extensiones con mayor facilidad. Cada nueva versión de OpenGL suele incorporar varias extensiones que cuentan con un amplio soporte entre los fabricantes de tarjetas gráficas, aunque los detalles de dichas extensiones pueden variar.
OpenGL 2.0
Fecha de lanzamiento : 7 de septiembre de 2004
OpenGL 2.0 fue concebido originalmente por 3Dlabs para abordar las preocupaciones de que OpenGL estaba estancado y carecía de una dirección clara. [ 66 ] 3Dlabs propuso varias adiciones importantes al estándar. La mayoría de estas fueron, en su momento, rechazadas por la ARB o nunca se concretaron en la forma que 3Dlabs propuso. Sin embargo, su propuesta para un lenguaje de sombreado de estilo C finalmente se completó, dando como resultado la formulación actual del Lenguaje de Sombreado de OpenGL ( GLSL o GLslang). Al igual que los lenguajes de sombreado tipo ensamblador que reemplazaba, permitía reemplazar la tubería de vértices y fragmentos de función fija con sombreadores , aunque esta vez escritos en un lenguaje de alto nivel similar a C.
El diseño de GLSL destacó por hacer relativamente pocas concesiones a las limitaciones del hardware disponible en aquel entonces. Esto recordaba la tradición anterior de OpenGL de establecer un objetivo ambicioso y con visión de futuro para los aceleradores 3D, en lugar de limitarse a seguir el estado del hardware disponible. La especificación final de OpenGL 2.0 [ 67 ] incluye soporte para GLSL 1.10.
OpenGL 2.1
Fecha de lanzamiento : 2 de julio de 2006
OpenGL 2.1 añade compatibilidad con objetos de búfer de píxeles, texturas sRGB y GLSL 1.20.
Longs Peak y OpenGL 3.0
Antes del lanzamiento de OpenGL 3.0, la nueva revisión tenía el nombre en clave Longs Peak . En el momento de su anuncio original, Longs Peak se presentó como la primera revisión importante de la API en la historia de OpenGL. Consistía en una renovación completa del funcionamiento de OpenGL, que requería cambios fundamentales en la API.
El borrador introdujo un cambio en la gestión de objetos. El modelo de objetos GL 2.1 se basaba en el diseño basado en estados de OpenGL. Es decir, para modificar un objeto o utilizarlo, es necesario vincularlo al sistema de estados y, a continuación, modificar dicho estado o realizar llamadas a funciones que utilicen el objeto vinculado.
Debido al sistema de estados de OpenGL, los objetos deben ser mutables. Es decir, la estructura básica de un objeto puede cambiar en cualquier momento, incluso si el proceso de renderizado lo utiliza de forma asíncrona. Un objeto de textura puede redefinirse de 2D a 3D. Esto exige que cualquier implementación de OpenGL añada cierta complejidad a la gestión interna de objetos.
Con la API de Longs Peak, la creación de objetos sería atómica , utilizando plantillas para definir las propiedades de un objeto que se crearía con una sola llamada a una función. El objeto podría utilizarse inmediatamente en múltiples hilos. Los objetos también serían inmutables; sin embargo, su contenido podría modificarse y actualizarse. Por ejemplo, una textura podría cambiar su imagen, pero su tamaño y formato no podrían modificarse.
Para garantizar la compatibilidad con versiones anteriores, la antigua API basada en estados seguiría estando disponible, pero no se expondría ninguna funcionalidad nueva a través de ella en versiones posteriores de OpenGL. Esto habría permitido que las bases de código heredadas, como la mayoría de los productos CAD , siguieran funcionando mientras se desarrollaba o adaptaba otro software a la nueva API.
Inicialmente, Longs Peak debía finalizarse en septiembre de 2007 bajo el nombre de OpenGL 3.0, pero el Grupo Khronos anunció el 30 de octubre que había encontrado varios problemas que deseaba solucionar antes de publicar la especificación. [ 68 ] Como resultado, la especificación se retrasó y el Grupo Khronos guardó silencio mediático hasta la publicación de la especificación final de OpenGL 3.0.
La especificación final resultó ser mucho menos revolucionaria que la propuesta de Longs Peak. En lugar de eliminar todo el modo inmediato y la funcionalidad fija (modo sin sombreador), la especificación los incluyó como características obsoletas. El modelo de objetos propuesto no se incluyó, y no se han anunciado planes para incluirlo en ninguna revisión futura. Como resultado, la API permaneció prácticamente igual, con algunas extensiones existentes que se promovieron a funcionalidad principal. Entre algunos grupos de desarrolladores, esta decisión causó cierto revuelo, [ 69 ] y muchos desarrolladores afirmaron que cambiarían a DirectX en protesta. La mayoría de las quejas giraban en torno a la falta de comunicación de Khronos a la comunidad de desarrolladores y al descarte de múltiples características que eran vistas favorablemente por muchos. Otras frustraciones incluyeron el requisito de hardware de nivel DirectX 10 para usar OpenGL 3.0 y la ausencia de sombreadores de geometría y renderizado instanciado como características principales.
Otras fuentes informaron que la reacción de la comunidad no fue tan severa como se presentó originalmente, [ 70 ] y muchos proveedores mostraron su apoyo a la actualización. [ 71 ] [ 72 ]
OpenGL 3.0
Fecha de lanzamiento : 11 de agosto de 2008
OpenGL 3.0 introdujo un mecanismo de obsolescencia para simplificar las futuras revisiones de la API. Ciertas características, marcadas como obsoletas, podían deshabilitarse por completo solicitando un contexto compatible con versiones posteriores al sistema de ventanas. Sin embargo, aún se podía acceder a las características de OpenGL 3.0 junto con estas características obsoletas solicitando un contexto completo .
Las funciones obsoletas incluyen:
- Procesamiento completo de vértices y fragmentos de función fija
- Renderizado en modo directo, utilizando glBegin y glEnd.
- Mostrar listas
- Objetivos de reproducción de color indexado
- Lenguaje de sombreado OpenGL versión 1.30
Compatibilidad de hardware: Nvidia GeForce Serie 8 y posteriores, ATI Radeon Serie HD 2000 y posteriores, Intel HD Graphics en procesadores Intel Sandy Bridge y posteriores.
OpenGL 3.1
Fecha de lanzamiento : 24 de marzo de 2009
OpenGL 3.1 eliminó por completo todas las características obsoletas de la versión 3.0, con la excepción de las líneas anchas. A partir de esta versión, no es posible acceder a las nuevas características mediante un contexto completo ni a las obsoletas mediante un contexto compatible con versiones posteriores . Se aplica una excepción a la primera regla si la implementación admite la extensión ARB_compatibility , pero esto no está garantizado. Incluye compatibilidad con GLSL 1.40.
Compatibilidad de hardware: Mesa es compatible con ARM Panfrost versión 21.0.
OpenGL 3.2
Fecha de lanzamiento : 3 de agosto de 2009
OpenGL 3.2 se basó aún más en los mecanismos de obsolescencia introducidos por OpenGL 3.0, dividiendo la especificación en un perfil principal y un perfil de compatibilidad . Los contextos de compatibilidad incluyen las API de función fija previamente eliminadas, equivalentes a la extensión ARB_compatibility lanzada junto con OpenGL 3.1, mientras que los contextos principales no las incluyen. OpenGL 3.2 también incluyó una actualización a GLSL versión 1.50.
OpenGL 3.3
Fecha de lanzamiento: 11 de marzo de 2010
OpenGL 3.3 incluye pequeñas adiciones, con el objetivo de conservar la mayor cantidad de funcionalidad posible de OpenGL 4.0, manteniendo la compatibilidad con hardware antiguo. [ 58 ] Las adiciones incluyen nuevas funciones de mezcla, objetos Sampler y nuevos formatos de textura y vértice. También se agrega compatibilidad con GLSL versión 3.30; las versiones principales y secundarias ahora coinciden con OpenGL.
OpenGL 4.0
Fecha de lanzamiento : 11 de marzo de 2010
OpenGL 4.0 se lanzó junto con la versión 3.3. [ 58 ] Fue diseñado para hardware capaz de soportar Direct3D 11.
Al igual que en OpenGL 3.0, esta versión de OpenGL contiene un gran número de extensiones bastante intrascendentes, diseñadas para exponer a fondo las capacidades del hardware de la clase Direct3D 11, como la teselación.
Compatibilidad de hardware: Nvidia GeForce serie 400 y posteriores, AMD Radeon HD serie 5000 y posteriores (sombreadores FP64 implementados por emulación en algunas GPU TeraScale), Intel HD Graphics en procesadores Intel Ivy Bridge y posteriores. [ 73 ]
OpenGL 4.1
Fecha de lanzamiento : 26 de julio de 2010
- El tamaño mínimo de textura máxima es de 16.384 × 16.384 para las GPU que implementan esta especificación. [ 74 ]
- Compatibilidad mejorada para OpenGL ES 2.0 [ 75 ]
- Múltiples ventanas gráficas para la misma superficie de renderizado, o una por superficie. [ 76 ]
Compatibilidad de hardware: Nvidia GeForce serie 400 y posteriores, AMD Radeon HD serie 5000 y posteriores (sombreadores FP64 implementados por emulación en algunas GPU TeraScale), Intel HD Graphics en procesadores Intel Haswell y posteriores [ 73 ] (Linux Mesa: Ivy Bridge y posteriores). Además, este es el último perfil de núcleo compatible con Apple macOS.
OpenGL 4.2
Fecha de lanzamiento: 8 de agosto de 2011 [ 60 ]
- Compatibilidad con sombreadores con contadores atómicos y operaciones de carga, almacenamiento, lectura, modificación y escritura atómicas a un nivel de una textura.
- Dibujar múltiples instancias de datos capturados del procesamiento de vértices de la GPU (incluida la teselación), para permitir que los objetos complejos se reposicionen y repliquen de manera eficiente.
- Se admite la modificación de un subconjunto arbitrario de una textura comprimida, sin necesidad de volver a descargar la textura completa a la GPU para obtener mejoras significativas en el rendimiento.
Compatibilidad de hardware: Nvidia GeForce serie 400 y posteriores, AMD Radeon HD serie 5000 y posteriores (sombreadores FP64 implementados por emulación en algunas GPU TeraScale) e Intel HD Graphics en procesadores Intel Haswell y posteriores. [ 73 ] (Linux Mesa: Ivy Bridge y posteriores)
OpenGL 4.3
Fecha de lanzamiento: 6 de agosto de 2012 [ 61 ]
- Shaders de cómputo que aprovechan el paralelismo de la GPU dentro del contexto de la canalización gráfica.
- Objetos de búfer de almacenamiento de sombreadores, que permiten a los sombreadores leer y escribir objetos de búfer como la carga/almacenamiento de imágenes de la versión 4.2, pero a través del lenguaje en lugar de llamadas a funciones.
- consultas de parámetros de formato de imagen
- Compresión de texturas ETC2/EAC como característica estándar
- Compatibilidad total con las API de OpenGL ES 3.0
- Capacidades de depuración para recibir mensajes de depuración durante el desarrollo de la aplicación.
- Vistas de textura para interpretar texturas de diferentes maneras sin replicación de datos.
- Mayor seguridad de la memoria y robustez para múltiples aplicaciones.
Compatibilidad de hardware: AMD Radeon HD serie 5000 y posteriores (sombreadores FP64 implementados por emulación en algunas GPU TeraScale), Intel HD Graphics en procesadores Intel Haswell y posteriores. [ 73 ] (Linux Mesa: Ivy Bridge sin texturizado de plantilla, Haswell y posteriores), Nvidia GeForce serie 400 y posteriores. La emulación VIRGL para máquinas virtuales admite 4.3+ con Mesa 20.
OpenGL 4.4
Fecha de lanzamiento: 22 de julio de 2013 [ 63 ]
- Controles de uso de objetos de búfer aplicados
- Consultas asíncronas en objetos de búfer
- Expresión de más controles de diseño de variables de interfaz en sombreadores
- Vinculación eficiente de múltiples objetos simultáneamente
Compatibilidad de hardware: AMD Radeon HD serie 5000 y posteriores (sombreadores FP64 implementados por emulación en algunas GPU TeraScale), Intel HD Graphics en procesadores Intel Broadwell y posteriores (Linux Mesa: Haswell y posteriores), [ 77 ] Nvidia GeForce serie 400 y posteriores, [ 78 ] Tegra K1 .
OpenGL 4.5
Fecha de lanzamiento: 11 de agosto de 2014 [ 8 ] [ 64 ]
- Acceso directo al estado (DSA): los accesores de objetos permiten consultar y modificar el estado sin vincular objetos a contextos, para una mayor eficiencia y flexibilidad de las aplicaciones y el middleware. [ 79 ]
- Control de vaciado: las aplicaciones pueden controlar el vaciado de los comandos pendientes antes del cambio de contexto, lo que permite aplicaciones multihilo de alto rendimiento;
- Robustez: proporciona una plataforma segura para aplicaciones como los navegadores WebGL, lo que incluye evitar que un reinicio de la GPU afecte a cualquier otra aplicación en ejecución;
- Compatibilidad con la API y los sombreadores de OpenGL ES 3.1: para facilitar el desarrollo y la ejecución de las últimas aplicaciones OpenGL ES en sistemas de escritorio.
Compatibilidad de hardware: AMD Radeon HD serie 5000 y posteriores (sombreadores FP64 implementados por emulación en algunas GPU TeraScale), Intel HD Graphics en procesadores Intel Broadwell y posteriores (Linux Mesa: Haswell y posteriores), Nvidia GeForce serie 400 y posteriores, [ 78 ] Tegra K1 y Tegra X1. [ 80 ] [ 81 ]
OpenGL 4.6
Fecha de lanzamiento: 31 de julio de 2017 [ 8 ] [ 11 ] [ 65 ]
- Procesamiento geométrico más eficiente, a cargo de la GPU.
- Ejecución de sombreadores más eficiente ( AZDO )
- Más información a través de estadísticas, consultas de desbordamiento y contadores.
- Mayor rendimiento al no existir contextos de manejo de errores.
- La limitación de la función de desplazamiento del polígono resuelve un problema de renderizado de sombras.
- Shaders SPIR-V
- Filtrado anisotrópico mejorado
Compatibilidad de hardware: AMD Radeon HD serie 7000 y posteriores (sombreadores FP64 implementados por emulación en algunas GPU TeraScale), Intel Skylake y posteriores, Nvidia GeForce serie 400 y posteriores. [ 78 ]
Soporte para el conductor:
- Mesa 19.2 en Linux admite OpenGL 4.6 para Intel Broadwell y posteriores. [ 82 ] Mesa 20.0 admite GPU AMD Radeon, [ 83 ] mientras que la compatibilidad con Nvidia Kepler+ llegó más tarde. Zink como controlador de emulación con 21.1 y el controlador de software LLVMpipe también son compatibles con Mesa 21.0.
- Controlador de gráficos AMD Adrenalin 18.4.1 para Windows 7 y 10 , versión 1803 (actualización de abril de 2018), compatible con AMD Radeon HD 7700+, HD 8500+ y posteriores. Admite arquitecturas de 64 y 32 bits . Publicado en abril de 2018. [ 84 ] [ 85 ]
- Controlador de gráficos Intel 26.20.100.6861 para Windows 10 , solo de 64 bits. Publicado en mayo de 2019. [ 86 ] [ 87 ]
- El controlador de gráficos NVIDIA GeForce 387.92 es compatible con Windows 7 , 8 , 8.1 y 10 , tanto en versiones de 64 bits como de 32 bits. Publicado en octubre de 2017. [ 88 ]
Implementaciones alternativas
Apple dejó de dar soporte a OpenGL en iOS 12 y macOS 10.14 Mojave en favor de Metal , pero aún está disponible a partir de macOS 15 Sequoia (incluso en dispositivos Apple Silicon ). [ 89 ] La última versión compatible con OpenGL es la 4.1 de 2011. [ 90 ] [ 91 ] Una biblioteca propietaria de Molten, autores de MoltenVK , llamada MoltenGL, puede traducir llamadas de OpenGL a Metal. [ 92 ]
Hay varios proyectos que intentan implementar OpenGL sobre Vulkan. El backend de Vulkan para ANGLE de Google logró la conformidad con OpenGL ES 3.1 en julio de 2020. [ 93 ] El proyecto Mesa3D también incluye un controlador de este tipo, llamado Zink . [ 94 ]
Windows 11 de Microsoft en Arm agregó soporte para OpenGL 3.3 a través de GLon12, una implementación de OpenGL de código abierto sobre DirectX 12 a través de Mesa Gallium . [ 95 ] [ 96 ] [ 97 ]
Vulcano
Vulkan, anteriormente llamado "Iniciativa OpenGL de próxima generación" (glNext), [ 98 ] [ 99 ] es un esfuerzo de rediseño desde cero para unificar OpenGL y OpenGL ES en una API común que no será compatible con versiones anteriores de OpenGL. [ 100 ] [ 101 ] [ 102 ]
La versión inicial de la API Vulkan se lanzó el 16 de febrero de 2016.
Véase también
- Lenguaje ensamblador ARB : el lenguaje de sombreado de bajo nivel heredado de OpenGL.
- Direct3D : principal competidor de OpenGL
- Glide (API) : una API gráfica que se utilizaba en las tarjetas 3dfx Voodoo.
- Metal (API) : una API gráfica para iOS, macOS, tvOS y watchOS.
- OpenAL : biblioteca de audio multiplataforma, diseñada para parecerse a OpenGL.
- OpenGL ES – OpenGL para sistemas embebidos
- OpenSL ES : API para audio en sistemas embebidos, desarrollada por el Grupo Khronos.
- OpenVG : API para gráficos 2D acelerados, desarrollada por el Grupo Khronos.
- Especificación de la interfaz RenderMan (RISpec): la API abierta de Pixar para la renderización fotorrealista fuera de línea.
- VOGL : un depurador para OpenGL
- Vulkan : API de gráficos 2D y 3D multiplataforma de bajo consumo de recursos, la "iniciativa OpenGL de próxima generación".
- Canalización gráfica
- WebGL
- WebGPU
Notas
- ^ ARB y EXT son identificadores de extensión de OpenGL. Cada extensión se asocia con un identificador corto basado en el nombre de la empresa que la desarrolló, por ejemplo, NV para Nvidia . Si varios proveedores acuerdan implementar la misma funcionalidad utilizando la misma API, se puede publicar una extensión compartida con el identificador EXT. En tales casos, también podría ocurrir que la Junta de Revisión de Arquitectura del Grupo Khronos apruebe explícitamente la extensión, en cuyo caso se utiliza el identificador ARB. [ 10 ]
- ^ opcional, incorporado al núcleo en OpenGL 4.3
Referencias
- ^ "Khronos lanza OpenGL 4.6 con soporte para SPIR-V" .
- ^ "Logotipos, marcas comerciales y directrices de Khronos" . Khronos . Consultado el 18 de junio de 2026 .
- ^ "Sistema gráfico OpenGL: una especificación" (PDF) . 4.0 (Core Profile). 11 de marzo de 2010.
- ^ "SGI – Descripción general de OpenGL" . Archivado del original el 31 de octubre de 2004. Consultado el 16 de febrero de 2007 .
- ^ Peddie, Jon (julio de 2012). "¿Quién es la más bella de todas?" . Computer Graphics World . Recuperado el 30 de mayo de 2018 .
- ^ "OpenGL ARB cederá el control de la especificación de OpenGL al Grupo Khronos" . El Grupo Khronos . 31 de julio de 2006. Consultado el 18 de marzo de 2021 .
- ^ "Información general y preguntas frecuentes sobre la membresía de Khronos" . Khronos.org . Consultado el 7 de noviembre de 2012 .
- ^ a b c d "Registro OpenGL de Khronos" . Grupo Khronos . Consultado el 31 de julio de 2017 .
- ^ "Tutorial 12: Extensiones de OpenGL" . www.opengl-tutorial.org . Consultado el 7 de abril de 2026 .
- ^ "Cómo crear extensiones de API de Khronos" . Grupo Khronos . Consultado el 31 de julio de 2017 .
- ^ a b c "Khronos lanza OpenGL 4.6 con soporte para SPIR-V" . The Khronos Group Inc. 31 de julio de 2017. Archivado del original el 31 de julio de 2017. Recuperado el 31 de julio de 2017 .
- ^ "Vulkan, OpenGL y OpenGL ES SIGGRAPH 2017: No hay planes para una nueva versión del núcleo de OpenGL ES" (PDF) . Khronos Group . 2017. Archivado (PDF) del original el 22 de mayo de 2020. Recuperado el 16 de enero de 2025 .
- ^ "El futuro de OpenGL (debate en el foro)" . Grupo Khronos . 2020.
- ^ "Archivos de noticias de Khronos" . Grupo Khronos . 28 de noviembre de 2022.
- ^ "Blog de Khronos" . Grupo Khronos . 28 de noviembre de 2022.
- ^ "GLSL_NV_ray_tracing" . GitHub .
- ^ "GL_NV_mesh_shader" . GitHub .
- ^ "OpenGL: la base de la industria para gráficos de alto rendimiento" . The Khronos Group . 19 de julio de 2011. Archivado del original el 27 de julio de 2021. Consultado el 18 de marzo de 2021 .
- ^ "Lista de alternativas a GLUT, mantenida por" . Grupo Khronos. Archivado del original el 19 de julio de 2018. Recuperado el 2 de mayo de 2013 .
- ^ "Kits de herramientas y API relacionados" . www.opengl.org . OpenGL . Consultado el 8 de octubre de 2014 .
- ^ "IRIS GL, propiedad de SGI" .
- ^ Kilgard, Mark (2008). "Prehistoria de OpenGL: IRIS GL (diapositiva)" . www.slideshare.net .
- ^ "Prefacio: ¿Qué es OpenGL?" . OpenGLBook . Consultado el 31 de diciembre de 2024 .
- ^ "Apéndice B. Diferencias entre OpenGL e IRIS GL" . tech-pubs.net . Consultado el 3 de octubre de 2025 .
- ^ "Creación del OpenGL ARB" . Archivado del original el 22 de febrero de 2007. Recuperado el 16 de febrero de 2007 .
- ^ "Fin de OpenGL++" . Grupo Khronos.
- ^ "Los principales desarrolladores de videojuegos piden a Microsoft que apoye activamente OpenGL" . Next Generation . N.° 32. Imagine Media . Agosto de 1997. pág. 17.
- ^ "Anuncio de Fahrenheit" . Archivado del original el 27 de septiembre de 2007.
- ^ "Miembros de Fahrenheit. 1998" . Computergram International . 1998. Archivado del original el 5 de octubre de 2007.
- ^ "Fin de Fahrenheit" . The Register .
- ^ "OpenGL ARB cederá el control de la especificación OpenGL al Grupo Khronos" . Comunicado de prensa de Khronos. 31 de julio de 2006.
- ^ "OpenGL ARB cederá el control de la especificación de OpenGL al Grupo Khronos" . Archivo de AccessMyLibrary.
- ^ "OpenGL celebra su 30.º aniversario" . www.phoronix.com . Consultado el 7 de diciembre de 2024 .
- ^ "OpenGL no ha muerto, ¡viva Vulkan!" . The Accidental Astronomer . 9 de abril de 2023 . Consultado el 7 de diciembre de 2024 .
- ^ Smith, Ryan (5 de junio de 2018). "Apple desaconseja OpenGL en todos sus sistemas operativos; insta a los desarrolladores a usar Metal" . www.anandtech.com . Purch. Archivado del original el 6 de junio de 2018. Recuperado el 5 de junio de 2018 .
- ^ "GLQuake" . Wiki de Quake .
- ^ eTeknix.com (29 de julio de 2016). "Análisis del rendimiento gráfico de Doom con OpenGL frente a Vulkan" . eTeknix . Consultado el 7 de diciembre de 2024 .
- ^ "Doom Wiki: id Tech 7" . Consultado el 26 de octubre de 2021 .
- ^ "Licencias de tecnología: id Tech 2" . Archivado del original el 8 de noviembre de 2009. Recuperado el 17 de septiembre de 2008 .
- ^ Dawe, Liam (7 de marzo de 2023). "Dota 2 elimina la compatibilidad con OpenGL, el nuevo héroe Muerta ya está disponible, se espera una gran actualización en abril" . GamingOnLinux . Consultado el 26 de marzo de 2023 .
- ^ "Jet Set Vulkan: Reflexiones sobre el cambio a Vulkan" . Archivado del original el 18 de octubre de 2021. Recuperado el 18 de octubre de 2021 .
- ^ "OpenGL: la base de la industria para gráficos de alto rendimiento" . The Khronos Group . 19 de julio de 2011. Archivado del original el 27 de julio de 2021. Consultado el 23 de enero de 2026 .
- ^ "SDK DLSS de NVIDIA" . github.com/NVIDIA/DLSS .
- ^ "AMD FidelityFX-SDK" . github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK .
- ^ Michael Larabel (9 de octubre de 2025). "Extensión OpenGL Mesh Shader fusionada" . Phoronix .
- ^ "OpenGL resurge en 2025 con extensiones de sombreado de malla para videojuegos" . Khronos Group . 28 de octubre de 2025.
- ^ Mike Blumenkrantz (9 de octubre de 2025). "Shaders de malla en el año actual" . Súper. Buen. Código .
- ^ "Magma: Descripción general" . fuchsia.dev . Consultado el 26 de marzo de 2023 .
- ^ Kilgard, Mark J. (2001). Programación OpenGL para el sistema X Window . Programación gráfica (6.ª ed. impresa). Boston, Mass. Múnich: Addison-Wesley. pág. 6. ISBN 978-0-201-48359-8.
- ^ "El sistema gráfico OpenGL: una especificación" (PDF) . 1.1. 4 de marzo de 1997.
- ^ Astle, Dave (1 de abril de 2003). "Más allá de OpenGL 1.1 para Windows" . gamedev.net . Consultado el 15 de noviembre de 2007 .
- ^ Isorna, JM (2015). Simulación visual de materiales: teoría, técnicas, análisis de casos . UPC Grau. Arquitectura, urbanismo y edificación (en español). Universitat Politècnica de Catalunya. pag. 191.ISBN 978-84-9880-564-2. Consultado el 21 de agosto de 2019 .
- ^ a b c "El sistema gráfico OpenGL: una especificación" (PDF) . 2.1. 1 de diciembre de 2006.
- ^ "Punto Primitivo" .
- ^ "El sistema gráfico OpenGL: una especificación" (PDF) . 3.0. 23 de septiembre de 2008.
- ^ "El sistema gráfico OpenGL: una especificación" (PDF) . 3.1. 28 de mayo de 2009.
- ^ "Sistema gráfico OpenGL: una especificación" (PDF) . 3.2 (Perfil principal). 7 de diciembre de 2009.
- ^ a b c "Khronos lanza una aceleración gráfica multiplataforma de vanguardia con OpenGL 4.0" . 11 de marzo de 2010.
- ^ "Khronos impulsa la evolución de los gráficos 3D multiplataforma con el lanzamiento de la especificación OpenGL 4.1" . 26 de julio de 2010.
- ^ a b "Khronos enriquece los gráficos 3D multiplataforma con el lanzamiento de la especificación OpenGL 4.2" . The Khronos Group . 8 de agosto de 2011. Archivado del original el 9 de agosto de 2011. Recuperado el 8 de agosto de 2011 .
- ^ a b "Khronos publica la especificación OpenGL 4.3 con mejoras importantes" . 6 de agosto de 2012. Archivado del original el 10 de agosto de 2012. Recuperado el 7 de agosto de 2012 .
- ^ "Khronos publica la especificación OpenGL 4.3 con importantes mejoras" . 6 de agosto de 2012.
- ^ a b c "Khronos publica la especificación OpenGL 4.4" . 22 de julio de 2013. Archivado del original el 29 de octubre de 2013. Recuperado el 23 de julio de 2013 .
- ^ a b "Khronos Group anuncia avances clave en el ecosistema OpenGL – Comunicado de prensa de Khronos Group" . The Khronos Group Inc. 10 de agosto de 2014. Archivado del original el 12 de agosto de 2014. Recuperado el 17 de abril de 2015 .
- ^ a b Kessenich, John; Baldwin, Dave. "El lenguaje de sombreado OpenGL, versión 4.60.7" . The Khronos Group Inc. Recuperado el 21 de agosto de 2019 .
- ^ Abi-Chahla, Fedy (16 de septiembre de 2008). "OpenGL 3 (3DLabs y la evolución de OpenGL)" . Tom's Hardware . Recuperado el 24 de octubre de 2010 .
- ^ "El sistema gráfico OpenGL: una especificación" (PDF) . 2.0. 22 de octubre de 2004.
- ^ "OpenGL ARB anuncia una actualización de OpenGL 3.0" . 30 de octubre de 2007. Archivado del original el 7 de noviembre de 2007. Consultado el 31 de octubre de 2007 .
- ^ "Se lanza OpenGL 3.0, los desarrolladores están furiosos – Slashdot" . Tech.slashdot.org. 11 de agosto de 2008. Consultado el 7 de noviembre de 2012 .
- ^ "OpenGL BOF fue bien recibido, no se vieron horcas" .
- ^ "El estándar de la industria para gráficos de alto rendimiento" . OpenGL. 18 de agosto de 2008. Consultado el 31 de julio de 2017 .
- ^ "NVIDIA ya proporciona un controlador OpenGL 3.0 anticipado" .
- ^ a b c d "Controlador de gráficos Intel Iris y HD para Windows 7/8/8.1 de 64 bits" . Centro de descargas de Intel . Archivado del original el 2 de abril de 2015.
- ^ "Tamaño máximo de textura esperado - Programación de gráficos y GPU" . GameDev.net .
- ^ "OpenGL 4.1 (Core Profile) - 25 de julio de 2010" (PDF) . Khronos.org .
- ^ "Historia de OpenGL - Wiki de OpenGL" . Khronos.org .
- ^ "Se detallan los procesadores Intel Skylake-S y los chipsets de la serie 100 en una aparente filtración" . NDTV Gadgets . 17 de abril de 2015.
- ^ a b c Larabel, Michael (31 de julio de 2017). "NVIDIA lanza el controlador Linux 381.26.11 con soporte para OpenGL 4.6" . Phoronix .
- ^ "Se lanza OpenGL 4.5, con una de las mejores características de Direct3D" . Ars Technica . 11 de agosto de 2014. Consultado el 17 de abril de 2015 .
- ^ "SG4121: Actualización de OpenGL para GPU NVIDIA" . Ustream . Archivado del original el 17 de mayo de 2015. Recuperado el 17 de abril de 2015 .
- ^ Kilgard, Mark (12 de agosto de 2014). "Actualización de OpenGL 4.5 para GPU NVIDIA" . Recuperado el 17 de abril de 2015 .
- ^ Larabel, Michael (21 de agosto de 2019). "El controlador OpenGL de Linux de Intel ahora tiene soporte para OpenGL 4.6 para Mesa 19.2" . Phoronix .
- ^ Larabel, Michael (27 de noviembre de 2019). "El controlador RadeonSI de AMD finalmente habilita OpenGL 4.6" . Phoronix .
- ^ "AMD Adrenalin 18.4.1 Graphics Driver Released (OpenGL 4.6, Vulkan 1.1.70) – Geeks3D" . www.geeks3d.com . Mayo de 2018. Archivado del original el 11 de mayo de 2018. Recuperado el 10 de mayo de 2018 .
- ^ "Notas de la versión 18.4.1 de Radeon Software Adrenalin Edition" . support.amd.com . Consultado el 10 de mayo de 2018 .
- ^ "Lanzamiento del controlador de gráficos Intel 25.20.100.6861 (OpenGL 4.6 + Vulkan 1.1.103) | Geeks3D" . 16 de mayo de 2019. Consultado el 16 de mayo de 2019 .
- ^ "Controladores DCH de Windows 10" . Centro de descargas de Intel . Consultado el 21 de agosto de 2019 .
- ^ "Lanzamiento del controlador de juegos NVIDIA R387.92 WHQL GeForce (OpenGL 4.6 + Vulkan 1.0.56) - Geeks3D" . www.geeks3d.com . 11 de octubre de 2017 . Consultado el 4 de mayo de 2026 .
- ^ "Documentación para desarrolladores de Apple" . developer.apple.com .
- ^ Cunningham, Andrew (7 de octubre de 2019). "macOS 10.15 Catalina: La reseña de Ars Technica" . Ars Technica .
- ^ Axon, Samuel (6 de junio de 2018). "El fin del soporte para OpenGL, además de otras actualizaciones que Apple no compartió en la presentación" . Ars Technica . Recuperado el 19 de octubre de 2020 .
- ^ "Vulkan y OpenGL ES más rápido en iOS y macOS" . Molten . Consultado el 19 de octubre de 2020 .
- ^ Los autores del proyecto ANGLE (14 de octubre de 2020). "google/angle: Una implementación compatible de OpenGL ES para Windows, Mac, Linux, iOS y Android" . GitHub . Consultado el 17 de diciembre de 2020 .
- ^ "Zink" . La documentación más reciente de la biblioteca de gráficos 3D Mesa .
- ^ "Estado de Windows en Arm64: una perspectiva de alto nivel" . Chips and Cheese . 13 de marzo de 2022. Consultado el 23 de octubre de 2023 .
- ^ "Introducción a OpenCL y OpenGL en DirectX" . Collabora | Consultoría de código abierto . Consultado el 23 de octubre de 2023 .
- ^ "Análisis en profundidad de OpenGL sobre la superposición de DirectX" . Collabora | Consultoría de código abierto . Consultado el 23 de octubre de 2023 .
- ^ Dingman, Hayden (3 de marzo de 2015). "Conoce Vulkan, la potente tecnología de juegos independiente de la plataforma que apunta a DirectX 12" . PC World . Consultado el 3 de marzo de 2015 .
- ^ Bright, Peter (3 de marzo de 2015). "Khronos presenta Vulkan: OpenGL creado para sistemas modernos" . Ars Technica . Consultado el 3 de marzo de 2015 .
- ^ "Khronos anuncia la iniciativa OpenGL de próxima generación" . AnandTech . Consultado el 20 de agosto de 2014 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ^ Anthony, Sebastian (11 de agosto de 2014). "Lanzamiento de OpenGL 4.5, presentación de OpenGL de próxima generación: el asesino multiplataforma de Mantle, competidor de DX12" . ExtremeTech . Archivado del original el 18 de agosto de 2014. Recuperado el 20 de agosto de 2014 .
- ^ "Khronos publica sus diapositivas sobre OpenGL-Next" . Phoronix. Archivado del original el 23 de agosto de 2014. Consultado el 22 de agosto de 2014 .
Lecturas adicionales
- Shreiner, Dave; Sellers, Graham; et al. (30 de marzo de 2013). Guía de programación de OpenGL: La guía oficial para aprender OpenGL . Versión 4.3 (8.ª ed.). Addison-Wesley. ISBN 978-0-321-77303-6.
- Sellers, Graham; Wright, Richard S.; Haemel, Nicholas (31 de julio de 2013). OpenGL SuperBible: Tutorial y referencia completos (6.ª ed.). Addison-Wesley. ISBN 978-0-321-90294-8.
- Rost, Randi J. (30 de julio de 2009). Lenguaje de sombreado OpenGL (3.ª ed.). Addison-Wesley. ISBN 978-0-321-63763-5.
- Lengyel, Eric (2003). Guía de extensiones de OpenGL . Charles River Media. ISBN 1-58450-294-0.
- OpenGL Architecture Review Board ; Shreiner, Dave (2004). Manual de referencia de OpenGL: El documento de referencia oficial de OpenGL . Versión 1.4. Addison-Wesley. ISBN 0-321-17383-X.
- OpenGL Architecture Review Board ; Shreiner, Dave; et al. (2006). OpenGL Programming Guide: The Official Guide to Learning OpenGL . Versión 2 (5.ª ed.). Addison-Wesley. ISBN 0-321-33573-2.
Enlaces externos
- Sitio web oficial

- Descripción general de OpenGL y la wiki de OpenGL.org con más información sobre las vinculaciones de lenguaje de OpenGL.
- Sitio web de OpenGL de SGI
- Grupo Khronos, Inc.
- [1] Conferencias sobre OpenGL impartidas por Tom Duff (Pixar Animation) y George Ledin Jr (Universidad Estatal de Sonoma)
- OpenGL
- Software de 1992
- API de gráficos 3D
- Interfaces de programación de aplicaciones
- Software multiplataforma
- Bibliotecas gráficas
- Estándares gráficos
- desarrollo de videojuegos
- Software para el desarrollo de videojuegos
- Realidad virtual
- Realidad aumentada
- API de macOS