Estructuras de datos para realidad virtual

27
Estructuras de Datos para VR Dr. José Enrique Alvarez Estrada DCBeI [email protected] http://www.facebook.com/LeonardoDaVinciMX http://www.slideshare.net/LeonardoDaVinciMX/

description

Conferencia impartida en la FACPyA de la UANL durante el II Congreso

Transcript of Estructuras de datos para realidad virtual

Page 1: Estructuras de datos para realidad virtual

Estructuras de Datos para VR

Dr. José Enrique Alvarez Estrada

DCBeI

[email protected]

http://www.facebook.com/LeonardoDaVinciMX

http://www.slideshare.net/LeonardoDaVinciMX/

Page 2: Estructuras de datos para realidad virtual

De qué les voy a hablar hoy

● El doble origen de la VR● AR: una nueva área de la VR● Algunos casos de éxito de VR y AR● Cómo iniciar con la programación de

aplicaciones de VR y AR● Algunas de las bibliotecas que debo aprender● Conclusiones● Preguntas

Page 3: Estructuras de datos para realidad virtual

Dos “escuelas” de VR

VR Militar VR de Garage

Page 4: Estructuras de datos para realidad virtual

¡Yo pertenezco a la segunda!

Page 5: Estructuras de datos para realidad virtual

Y ahora me dedico mása la Realidad Aumentada

¡¡¡ Tal como ellos !!!

Page 6: Estructuras de datos para realidad virtual

Antes de comenzarcabe preguntarse...

¿ Qué hace realmenteun COMPILADOR ?

Page 7: Estructuras de datos para realidad virtual

gcc.c

.h

a.out

Compilador: DFD Nivel 0

Page 8: Estructuras de datos para realidad virtual

cpp.c

.h

a.out

Compilador: DFD Nivel 1.1

.h

Código“expandido”

.c

/usr/include/usr/local/include

Page 9: Estructuras de datos para realidad virtual

cpp.c

.h

a.out

Compilador: DFD Nivel 1.2

cc

.h

Códigoensamblador

.c

/usr/include/usr/local/include

.s

Page 10: Estructuras de datos para realidad virtual

cpp.c

.h

a.out

Compilador: DFD Nivel 1.3

cc

.h

Código objeto

.c

/usr/include/usr/local/include

.s

as .o

Page 11: Estructuras de datos para realidad virtual

cpp.c

.h

a.out

Compilador: DFD Nivel 1.4

cc

.h

Código ejecutable

.c

/usr/include/usr/local/include

.s

ldas .o

.a

/usr/lib/usr/local/lib

Page 12: Estructuras de datos para realidad virtual

TODA LA PRODUCCIÓN ACTUALDE REALIDAD VIRTUAL (VR)SE HACE EN BASE AL USO

DE BIBLIOTECASY/O FRAMEWORKS

Page 13: Estructuras de datos para realidad virtual

Pero...

¿qué contienen esas

bibliotecas?

Page 14: Estructuras de datos para realidad virtual

ALGORITMOSESTRUCTURAS

DEDATOS

Niklaus Wirth diría que...

Page 15: Estructuras de datos para realidad virtual

ALGORITMOSESTRUCTURAS

DEDATOS

Niklaus Wirth diría que...

Implementación Interfaz

Int F(int x, int y){if(x > y)

return y++;else

return x++;}

Page 16: Estructuras de datos para realidad virtual

ALGORITMOSESTRUCTURAS

DEDATOS

Niklaus Wirth diría que...

Implementación Interfaz

.a .h

Page 17: Estructuras de datos para realidad virtual

¿Y los Frameworks?

● También son Bibliotecas

● Generalmente OO● Clases● Herencia● Polimorfismo

● Toman el control del flujo de la aplicación● El programador sólo produce código

para manejar eventos

Page 18: Estructuras de datos para realidad virtual

XWindow

SVGAlib OpenGL

Win32OSXOSG

FreeVR

HARDWARE DE DESPLIEGUE

Toolkits (GTK+, KDE)

Una Taxonomía

Page 19: Estructuras de datos para realidad virtual

XWindow

SVGAlib OpenGL

Win32OSXOSG

FreeVR

HARDWARE DE DESPLIEGUE

Toolkits (GTK+, KDE)

Una Taxonomía

scenegraph

Page 20: Estructuras de datos para realidad virtual

XWindow

SVGAlib OpenGL

Win32OSXOSG

FreeVR

HARDWARE DE DESPLIEGUE

Toolkits (GTK+, KDE)

Una Taxonomía

interface/integration

Page 21: Estructuras de datos para realidad virtual

Scene Graph: Qué es

● Una estructura de de datos general● Comúnmente usada por:

● Aplicaciones de edición de gráficos vectorizados– Acrobat 3D

– Adobe Illustrator

– AutoCAD

– CorelDRAW

– OpenSceneGraph

– OpenSG

– VRML97

– X3D

● Videojuegos

Page 22: Estructuras de datos para realidad virtual

Scene Graph: Características

● Acomoda la representación lógica (y a veces la espacial) de una escena gráfica

● Colección de nodos● En un grafo o un árbol● Operaciones recursivas

● Si se aplican al padre, se aplican a los hijos● Se propaga el efecto

● Generalmente mediante matrices de transformación

Page 23: Estructuras de datos para realidad virtual

Una implementación open source

http://www.openscenegraph.org/

Page 24: Estructuras de datos para realidad virtual

FreeVR: Qué es

● Una biblioteca open source de interfaz e integración

● Diseñada para trabajar con una amplia variedad de HW de I/O

● Aísla los detalles de implementación de la aplicación

● Adaptable para trabajar sobre casi cualquier infraestructura de VR existente

Page 25: Estructuras de datos para realidad virtual

ARToolKit: Qué es

● Una biblioteca para el desarrollo de aplicaciones de realidad aumentada

● Capta imágenes de la cámara de video mediante la biblioteca gstreamer

● Reconoce patrones impresos en las imágenes● Sobrepone a los patrones impresos imágenes

definibles por el usuario

Page 26: Estructuras de datos para realidad virtual

Conclusiones

● Tras años en las sombras, ha llegado el momento de la VR y la AR

● Innumerables áreas de aplicación... ● ¡sólo falta encontrarlas!

● Para programar VR y AR hay que aprender...● C y C++

● La VR y la AR se trabaja mejor con...● SW open source

Page 27: Estructuras de datos para realidad virtual

¿ PREGUNTAS ?

Gracias por su Atención

Dr. José Enrique Alvarez Estrada

[email protected]

http://www.facebook.com/LeonardoDaVinciMX/

http://www.slideshare.net/LeonardoDaVinciMX/