herramientas de software libre para el desarrollo de...

61
II Xornadas de informática gráfica e software libre. FIC 2007 Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes Herramientas de software libre para el desarrollo de aplicaciones de visualización 3D en tiempo real Antonio Seoane ([email protected])

Upload: others

Post on 14-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de software libre para el desarrollo de aplicaciones de visualización 3D en tiempo real

Antonio Seoane ([email protected])

Page 2: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Contenido

Introducción

Herramientas de desarrollo de aplicaciones 3D– Frameworks– Scenegraphs– Motores gráficos

Page 3: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción

• Visualización en tiempo real:

Implica generar al menos 15 imágenes por segundo

Permite la interacción con el usuario

• Visualización 3D en tiempo real:

Permite el desarrollo de nuevos tipos de aplicaciones y ofrece muchas ventajas: mayor realismo, mejor visualización, etc.

Campos de aplicación:• Videjuegos: mercado de gran importancia en el sector del entretenimiento• Simulación y entrenamiento• Educación o divulgación• Visualización científica: p.e. en medicina• Etc.

Page 4: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción

¿Que software que interviene o necesitamos en el desarrollo de aplicaciones 3D?

Page 5: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:Sistema Operativo

Sistema Operativo

Sistema operativo

Page 6: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:Sistema Operativo

• Sistema operativo:

– Software libre: Linux, FreeBSD, etc.

– Software propietario: Windows, MacOS, etc.

– El SO permite el acceso al hardware gráfico mediante los controladores instalados en el sistema

– En el desarrollo de aplicaciones 3D:

• Cualquier SO habitual (al menos Linux y Windows) es bueno para el desarrollo de aplicaciones 3D de alta calidad

• Desde el punto de vista del software libre, hay SO abiertos, pero…:¿Existen controladores abiertos, con un buen rendimiento, que permitan el acceso al hw gráfico más potente y actualizados frecuentemente?

Page 7: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:APIs

Sistema Operativo

API

APIs (Application Programming Interfaces)

Page 8: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:APIs

• APIs para el desarrollo de aplicaciones gráficas:

– Proporcionan un conjunto de funciones para dibujar geometría, y especificar su apariencia (color, textura, etc) utilizando para ello el hw gráfico del sistema

– Dos alternativas:

Page 9: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:APIs

• DirectX (www.microsoft.com/directx)

– Desarrollado por Microsoft

– Software cerrado pero gratuito

– API más utilizado en el desarrollo de videojuegos

– Versiones más recientes:• DirectX9 (Windows XP o Vista)• 2006: DirectX10 (requiere Windows Vista)

– El diseño de DirectX10 se realizó en conjunto con desarrolladores de hardware, especialistas en visualización, desarrolladores de juegos; con el fin de solucionar los cuellos de botella más importantes y cubrir las nuevas necesidades de los desarrolladores

– Actualmente es el API más evolucionado

– Mucho software libre está desarrollado sobre DirectX

Page 10: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:APIs

• DirectX

Ventajas:

• Evolución rápida

• API muy completo y documentado

• Lenguaje para el desarrollo de shaders muy potente (mucho más completo que el de OpenGL)

Inconvenientes:

• No es portable, sólo para desarrollar aplicaciones sobre Windows o Xbox

Page 11: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:APIs

