Diferencia entre revisiones de «El Lenguaje OpenGL»

m (Texto reemplazado: «<div align="justify">» por «»)
 
(No se muestran 5 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
<div align="justify">
 
{{Aplicación|nombre=OpenGL|logo=Lenguaje_OpenGL.jpg|descripcion=Lenguaje de Programación|creador=|fecha_de_creacion=|sitio_web=}}'''El lenguaje OpenGL''''''.''' Es una librería escrita en [[Lenguaje de Programación C|C]] que permite la manipulación de gráficos 3D a todos los niveles. Esta librería se concibió para [[Lenguaje de Programación|programar]] en máquinas nativas Silicón Graphics bajo el nombre de GL (Graphics Library). Posteriormente se consideró la posibilidad de extenderla a cualquier tipo de [[Plataformas Educativas|plataforma]] y asegura así su portabilidad y extensibilidad de uso con lo que se llegó al término Open Graphics Library, es decir, OpenGL.
 
  
 +
{{Ficha Software|nombre=OpenGL|imagen=Lenguaje_OpenGL.jpg|descripción=Lenguaje de Programación|creador=|fecha_de_creacion=|web=}}'''El lenguaje OpenGL.''' Es una librería escrita en [[Lenguaje de Programación C|C]] que permite la manipulación de gráficos 3D a todos los niveles. Esta librería se concibió para [[Lenguaje de Programación|programar]] en máquinas nativas Silicón Graphics bajo el nombre de GL (Graphics Library). Posteriormente se consideró la posibilidad de extenderla a cualquier tipo de [[Plataformas Educativas|plataforma]] y asegura así su portabilidad y extensibilidad de uso con lo que se llegó al término Open Graphics Library, es decir, OpenGL.
 +
 +
<br>
  
<div align="justify">
 
 
== Donde se puede usar  ==
 
== Donde se puede usar  ==
  
Línea 12: Línea 12:
 
Se divide en tres partes funcionales:  
 
Se divide en tres partes funcionales:  
  
#La librería OpenGL, que proporciona todo lo necesario para acceder a las funciones de dibujado de OpenGL.  
+
*La librería OpenGL, que proporciona todo lo necesario para acceder a las funciones de dibujado de OpenGL.  
#La librería GLU (OpenGL Utility Library), una librería de utilidades que proporciona acceso rápido a algunas de las funciones más comunes de OpenGL, a través de la ejecución de comandos de más bajo nivel pertenecientes a la librería OpenGL propiamente dicha.  
+
*La librería GLU (OpenGL Utility Library), una librería de utilidades que proporciona acceso rápido a algunas de las funciones más comunes de OpenGL, a través de la ejecución de comandos de más bajo nivel pertenecientes a la librería OpenGL propiamente dicha.  
#GL X (OpenGL Extensión to the X [[Windows|Windows]] System) proporciona un acceso a OpenGL para poder interactuar con un [[Sistema|sistema]] de [[Ventanas de Windows|ventanas]] X [[Windows|Windows]], y está incluido en la propia implementación de OpenGL (su equivalente en [[Windows|Windows]] es la librería WGL, externa a la implementación de OpenGL).
+
*GL X (OpenGL Extensión to the X [[Windows|Windows]] System) proporciona un acceso a OpenGL para poder interactuar con un [[Sistema|sistema]] de [[Ventanas de Windows|ventanas]] X [[Windows|Windows]], y está incluido en la propia implementación de OpenGL (su equivalente en [[Windows|Windows]] es la librería WGL, externa a la implementación de OpenGL).
  
 
Además de estas tres librerías, la librería GLUT (OpenGL Utility Toolkit) proporciona una interfaz independiente de [[Plataformas Educativas|plataforma]] para crear aplicaciones de [[Ventanas de Windows|ventanas]] totalmente portables.  
 
Además de estas tres librerías, la librería GLUT (OpenGL Utility Toolkit) proporciona una interfaz independiente de [[Plataformas Educativas|plataforma]] para crear aplicaciones de [[Ventanas de Windows|ventanas]] totalmente portables.  
  
== OpenGL como una maquina de estados  ==
+
== OpenGL como una máquina de estados  ==
  
OpenGL, es una librería que trabaja como una máquina de estados. Esto es algo que oiremos hasta la saciedad al [[Lenguaje de Programación|programar]] con OpenGL ¿pero qué significa? La utilización de OpenGL consiste en activar y desactivar opciones, y realizar ciertas acciones, que tendrán como fruto una representación en pantalla (o no) de una serie de datos, dependiendo en el estado en que nos encontremos. Así, no será lo mismo dibujar un triángulo y activar una textura, que activar una textura y dibujar un triangulo.  
+
OpenGL, es una librería que trabaja como una máquina de estados, esto es algo que oiremos hasta la saciedad al [[Lenguaje de Programación|programar]] con OpenGL ¿pero qué significa? La utilización de OpenGL consiste en activar y desactivar opciones, y realizar ciertas acciones, que tendrán como fruto una representación en pantalla (o no) de una serie de datos, dependiendo en el estado en que nos encontremos. Así, no será lo mismo dibujar un [[Triángulo|triángulo y]] activar una textura, que activar una textura y dibujar un[[Triángulo|triángulo]].  
  
 
== Procedimientos para dibujar  ==
 
== Procedimientos para dibujar  ==
Línea 26: Línea 26:
 
En OpenGL, el orden de las acciones resulta crítico en la mayoría de las ocasiones, de igual manera, no será lo mismo trasladar y rotar algo. De este modo, de manera muy abstracta, la manera de dibujar algo en OpenGL suele ser a siguiente:  
 
En OpenGL, el orden de las acciones resulta crítico en la mayoría de las ocasiones, de igual manera, no será lo mismo trasladar y rotar algo. De este modo, de manera muy abstracta, la manera de dibujar algo en OpenGL suele ser a siguiente:  
  
#Activar todas las opciones que van a ser persistentes a la escena (ponemos la cámara, activamos la iluminación global).  
+
*Activar todas las opciones que van a ser persistentes a la escena (ponemos la cámara, activamos la iluminación global).  
#Activar las opciones que establecen el estado de un objeto específico (su posición en el espacio, su textura, etc).  
+
*Activar las opciones que establecen el estado de un objeto específico (su posición en el espacio, su textura, etc).  
#Dibujar el objeto.  
+
*Dibujar el objeto.  
#Desactivar las opciones propias de ese objeto (volver a la posición original, desactivar su textura).  
+
*Desactivar las opciones propias de ese objeto (volver a la posición original, desactivar su textura).  
#Volver al punto 2 hasta haber dibujado todos los objetos.  
+
*Volver al punto 2 hasta haber dibujado todos los objetos.  
#Estas operaciones pueden agruparse en jerarquías, lo que proporciona una gran potencia y flexibilidad a la hora de [[Lenguaje de Programación|programar]].
+
*Estas operaciones pueden agruparse en jerarquías, lo que proporciona una gran potencia y flexibilidad a la hora de [[Lenguaje de Programación|programar]].
  
 
== Fuentes  ==
 
== Fuentes  ==

última versión al 08:23 7 ago 2019

OpenGL
Información sobre la plantilla
Lenguaje OpenGL.jpg
Lenguaje de Programación

El lenguaje OpenGL. Es una librería escrita en C que permite la manipulación de gráficos 3D a todos los niveles. Esta librería se concibió para programar en máquinas nativas Silicón Graphics bajo el nombre de GL (Graphics Library). Posteriormente se consideró la posibilidad de extenderla a cualquier tipo de plataforma y asegura así su portabilidad y extensibilidad de uso con lo que se llegó al término Open Graphics Library, es decir, OpenGL.


Donde se puede usar

Esta librería, puede usarse bajo todo tipo de sistemas operativos e incluso usando una gran variedad de lenguajes de programación. Podemos encontrar variantes de OpenGL para Windows 95/NT, Unix, Linux, Ins, Solares, Delphi, Java e incluso Visual Basic. No obstante, su uso más extenso suele ser el lenguaje C ó C++. Actualmente es una de las tecnologías más empleadas en el diseño de aplicaciones 3D, hasta su última versión.

Partes Funcionales

Se divide en tres partes funcionales:

  • La librería OpenGL, que proporciona todo lo necesario para acceder a las funciones de dibujado de OpenGL.
  • La librería GLU (OpenGL Utility Library), una librería de utilidades que proporciona acceso rápido a algunas de las funciones más comunes de OpenGL, a través de la ejecución de comandos de más bajo nivel pertenecientes a la librería OpenGL propiamente dicha.
  • GL X (OpenGL Extensión to the X Windows System) proporciona un acceso a OpenGL para poder interactuar con un sistema de ventanas X Windows, y está incluido en la propia implementación de OpenGL (su equivalente en Windows es la librería WGL, externa a la implementación de OpenGL).

Además de estas tres librerías, la librería GLUT (OpenGL Utility Toolkit) proporciona una interfaz independiente de plataforma para crear aplicaciones de ventanas totalmente portables.

OpenGL como una máquina de estados

OpenGL, es una librería que trabaja como una máquina de estados, esto es algo que oiremos hasta la saciedad al programar con OpenGL ¿pero qué significa? La utilización de OpenGL consiste en activar y desactivar opciones, y realizar ciertas acciones, que tendrán como fruto una representación en pantalla (o no) de una serie de datos, dependiendo en el estado en que nos encontremos. Así, no será lo mismo dibujar un triángulo y activar una textura, que activar una textura y dibujar untriángulo.

Procedimientos para dibujar

En OpenGL, el orden de las acciones resulta crítico en la mayoría de las ocasiones, de igual manera, no será lo mismo trasladar y rotar algo. De este modo, de manera muy abstracta, la manera de dibujar algo en OpenGL suele ser a siguiente:

  • Activar todas las opciones que van a ser persistentes a la escena (ponemos la cámara, activamos la iluminación global).
  • Activar las opciones que establecen el estado de un objeto específico (su posición en el espacio, su textura, etc).
  • Dibujar el objeto.
  • Desactivar las opciones propias de ese objeto (volver a la posición original, desactivar su textura).
  • Volver al punto 2 hasta haber dibujado todos los objetos.
  • Estas operaciones pueden agruparse en jerarquías, lo que proporciona una gran potencia y flexibilidad a la hora de programar.

Fuentes

  • Kilgard, M. J. The OpenGL Utility Toolkit Programming Interface, 1996.
  • Naider Jackie, T.D, M.W., OpenGL Programming Guide or the Red Book, Addison –Wesley, 1994.