Exportador de escenas desde Blender y cargador de escenas en OPENGL. Integración con ELASTICFEM
Fecha
2010-09
Autores
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Rey Juan Carlos
Resumen
La motivación del presente Proyecto de Fin de Carrera es disponer de un proceso que permita, de
forma sencilla, crear escenas tridimensionales complejas para un simulador basado en leyes físicas.
El Grupo de Modelado y Realidad Virtual de la Universidad Rey Juan Carlos dispone de un motor
de físicas, llamado ElasticFEM, que permite simular leyes físicas en escenas tridimensionales
mediante ordenador. El problema está en cómo crear las escenas tridimensionales que se simularán
con dicho motor. Lo ideal sería disponer de una interfaz gráfica para crear las escenas, por lo que
hay dos posibles alternativas: desarrollar un programa que tenga dicha interfaz gráfica ó utilizar un
programa ya existente que lo haga. En este proyecto se eligió la segunda opción, de forma que se
utiliza el programa Blender para la creación de las escenas tridimensionales.
Así, este Proyecto de Fin de Carrera consiste en la realización, por una parte, de un script que
exporte escenas tridimensionales realizadas cómodamente con el programa externo Blender y, por
otra parte, de un programa que cargue dichas escenas en OpenGL y las renderice en pantalla (este
programa permite comprobar fácilmente que las escenas han sido exportadas correctamente). Y,
finalmente, la carga de dichas escenas se integra con ElasticFEM para poder simular físicas.
Esta memoria está estructurada en varios apartados. El primero de ellos es una breve introducción a
la situación actual de los gráficos por ordenador, junto a los objetivos de este proyecto. A
continuación, en el segundo apartado se presentan una serie de conceptos básicos relacionados con
la realidad virtual y los gráficos por ordenador. En el tercer apartado, se describen las herramientas
y lenguajes informáticos utilizados durante el desarrollo del proyecto, incluyendo las
especificaciones de todos los formatos de los ficheros de texto empleados.
El cuarto apartado está dedicado al script exportador, en él se detallan todas las decisiones tomadas
en su desarrollo (requisitos, análisis, diseño, implementación y pruebas) y cómo éstas influyen en
los ficheros de texto generados.
En el quinto apartado se presenta el programa cargador, describiendo cómo se organiza el código
fuente desarrollado desde el punto de vista de directorios y ficheros. También se incluyen los
diagramas UML de las clases principales del programa, así como de las máquinas de estados finitos
usadas para parsear los ficheros de texto cargados. Al igual que en el apartado anterior, se detallan
todas las decisiones tomadas en el desarrollo del programa.
En el sexto apartado se explica cómo se realizó la integración del programa cargador en el motor de
físicas ElasticFEM.
El séptimo apartado es una recopilación de ejemplos que muestran los resultados conseguidos con
este proyecto, presentándose varias escenas 3D de diferentes características que se han elaborado
con el programa Blender y que han sido exportadas y cargadas con el software desarrollado. Se
incluyen tanto renders obtenidos directamente con el programa Blender como los capturados del
programa cargador desarrollado para que se puedan comparar los resultados finales. También se
detallan los diferentes tiempos de exportación y carga de las escenas 3D junto a las características
de las mismas, que sirven para cuantificar su complejidad.
El octavo apartado presenta las conclusiones del proyecto y el noveno apartado los posibles trabajos
futuros para ampliarlo.
El décimo apartado es una lista de siglas y acrónimos usados a lo largo de todo el documento, y el
último apartado es una lista de las referencias más importantes usadas durante la elaboración de
todo el proyecto.
Descripción
Proyecto Fin de Carrera leído en la Universidad Rey Juan Carlos en el curso académico 2009/2010. Tutores del Proyecto: Jorge Gascón Pérez y Miguel Ángel Otaduy
Palabras clave
Citación
Colecciones
Excepto si se señala otra cosa, la licencia del ítem se describe como Atribución-NoComercial-SinDerivadas 3.0 España