• OpenGL (http://www.opengl.org):

– Desarrollado por SGI

– Especificación abierta, pero normalmente la implementación utilizada es cerrada y proporcionada por el desarrollador del hardware

– Portable: Windows, Linux, FreeBSD, MacOS, Irix, HP-UX, etc.

– Versión más reciente: OpenGL 2.1

– Muy utilizado en simulación y en el desarrollo de aplicaciones científicas, principalmente porque:

• Las máquinas utilizadas hace años en simulación no utilizaban Windows y no había hardware gráfico de consumo potente

• Fue el primer API gráfico y debido a que se trata de una especificación abierta, fue adoptada rápidamente por los fabricantes

Page 12: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:APIs

• OpenGL:

Ventajas:

• Portable• Especificación abierta• Bien documentado

Inconvenientes:

• Debido a la política de añadir extensiones comunes y de fabricantes comunes: – API confuso, debido al conjunto de tokens repetidos y extensiones no compatibles– Necesidad de inicializar extensiones manualmente– Mucha burocracia en la evolución de la especificación

• Evolución lenta en los últimos años: DirectX ha evolucionado mucho más rápido• Evolución incierta:

– SGI deja el control del desarrollo de OpenGL en manos del Khronos Group– Muchos cambios futuros, y posibles nuevos estándares (OpenGL ES)

• Lenguaje de definición de shaders más limitado que el de DirectX

Page 13: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:Framework, toolkit, scenegraph o engine

SO: Windows/Linux/MacOS

API: OpenGL/DirectX

Framework, Toolkit, Scenegraph, Engine

Framework, toolkit, scenegraph o engine:

– Proporcionan funcionalidades de alto nivel: visualización, carga de modelos 3D, etc

– Nos permite manejar una escena 3D y visualizarla

Page 14: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:Aplicación

SO: Windows/Linux/MacOS

API: OpenGL/DirectX

Framework, Toolkit, Scenegraph, Engine

Aplicación

Aplicación:

– Funcionalidades específicas de nuestra aplicación

Page 15: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción

SO: Windows/Linux/MacOS

API: OpenGL/DirectX

Framework, Toolkit, Scenegraph, Engine

Aplicación

Pero ademas…

Page 16: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción

SO: Windows/Linux/MacOS

API: OpenGL/DirectX

Framework, Toolkit, Scenegraph, Engine

Aplicación

Pero ademas… la aplicación utiliza distintos tipos de datos: modelos 3D, texturas, escenas, shaders, etc.

DATOS

Page 17: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción

SO: Windows/Linux/MacOS

API: OpenGL/DirectX

Framework, Toolkit, Scenegraph, Engine

Aplicación

Y…

DATOS

Page 18: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción

SO: Windows/Linux/MacOS

API: OpenGL/DirectX

Framework, Toolkit, Scenegraph, Engine

Aplicación

Y… hay que crear dicho contenido:Necesitamos herramientas de creación de contenido digital (DCC)

DATOS

AplicacionesDCC

Page 19: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:Creación de contenido digital

• Contenido digital de una aplicación 3D:

– La información visualizada es tan importante como la calidad de visualización

– Un motor con unas capacidades impresionantes no sirve de nada si no hay nada que mostrar

– El desarrollo del software libre se ha centrado en el desarrollo de herramientas para la visualización, pero no para crear el contenido que se visualiza

Page 20: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Introducción:Creación de contenido digital

• Software de creación de contenido digital:– Genérico:

• Comerciales: XSI, Max, Maya, etc.• Código abierto: Blender, etc.

– Creadores de mundos: específicos de cada motor– Editores de shaders:

• Gratuitos: Nvidia FX Composer, ATI Rendermonkey

• Problema: escasísimo número de herramientas de software libre para la creación de contenido digital:– Blender es el más popular– No hay editores de shaders– Muchos motores gráficos de software libre, pero.. Sin herramientas de

edición de escenas o mundos (empiezan a aparecer ahora)

Page 21: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D

• Requisitos de una herramienta avanzada para el desarrollo de aplicaciones de visualización 3D en tiempo real

• Generales: diseño orientado a objetos, documentacion, etc.• Scripting• Editores de escenas• Física: detección de colisiones, física de cuerpos rígidos, etc.• Iluminación avanzada: iluminación por pixel, etc.• Shaders: por vértice, por pixel, etc.• Gestión de escenas: niveles de detalle, culling, etc.• Animación: animación por claves, animación de esqueletos, deformación de

mallas• Visualización de terreno: CLOD, etc.• Efectos de post-procesado: bloom, noche, sepia, etc.• Soporte de Audio y Video• Sistema de Red• Inteligencia Artificial

Page 22: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D

Frameworks

Herramientas de manejo de scenegraphs

Motores gráficos

Page 23: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Frameworks

• Frameworks: entorno de trabajo que proporciona funciones de alto nivel para el desarrollo de aplicaciones

– XNA (www.microsoft.com/xna)• Desarrollado por Microsoft• Plataformas: Windows, XBox• API: DirectX• Lenguaje: C#• Gratuito, no software libre• Empiezan a aparecer proyectos software libre sobre XNA (http://www.codeplex.com)

– Ej: Raven XNA Game Engine• Otros proyectos:

– Blade3D (proyecto muy nuevo, licencia indefinida)

Page 24: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• Scenegraphs– Que es un scenegraph?

• Estructura de datos jerárquica y reusable• Describe los objetos de una escena 3D y sus relaciones

– Tamaño, posición, orientación, propiedades, materiales• Se usan para visualizar escenas virtuales en motores de juegos, CAD,

visualización científica, simulación, modelado, etc.• Se centra en la representación de la escena y su visualización de forma

eficiente• No es un motor completo, suele ser parte de un de un motor de

visualización– Utilizados principalmente en aplicaciones científicas, simulación o como

base para un motor gráfico

Page 25: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• Encuesta sobre scenegraphs (2005):– Realizada por el portal de la industria de simulación y entrenamiento

modsim (http://www.modsim.org)– ¿Cuál es tu scenegraph/software de generación de imágenes

preferido? 118 votos• OpenSceneGraph 50%• Vega 19.49%• OpenSG 8.47%• Tempest 5.08%• OpenGL (hecho a mano) 4.24%

– Datos de interés: • OpenGL Performer 1.69%• Directx (hecho a mano) 0%

Page 26: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• Encuesta sobre scenegraphs (2005):– Realizada por el portal de la industria de simulación y entrenamiento

modsim (http://www.modsim.org)– ¿Cuál es tu scenegraph/software de generación de imágenes

preferido? 118 votos• OpenSceneGraph 50% Software libre• Vega 19.49%• OpenSG 8.47% Software libre• Tempest 5.08%• OpenGL (hecho a mano) 4.24%

– Datos de interés: • OpenGL Performer 1.69%• Directx (hecho a mano) 0%

Page 27: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• Algunas herramientas para el manejo de scenegraphs

– Comerciales:• Performer (SGI) (http://www.sgi.com/products/software/performer/)• Vega (Multigen-Paradigm) (http://www.paradigmsim.com)

– Gratuitos:• NvSG

– Libres:• OpenSG• OpenScenegraph

Page 28: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• NVIDIA Scene Graph (NVSG)– http://developer.nvidia.com/object/nvsg_home.html– Versión 2.1– Versión 3.2 Beta– Gratuito, no libre

OpenGL

API

GratuitoWindowsLinux

C++

LicSOLeng

Page 29: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• OpenSG (http://opensg.vrsource.org)– Utilizado principalmente para visualización científica

OpenGL

API

LGPLWindowsLinux

C++

LicSOLeng

Page 30: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

Visualización de modelos con teselado de geometría a partir de curvas. Computer Graphics Group . Universidad de Bonn

Page 31: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

Visualización de terreno: Virtual Terrain Project (www.vterrain.org)

Page 32: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

Visualización volumétrica: V2

Page 33: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• OpenSceneGraph (http://www.openscenegraph.org)– Utilizado en múltiples tipos de aplicaciones– Comunidad de más de 1000 usuarios– Basado en IRIS Performer

OpenGL

API

LGPLWindowsLinuxOSXIRIX

SolarisHP-Ux

AIXFreeBXD

C++

LicSOLeng

Page 34: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

• OpenSceneGraph

– Existen algunos editores/creadores de contenido:• OsgEdit (código abierto)• OsgDesigner

– Ventajas:• Diseño orientado a objetos, limpio y claro• Proyecto maduro, con un gran número de usuarios y muy buen funcionamiento• Un gran número cargadores de datos: 3ds, Collada, obj, etc. • Muchos plugins externos desarrollados:

– Animación con esqueletos: OSGCal (integración con Cal3D)– Integración con OpenAL, ODE, etc.– Etc.

– Mayor desventaja:• Documentación escasa, pero el código fuente, aunque no completamete, está bastante

bien documentado

Page 35: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

3DVRI (http://www.3dvri.com): proyectos de visualización de arquitectura

Page 36: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

Diosoft (http://www.diosoft.com): Pirates of the XXI century

Page 37: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

Simulador del Joint Strike Fighter (Patuxent River Naval Air Station)

Page 38: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

Simulador del Mig 21 desarrollado por SOKO (Zagreb)

Page 39: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

V-CAM (http://www.arsenal.it/VCAMe.htm): visualizador de regatas en tiempo real

Page 40: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:SceneGraphs

SANTI (VideaLAB)

Page 41: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

• Que es un motor gráfico:

– Además de la gestión de escenas, incorpora otras funcionalidades como:• Animación• Scripting• Inteligencia Artificial• Gestión de Audio y Vídeo• Sistema de Red• Editores• Sistemas físicos• Gestión de multiples scenegraphs• Etc.

– Se suelen utilizar para el desarrollo de juegos

– Muchísimos motores desarrollados (http://www.devmaster.net)

Page 42: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

• Motores desarrollados para un juego específico: – Unreal Engine (http://www.unrealtechnology.com)

• Epic Games Inc.• Versión 2

– Versión gratuita para fines no comerciales y sin poder distribuir el programa. Sin código fuente disponible

– Versión de pago para uso comercial con el código fuente disponible• Version 3 (Código fuente disponible, precio no público)

– CryEngine (http://www.crytek.com/technology/index.php)• Crytek (FarCry, Crysis)• Versión 1 (Precio no público, código fuente disponible)• Versión 2 (No disponible, se presentará en el mercado con Crysis)

– Source (http://developer.valvesoftware.com/wiki/Main_Page)• Valve (Half-Life 2)• Precio no público, código fuente disponible

– Etc.

Page 43: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

• Genéricos, no desarrollados para un juego específico: – RenderWare

• Criterion Software• OpenGL/DirectX• Precio no público, no distribuyen el código fuente• Productos: Crackdown (2007), The Godfather (2006), Scarface (2006),

Battlefield 2 (2005)– Torque

• Código fuente disponible• Precio $100-$495• Productos: Dreamlords (2007), RocketBowl (2004)

– Etc.

Page 44: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Algunos motores gráficos de código abierto:

Delta3D

CrystalSpace

Ogre3D

Page 45: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

• Delta3D (http://www.delta3d.org)– Basado en OpenSceneGraph– Versión 1.4– Incorpora:

• Física: Open Dynamics Engine• Animación de personajes:

Character Animation Library• Audio: OpenAL

– Utilizado por empresas dedicadas a simulación

OpenGL

API

LGPLWindowsLinux

C++

LicSOLeng

Page 46: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

• Crystal Space (http://www.crystalspace3d.org)– Versión 1.0– Uno de los más antiguos (inicialmente funcionaba por software)– Utilizado en desarrollo de juegos comerciales

OpenGL

API

LGPLWindowsLinux

MacOS

C/C++

LicSOLeng

Page 47: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Bonez Adventures (http://bonez-adventures.com/main.html)

Page 48: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

PlaneShift (http://www.planeshift.it/)

Page 49: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Keepsake (http://www.keepsakegame.com)

Page 50: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

• Ogre (http://www.ogre3d.org)– Versión 1.4 [Eihort]– Comienzo del proyecto: 2001– 11 desarrolladores– Utilizado en el desarrollo de juegos comerciales

OpenGLDirectX

API

LGPLWindowsLinux

MacOS

C/C++

LicSOLeng

Page 51: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

• Ogre– Soporta OpenGL y DirectX– Proporciona muchas funcionalidades– Muy documentado: código bien comentado, mucha documentación, un

libro editado y tutoriales (www.digital-tutors.com)– Aplicaciones comerciales muy competitivas desarrolladas sobre Ogre– Muchos plugins desarrollados:

• Integración con motores de física: ODE, Newton, etc.• Otros

– Muchos exportadores: XSI, Max, Maya, Blender, RenderMonkey, etc.– Algunos editores en proceso: OgreStudio, oFusion, etc.– Evolución continua y rápida

Page 52: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Bluefox

Page 53: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Hereric Kingdoms: Reluctant Hero

Page 54: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Nimble

Page 55: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Ankh (http://www.ankh-game.de/). Desarrollado por Deck 13

Page 56: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Ankh – Heart of Osiris (http://www.ankh-game.de/)

Page 57: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D:Motores gráficos

Pacific Storm (http://www.pacificstorm.net/) de Lesta Studio

Page 58: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D

• Principales diferencias software comercial/software libre

– Funcionalidades:

• Motores comerciales: soportan interacción, física, IA, etc.• Motores libres: se han integrado ya con motores específicos de física, de

audio o de animación, pero todavía es necesario integrar funcionalidades como IA, definición de la interacción, red, etc.

– Editores:

• Motores comerciales: editores de mundos, interacción, física, materiales, IA, etc.

• Motores libres: empiezan a aparecer las primeras herramientas de autor (P.e., en OpenSceneGraph o Ogre) pero falta mucho desarrollo por hacer

Page 59: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D

• Principales diferencias software comercial/software libre

– Plataformas:

• Motores comerciales: Windows, Linux, MacOS, Playstation, PSP, X-Box, etc.

• Motores libres: Windows, Linux, MacOS, etc, pero no permiten desarrollar para consolas

– Visualización:

• Motores comerciales: debido a un mercado muy competitivo, sobre todo los motores desarrollados para un proyecto concreto suelen ser los más evolucionados e innovadores. P.e. CryEngine2

• Motores libres: no pueden competir con los motores más innovadores, pero su aplicación en proyectos comerciales de gran calidad demuestra que se pueden aplicar para desarrollar aplicaciones competitivas

Page 60: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

Herramientas de desarrollo de aplicaciones 3D

• Conclusión: Hay herramientas de software libre disponibles para el desarrollo de aplicaciones gráficas de gran calidad

• Principales esfuerzos a realizar en la comunidad de software libre:

– Desarrollo de herramientas de autor: pensando en desarrolladores y en artistas• Herramientas genéricas: Blender• Herramientas de edición de shaders• Herramientas de edición de mundos o escenas• Exportadores e importadores para herramientas existentes

– Integración de nuevas funcionalidades:• Inteligencia Artificial• Interacción• Sistema de red

– Soporte de nuevas plataformas: p.e. Xbox– Seguir evolucionando los motores existentes

Page 61: Herramientas de software libre para el desarrollo de …stuff.gpul.org/2007_graficos/doc/2007_JGRAF_03_3Dtreal.pdfHerramientas de software libre para el desarrollo de aplicaciones

II Xornadas de informática gráfica e software libre. FIC 2007

Excepto los logotipos e imágenes, que son propiedad de sus respectivos autores o fabricantes

GRACIAS!