Introducción OpenGL

      No hay comentarios en Introducción OpenGL

Introducción OpenGl

OpenGL es una interfaz para hardware de gráficos. El GL significa Graphics Library. Proporciona comandos para especificar objetos geométricos en dos o tres dimensiones, y para controlar cómo se dibujan estos objetos en la pantalla. Los objetos, en este caso, son puntos, líneas, polígonos, imágenes y mapas de bits. En OpenGL se proporciona una biblioteca básica de funciones para especificar primitivas gráficas, atributos, transformaciones geométricas, transformaciones de visualización y muchas otras operaciones. Está diseñada para ser independiente del hardware, por tanto, muchas operaciones, tales como las subrutinas de entrada y salida, no están incluidas en  la biblioteca básica. Sin embargo, las subrutinas de entrada y salida y muchas funciones adicionales están disponibles en bibliotecas auxiliares que se han desarrollado para programas OpenGL.

Sintaxis básica de OpenGL

Los nombres de las funciones de la biblioteca básica de OpenGL  utiliza como prefijo gl.

glBegin, glClear, glCopyPixels, glPolygonMode

Todas las constantes comienzan con las letras GL en mayúsculas.

GL_2D, GL_RGB, GL_CCW, GWOLYGON, GL_AMB I ENT_AND_D IFFUSE

Las funciones de OpenGL también esperan tipos de datos específicos. Por ejemplo, GLbyte, GLshort, GLint, GLfloat, GLdouble, GLboolean.

A algunos argumentos de funciones de OpenGL se les puede asignar valores  empleando una matriz que enumera un conjunto de valores de datos. Esta opción se utiliza para especificar una lista de valores como un puntero a una matriz, en lugar de especificar ca da elemento de la lista explícitamente como un argumento. Un ejemplo típico del uso de esta opción es la especificación de los valores de las coordenadas xyz.

Bibliotecas relacionadas

Existe un gran número de bibliotecas relacionadas para la realización de operaciones especiales, además de la biblioteca básica de OpenGL. La utilidad GLU (OpenGL Utility) proporciona subrutinas para la configuración de las matrices de visualización y proyección, descripción de objetos complejos mediante líneas y aproximaciones poligonales, visualización de cuádricas y splines B empleando aproximaciones lineales,  procesamiento de operaciones de representación de superficies y otras tareas complejas. Toda implementación de OpenGL incluye la biblioteca GLU. Todos los nombres de las funciones de GLU comienzan con el prefijo glu. También existe un conjunto de herramientas orientadas a objetos basado en OpenGL, llamado Open Inventor que proporciona subrutinas y formas de objetos predefinidos para su uso en aplicaciones tridimensionales interactivas.

Para crear gráficos utilizando OpenGL, necesitamos en primer lugar configurar una ventana de visualización en nuestra pantalla de vídeo. Se trata simplemente de la zona rectangular de la pantalla en la que nuestra imagen se mostrará. No podemos crear directamente la ventana de visualización con las funciones de OpenGL básicas, ya que esta biblioteca contiene únicamente funciones gráficas independientes del dispositivo, y las operaciones de gestión de ventanas dependen de la computadora que estemos utilizando. Sin embargo, existen varias bibliotecas de sistema de ventanas que soportan las funciones de OpenGL en una gran variedad de máquinas. El kit de herramientas GLUT (OpenGL Utility Toolkit) proporciona una biblioteca de funciones para interactuar con cualquier sistema de ventanas. Las funciones de la biblioteca GLUT utilizan como prefijo glut. Esta biblioteca también contiene métodos para describir y representar superficies y curvas cuádricas.

Programación OpenGL en C++

OpenGL es compatible con principales sistemas operativos, funciona con cualquier sistema de ventanas, y se puede utilizar desde muchos lenguajes de programación. Ofrece total independencia de los protocolos de red y topologías. Además de la librería grafica OpenGL, vamos a usar la API “GLUT”, se trata de una librería diseñada para facilitar el manejo de ventanas y eventos en aplicaciones que pretenden mostrar una escena mediante OpenGL. GLUT (The OpenGL Utility Toolkit) es una interface de programa disponible en ANSI C y FORTRAN, pensado para permitir la portabilidad de las  aplicaciones  desarrolladas sobre GLUT a distintos sistemas operativos.

Nota Curiosa: GLUT permite la entrada de dispositivos como joystick u otros dispositivos analógicos de una manera sencilla de manejar, otra funcionalidad que aporta es la posibilidad de cambiar el modo de pantalla y disponer de la ventana a pantalla completa.

La librería GLUT soporta las siguientes funcionalidades:

  • Múltiples ventanas de renderización OpenGL
  • Proceso de eventos mediante llamadas callback (display e idle)
  • Dispositivos de entrada sofisticados
  • Control de timers y rutina idle
  • Permite un sencillo sistema de menús desplegables
  • Rutinas para generar varios objetos sólidos y alámbricos
  • Soporte para renderizar fuentes mediante trazados o bitmaps
  • Funciones para el manejo de ventanas.

CODE::BLOCKS

Code::Blocks es un entorno de desarrollo integrado libre, gratuito y multiplataforma para el desarrollo de programas en lenguaje C++.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *