VRJuggler Bruno Barberi Gnecco Rita de Ftima Rodrigues
VRJuggler Bruno Barberi Gnecco Rita de Fátima Rodrigues Realidade Virtual Prof. Marcelo Knörich Zuffo 1
Programação da Apresentação l Visão Geral (Rita) – O que é VRJuggler ? – Histórico – Arquitetura l Aplicações e VRJuggler (Bruno) – Object Application – Pontos Fortes e Fracos – Comparações com CAVElib – Conclusões l Parte Prática (Bruno) 2
Visão Geral O que é o VRJuggler? l Plataforma para desenvolvimento de aplicativos de Realidade Virtual. l JVP = VRJuggler Virtual Platform. l Portabilidade “Code once , experience everywhere”. l Open Source / OO / Classes C++. 3
Visão Geral Aplicação VR VR Juggler 4
Histórico l Dificuldades de desenvolvimento de aplicativos de RV. l Desenvolvido no IOWA State. University VRAC Virtual Reality Applications Center. l Desenvolvida por equipe chefiada por Carolina Cruz (participou do 1 o CAVE). 5
JVP Características · Abstrai complexidade do sistema de RV. · Permite o uso de qualquer API gráfica. · Permite escalabilidade para os sistemas de RV. 6
JVP Características · Flexibilidade configurações ( run-time). · Múltiplas aplicações rodando simultaneamente. · Aplicações cross-platform. 7
JVP Arquitetura l Application Object – “comunicação” via interfaces Draw manager l VRJuggler kernel l Application Object Draw Manager Kernel 8
JVP Arquitetura l Microkernel pattern – Configuração – Internal Managers – External Managers 9
. . . CONFIGURAÇÃO PRIMITIVAS DRAW GUI VJControl CORE KERNEL INPUT DISPLAY ENVIRONMENT Ext. Soft. VJControl 10
Configuração l Config. Chunks files l Informação de display Head mouted Display (HMD) Posição e Tam das superfícies relativas a posição dos olhos do usuário. l Informação de dispositivos de entrada (input devices) Trackers, Mouses Dependendo do dispositivo pode ser necessário configurar porta serial , baud rate, network address. l Faz uso de múltiplos chunks para representar o sistema RV : display chuncks, trackers chunck, etc…no formato XML. 11
VJControl l GUI Vj. Control (java code) – Permite a edição dos arquivos de configuração. – Permite parar e iniciar dispositivos. – Permite ver dados de performance. l Tempo de Latência; tempo das threads, ex : render. – Comunica-se com aplicações VRJuggler via TCP/IP. 12
VJControl 13
VJControl - performance 14
Internal Managers l Internal Managers – Input Manager : l Controle dispositivos de entrada: – Display Manager : l Controle da configuração de Display – Environment Manager : l comunicação com softwares externos, ex: Vj. Control. 15
External Managers l External Managers – Draw Manager : l Open. Gl, Performer, Open. SG, Open. Scene. Graph, etc. . – Audio Manager : l Sound API 16
Diagrama de Classes. . . VR JUGGLER 17
Orientação a Objetos Técnica para gerenciar complexidade dos sistemas l Decompõe o sistema em um conjunto de objetos menos complexos que trocam mensagens. l O comportamento do sistema é modelado através do comportamento dos objetos e como eles interagem. l Diferente da técnica estruturada, orientada a funções. 18 l
Orientação a Objetos Classes - representam os objetos. Os objetos são instancias de classes. l Atributos - são dados objetos. l Métodos - manipulam atributos do objetos ou executam alguma operação do objeto. l Herança é quando uma classe herda características de outra e especifica mais alguma característica específica. l 19
Orientação a Objetos l Exemplo: Pessoas nome RG obtem. Nome obtem. RG Estudante RA curso obtem RA 20
21
Object Application 22
Juggler Project l VR Juggler: plataforma virtual, controle. l VPR (VR Juggler Portable Runtime) – abstração de sockets, threads, I/O, sincronização, primitivas. l JCCL (Jackal) – Sistema de configuração, baseado em XML. – Prove como GUI o VJControl. 23
Juggler Project l Sonix: – API de áudio, de alto nível. l Tweek: – middleware permite ao desenvolvedor mais recursos para elaborar GUI para interagir com o ambiente virtual. – GUI Java extendida que permite a communicação com aplicações RV. – Coleção de Múltiplas tecnologias C++, Java. Beans e CORBA ( permitindo a comunicação entre C++ e Java). – Exemplo: Palmtop com Tweek controlando aplicação de RV. 24
Juggler Project l l Gadgeteer: – sistema de administração de periféricos de I/O – prove a aplicação acesso a dispositivos através de tipo genéricos. – Permite que dispositivos possam ser distribuídos entre máquinas e clusters. – Habilidade de tratar falhas de dispositivos. GMTL: – biblioteca matemática. 25
Referências http: //www. vrjuggler. org l http: //www. vrjuggler. org/documentation. php l Master Thesis about VRJuggler Bierbaum l Introduction to Tweek, Patrick Hartling IOWA State University l 26
- Slides: 26