robot de la enciclopedia para niños

OpenGL para niños

Enciclopedia para niños
Datos para niños
OpenGL ES 3
OpenGL logo.svg
Glxinfo with glxgears screenshot.png
Información general
Tipo de programa API
Autor Silicon Graphics
Desarrollador Khronos Group
Lanzamiento inicial 01 de 1992
Licencia Diversas
Información técnica
Programado en C
Versiones
Última versión estable 4.6 (31 de julio de 2017 (7 años, 11 meses y 5 días))
Lanzamientos
IRIS GL y PHIGS
OpenGL ES 3
Vulkan
Enlaces
Sitio web oficial

OpenGL (que significa Open Graphics Library, o "Biblioteca de Gráficos Abierta") es un conjunto de reglas y herramientas que los programadores usan para crear imágenes y animaciones en 2D y 3D en computadoras. Imagina que es un lenguaje especial que le dice a la tarjeta gráfica de tu computadora cómo dibujar cosas.

Fue creado en 1992 por una empresa llamada Silicon Graphics. Hoy en día, es muy usado en programas de diseño, realidad virtual, simuladores de vuelo y, por supuesto, en el desarrollo de videojuegos.

¿Qué es OpenGL?

OpenGL es como un manual de instrucciones muy detallado. Este manual describe más de 250 funciones diferentes. Estas funciones ayudan a dibujar escenas 3D complejas. Lo hacen a partir de formas muy simples, como puntos, líneas y triángulos.

Una de sus grandes ventajas es que funciona en muchos tipos de computadoras. No importa si usas Mac OS, Microsoft Windows, GNU/Linux o una PlayStation 4. OpenGL permite que los programas de gráficos funcionen bien en todas ellas.

¿Cómo funciona OpenGL?

OpenGL es una especificación. Esto significa que es un documento que explica cómo deben funcionar ciertas herramientas. Los fabricantes de tarjetas gráficas usan esta especificación. Con ella, crean programas que se ajustan a lo que OpenGL pide. Estos programas aprovechan la potencia de la tarjeta gráfica para dibujar más rápido.

Existen versiones de OpenGL que funcionan incluso sin una tarjeta gráfica especial. Un ejemplo es Mesa 3D, que es un programa de código abierto. Permite que las aplicaciones que usan OpenGL funcionen en cualquier computadora.

El proceso de dibujo (Pipeline Gráfica)

El trabajo principal de OpenGL es tomar formas básicas. Estas formas pueden ser puntos, líneas o polígonos. Luego, las convierte en los pequeños puntos de color que ves en la pantalla, llamados píxeles.

Este proceso se realiza en varias etapas, como una cadena de montaje. A esta cadena se le llama "Máquina de estados de OpenGL". La mayoría de las instrucciones de OpenGL le dicen a esta máquina qué dibujar. También le dicen cómo debe procesar esas formas.

Desde la versión 2.0, algunas partes de este proceso se pueden programar. Esto se hace usando un lenguaje especial llamado GLSL. Esto da a los programadores mucho más control sobre cómo se ven los gráficos.

El proceso básico de dibujo en OpenGL incluye:

  • Convertir formas complejas en puntos, líneas y polígonos.
  • Calcular cómo la luz afecta a los objetos.
  • Decidir qué partes de la escena son visibles y cuáles no.
  • Transformar la información en píxeles.
  • Aplicar texturas y colores a los píxeles.
  • Finalmente, mostrar la imagen en la pantalla.
Archivo:Pipeline OpenGL
Proceso en la pipeline de gráficos.

Historia de OpenGL

En los años 80, crear programas gráficos era difícil. Cada tipo de computadora tenía su propia forma de dibujar. Los programadores tenían que escribir código diferente para cada una. Esto era muy costoso y lento.

De IRIS GL a un estándar abierto

A principios de los años 90, Silicon Graphics (SGI) era líder en gráficos 3D. Tenían una herramienta llamada IRIS GL. Era muy buena y fácil de usar. Otras empresas empezaron a crear sus propias herramientas. Para mantener su liderazgo, SGI decidió hacer IRIS GL un estándar abierto.

Pero IRIS GL tenía problemas de licencias. Además, incluía funciones que no eran solo de gráficos, como el manejo del teclado o el ratón. Así que SGI creó algo nuevo: OpenGL.

Con OpenGL, se lograron cosas importantes:

  • Se creó una forma estándar de hablar con el hardware gráfico.
  • Los fabricantes de hardware se encargaron de crear las herramientas necesarias.
  • Las funciones de ventana (como abrir y cerrar programas) se dejaron al sistema operativo.

