OpenGL

OpenGL (Open Graphics Library) es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3DLa interfaz consiste en más de 250 funciones diferentes que pueden usarse para dibujar escenas tridimensionales complejas a partir de primitivas geométricas simples, tales como puntos, líneas y triángulos.

Origen


Fue desarrollada originalmente por Silicon Graphics Inc. (SGI) en 19922​ y se usa ampliamente en CADrealidad virtual, representación científica, visualización de información y simulación de vuelo. También se usa en desarrollo de videojuegos, donde compite con Direct3D en plataformas Microsoft Windows.


Caracteristicas




  • OpenGL es una implementación de la cadena de reproducción (``rendering pipeline'') que realiza la tarea de visualizar un modelo de un mundo virtual en una pantalla.
  • OpenGL trabaja en el espacio tridimensional
  •  es independiente de la plataforma
  • aunque originalmente fué desarrollado para el lenguaje de programación C, existe OpenGL para varios lenguajes
  • OpenGL está diseñado para que diferentes partes estén realizadas directamente en hardware (especialmente en sistemas de Silicon Graphics)
  • Se puede modificar el estado y el flujo de datos en la cadena de reproducción (``rendering pipeline'') de OpenGL
  • OpenGL dispone de diferentes tipos de objetos simples (p.e., puntos, líneas y polígonos), los cuales pueden tener varias aparencias (p.e., líneas interrumpidas o polígonos rellenados)
  • OpenGL permite el uso de texturas
  • OpenGL usa diferentes modos de visualizar entornos tridimensionales (p.e., alámbrico, ``flat shading'', ``Gouraud shading'')
  • Para usar OpenGL se necesita normalmente, además del compilador, unas librerías con funciones auxiliares que conectan OpenGL al sistema gráfico realmente usado
  • Dichas librerías ayudan en la implementación de animaciones simples.

    • Librerías


      • Librería auxiliar AUX (glaux): independiente de la plataforma, manejo de ventanas, manejo de eventos, objetos 3D.
      • Librería específica OpenGL (gl)
      • Librería de utilidades (glu): dibujo de esferas, discos, cilindros, rutinas de más alto nivel (proyecciones, teselación, rendering de superficies) etc.

      Ventajas

      OpenGL es una API de gráficos de plataforma cruzada, lo que significa que el mismo código se puede utilizar en múltiples tipos de sistemas operativos con cambios mínimos. OpenGL funciona en cualquier ordenador con capacidad de salida gráfica y no requiere descargas adicionales.


      Desventajas


      OpenGL se escribe en una especificación mantenida por la Junta de Revisión de la arquitectura OpenGL. Eso significa que el API es lenta en adoptar las nuevas características de las tarjetas gráficas, y no todos los efectos gráficos son compatibles con todas las tarjetas, de acuerdo con OpenGL.org.

      Usos e Importancia para la computación gráfica

      Cuando hablamos de computación gráfica nos referimos al campo de la informática visual, donde se utilizan computadoras para generar imágenes visuales y espaciales del mundo real.
      En el mercado existen 2 tecnologías más usadas para el desarrollo de aplicaciones gráficas ya sea para crear GUI, o Juegos súper complejos. Mencionadas aplicaciones son usadas por los sistemas operativos mayormente conocidos como son Windows, GNU/Linux y Mac.
      En el caso de Windows cuenta con su propia API de nombre DirectX que es basada en OPenGL; pero qué pasa con el resto de plataformas como crean los gráficos si mencionada API solo funciona en sus plataformas, pues déjame contarte que existe una potente librería que es la más usada por las grandes compañías que desarrollan aplicaciones CAD o Videojuegos entre otras aplicaciones. Esta librería recibe el nombre de OPenGL, en la cual puedes desarrollar para muchas plataformas incluyendo el mismo windows la usa para muchos de sus productos.

      Compatibilidad con otros programas

      Es compatible con prácticamente cualquier plataforma hardware así como con muchos lenguajes de programación (C,
      C++, Visual Basic, Visual Fortran, Java).

      0 comentarios:

      Publicar un comentario

      Datos personales