Asistente de aplicaciones OpenGL/GLUT

Francisco Abad, Universidad Politécnica de Valencia
fjabad (arroba) dsic.upv.es

El asistente de generación de aplicaciones OpenGL/GLUT permite construir rápidamente aplicaciones gráficas interactivas, usando el soporte de GLUT.

El usuario puede seleccionar la funcionalidad que quiere utilizar en su programa, y el asistente creará el código fuente de un programa completo con dicha funcionalidad.

Este documento describe cómo utilizar el asistente.


Descarga

A continuación tienes los enlaces para el programa y para la plantilla. Tendrás que descomprimir el programa y, a continuación, copiar la plantilla en el mismo directorio (para actualizar la plantilla sólo tienes que bajarte la nueva versión y copiarla sobre la antigua).


Archivo Versión  (fecha)
glutTemplate.zip (Windows) 0.12 (14/oct/2008)
template.glut 0.1.11 (7/oct/2009)
glutTemplate para Linux (versión obsoleta) 0.1L (10/nov/2006)

Instalación

Sólo tienes que descomprimir el archivo .zip dentro de un directorio. A continuación, baja la última versión de la plantilla (template.glut) y cópiala sobre el mismo directorio.

Ejecución

Ejecuta la aplicación mediante el archivo gluttemplate.bat. Aparecerá una ventana como la que se muestra a continuación:




La funcionalidad del programa está dividida en cuatro apartados:

  1. General
  2. OpenGL
  3. Interacción
  4. Escena
En los siguientes apartados se describen las opciones de cada sección.

General

La figura anterior muestra las opciones disponibles en este apartado.
En este apartado se podrá seleccionar el título de la ventana, el modo de visualización de la aplicación (en una ventana o a pantalla completa), el tamaño de la ventana, si se desea ocultar la consola de comandos, y si se necesita soporte de animación (con o sin cálculo automático de los frames por segundo). También está disponible la opción de mostrar el valor de color del píxel que se encuentra bajo el cursor (sólo en modo ventana).

OpenGL

La figura siguiente muestra las opciones disponibles en este apartado:



En este apartado se puede activar o desactivar: el uso de doble buffer (para animación), iluminación, Z-buffer, back-face culling, transparencia, o el uso de GLEW para acceder a las últimas características de OpenGL (debe estar instalado en el sistema). En el caso de usar iluminación, se puede incluir una biblioteca de materiales comunes.

También se puede activar el uso de texturas (incluyendo mipmapping, y uso de color secundario). Para cargar las texturas hay varias opciones: usar ficheros BMP con imágenes de 8 o 24 bits sin comprimir, usar la biblioteca ImageMagick (ya debe estar instalada en el sistema), o crearla en memoria.

Por último, también se puede seleccionar el tipo de cámara a utilizar.

Interacción

En este apartado, mostrado en la siguiente figura, se puede añadir interacción al programa generado:



Se puede añadir soporte de menú, y seleccionar entre varios tipos de interacción (o cómo mover la cámara dentro de la escena): andar, examinar el objeto, etc.
En el caso de seleccionar el modo de Examinar el objeto, se puede usar inercia, para dar más interactividad a la aplicación.

Escena

El último apartado permite insertar un objeto en la escena, como muestra la siguiente figura:



También se puede seleccionar cómo mostrar los objetos: en modo alámbrico o en modo sólido. Si se selecciona el modo sólido, entonces se permite elegir entre sombreado constante o sombreado de Gouraud.
Las dos últimas opciones permiten que el objeto insertado rote sobre sí mismo, o mostrar los ejes coordenados en la escena.


Generación de la plantilla

Una vez que se han seleccionado las opciones correspondientes, al pulsar el botón de Aceptar, el programa generará en el directorio donde se encuentra el programa el fichero template.glut.cpp.
Si el fichero existiera, entonces iría creando los ficheros con nombre template.glut1.cpp, template.glut2.cpp, etc.

Compilar la plantilla

La plantilla es un programa completo listo para compilar. Para ello, crea una aplicación tipo consola vacía, añade al proyecto el fichero generado en la etapa anterior y compila. Obtendrás el programa con las características seleccionadas, que podrás modificar a tu gusto.
El código fuente generado está extensamente documentado, y en las zonas donde tienes que añadir código aparece un comentario del tipo:

/* TODO: Modifica esta función para dibujar tu escena */

Problemas, preguntas, etc.

Si te surge algún problema con el generador de plantillas, detectas errores o quieres proponer algún cambio, ponte en contacto conmigo mediante correo electrónico: fjabad (arroba) dsic.upv.es
También ten en cuenta que:


Paco Abad,
Valencia, Febrero 2008.