Esto hizo que fuera mucho más fácil para los programadores crear juegos y aplicaciones gráficas. Podían escribir un solo código que funcionara en muchas computadoras diferentes.

La evolución de OpenGL

En 1992, SGI formó el OpenGL Architecture Review Board (ARB). Este grupo de empresas se encargó de mantener y mejorar OpenGL. OpenGL podía simular funciones que el hardware no soportaba. Esto permitía que las aplicaciones con gráficos avanzados funcionaran en computadoras menos potentes.

Con el tiempo, el control de OpenGL pasó al Khronos Group en 2006. Este grupo sigue mejorando OpenGL y lanzando nuevas versiones. Muchas empresas importantes, como fabricantes de tarjetas gráficas y sistemas operativos, participan en estas decisiones.

Además de las funciones principales, los fabricantes pueden añadir "extensiones". Estas son funciones extra que aprovechan las capacidades especiales de sus tarjetas gráficas. Esto hace que OpenGL sea muy flexible.

Versiones de OpenGL

OpenGL ha tenido muchas versiones a lo largo de los años. Cada nueva versión añade mejoras y nuevas características.

Novedades importantes

  • OpenGL 1.0 (1992): La primera versión.
  • OpenGL 1.1 (1997): Mejoró el soporte para texturas (imágenes que cubren los objetos 3D).
  • OpenGL 1.2.1 (1998): Añadió "multi-textura", permitiendo combinar varias texturas en un solo píxel.
  • OpenGL 1.5 (2003): Introdujo los VBOs (Vertex Buffer Objects), que ayudan a dibujar objetos más rápido.
  • OpenGL 2.0 (2004): Una de las versiones más importantes. Añadió los "shaders" programables. Los shaders son pequeños programas que controlan cómo se ven los vértices (puntos de los objetos) y los fragmentos (píxeles). Esto dio a los programadores un control increíble sobre los efectos visuales.
  • OpenGL 3.0 (2008): Permitió a los programadores simplificar el código y usar nuevas técnicas de renderizado.
  • OpenGL 4.0 (2010): Introdujo el "teselado", que permite crear objetos con mucho detalle de forma eficiente. También mejoró el rendimiento y la calidad de los gráficos.
  • OpenGL 4.6 (2017): La versión más reciente. Mejora el rendimiento y añade más herramientas para los desarrolladores.

Extensiones de OpenGL

Los fabricantes de tarjetas gráficas pueden añadir funciones extra a OpenGL. A estas funciones se les llama "extensiones". Las extensiones permiten usar las últimas tecnologías de hardware.

Si varios fabricantes están de acuerdo en una extensión, se convierte en una extensión "EXT". Si el grupo que gestiona OpenGL (el ARB) la adopta, se convierte en una extensión "ARB". Algunas extensiones ARB se vuelven tan importantes que se incluyen en las versiones principales de OpenGL.

Antes de usar una extensión, los programas deben verificar si está disponible. Hay bibliotecas como GLEW que facilitan este proceso.

¿Qué es Vulkan?

Vulkan es el sucesor de OpenGL. Fue lanzado en 2016. Es una nueva forma de crear gráficos que es más moderna y eficiente. Vulkan no es compatible con las versiones anteriores de OpenGL. Fue diseñado para dar a los programadores un control aún mayor sobre la tarjeta gráfica.

Herramientas útiles para OpenGL

Existen otras bibliotecas que ayudan a los programadores a usar OpenGL:

  • GLU: Ofrece funciones para dibujar objetos más complejos, como esferas o superficies curvas.
  • GLUT: Ayuda a crear ventanas, manejar el teclado y el ratón en diferentes sistemas operativos.
  • GLUI: Permite añadir botones, casillas de verificación y otros elementos de interfaz de usuario a las aplicaciones OpenGL.

¿Quiénes apoyan OpenGL?

El Khronos Group es el grupo de empresas que se encarga de OpenGL. Algunos de sus miembros importantes son:

Estas empresas trabajan juntas para asegurar que OpenGL siga siendo una herramienta poderosa y actualizada para crear gráficos.

Galería de imágenes

Véase también

  • GLSL - El lenguaje de programación para los "shaders" de OpenGL.
  • OpenGL ES - Una versión de OpenGL para dispositivos más pequeños, como teléfonos y tabletas.
  • WebGL - Permite crear gráficos 3D en navegadores web.
  • Vulkan - El sucesor de OpenGL.
  • Mesa 3D - Una implementación de código abierto de OpenGL.
kids search engine
OpenGL para Niños. Enciclopedia Kiddle.