Marcelo de Paiva Guimarães paiva@lsi.usp.br paiva@lsi.usp.br Bruno Barberi Gnecco...

Preview:

Citation preview

Marcelo de Paiva Guimarães Marcelo de Paiva Guimarães paivapaiva@@lsilsi..uspusp..brbrBruno Barberi Gnecco Bruno Barberi Gnecco brunobgbrunobg@@lsilsi..uspusp..brbrMarcelo Marcelo Knorich Zuffo Knorich Zuffo mkzuffo@lsi.usp.brmkzuffo@lsi.usp.br

Integrated Systems LaboratoryIntegrated Systems LaboratoryPolytechnic School - University of São Paulo - BrazilPolytechnic School - University of São Paulo - Brazil

20020044

Graphical Interaction Devices for Distributed

Virtual Reality Systems

IntroductionIntroduction

• The contribution of the present The contribution of the present research project is to simplify the research project is to simplify the design of graphical interfaces and their design of graphical interfaces and their interaction with the VR applicationinteraction with the VR application – freeing the designer from having to know freeing the designer from having to know

all the details of the individual all the details of the individual technologies, and to use PDAs as technologies, and to use PDAs as interaction device interaction device

• NNo programming knowledge from the o programming knowledge from the GUI designer GUI designer

IntroductionIntroduction

• The PDA application communicates The PDA application communicates transparently with a cluster, via any transparently with a cluster, via any underlying network system, which underlying network system, which processes the events and maintains the processes the events and maintains the synchrony of the rendered images in real-synchrony of the rendered images in real-timetime

• the interface and its configuration can be the interface and its configuration can be changed at run-timechanged at run-time

• This solution is part of Glass This solution is part of Glass

What is Glass?What is Glass?

• A library for distributed computingA library for distributed computing– Extensible and flexibleExtensible and flexible– Portable and interoperablePortable and interoperable– Easy to use and learn: transparentEasy to use and learn: transparent– High performanceHigh performance– Network protocol independentNetwork protocol independent– Reliable and fault tolerantReliable and fault tolerant– Completely thread safeCompletely thread safe

OverviewOverview

• Written in C++Written in C++– Easy to interface with C, C++, Java, etcEasy to interface with C, C++, Java, etc

• All functionality is provided by pluginsAll functionality is provided by plugins• Glass core provides internal functionalityGlass core provides internal functionality

– Network systemNetwork system– Plug-in managementPlug-in management (Barriers, Events,A (Barriers, Events,Aliaslias...)...)– Node managementNode management

• Fault tolerantFault tolerant– If a node dies, Glass detects and deals with it.If a node dies, Glass detects and deals with it.– Computation does not stopComputation does not stop– Deadlocks are preventedDeadlocks are prevented

PDA EditorPDA Editor

• Born from desire to control our CAVE Born from desire to control our CAVE with a PDAwith a PDA

• Glass Glass runs in PDAruns in PDA

• Editor generates GUI in a Editor generates GUI in a straightforward, graphical waystraightforward, graphical way– No programming knowledge requiredNo programming knowledge required

PDA EditorPDA Editor

• Code is generated automaticallyCode is generated automatically– Programmer has only to write an event Programmer has only to write an event

handlerhandler

• Interface is in JavaInterface is in Java– Run it anywhere: PDA or desktopRun it anywhere: PDA or desktop

PDA Editor:PDA Editor:

PDA Applicaton: PDA Applicaton: screenshotscreenshot

• All input are propagated as asynchronous events, which can be either polled or handled by callbacks on the application.

• There’s no limit to the number of PDAs that can be used simultaneously in an application

• Each PDA may be controlling a different vehicle, or the participants may share a GUI and work collectively on a project.

The PDA is a cluster nodeThe PDA is a cluster node

•Glass is used underneathGlass is used underneath

–To Glass, the PDA is just another To Glass, the PDA is just another nodenode

PDA software layersPDA software layers

Application

Java

Java Virtual Machine JNI

Glass

Operational System(Linux, Windows CE, Windows)

Celestia ApplicationCelestia Application

Cathedral ApplicationCathedral Application

ConclusionsConclusions

• PDAsPDAs– improve the user interaction in immersive improve the user interaction in immersive

environmentsenvironments– can be used to control the VR system itselfcan be used to control the VR system itself

• running applicationsrunning applications

• controlling lights and projectors, etccontrolling lights and projectors, etc

– It’s an efficient way to manipulate large It’s an efficient way to manipulate large volumes of datavolumes of data

– the user is already familiar with the GUI the user is already familiar with the GUI approach usedapproach used

ConclusionsConclusions

• The The tool for designing GUIstool for designing GUIs presented presented– which generates code automatically, which generates code automatically,

requiring no knowledge of computer requiring no knowledge of computer programming from the userprogramming from the user

• The interface runs on Java, which has the The interface runs on Java, which has the advantage of easy portability to any platformadvantage of easy portability to any platform

• The routine for treatment of events on the The routine for treatment of events on the main application is also generated main application is also generated automaticallyautomatically

ConclusionsConclusions

• TThe interface integrates directly with he interface integrates directly with the main application, which is the main application, which is running on a cluster. running on a cluster.

• As future work, we plan to enhance As future work, we plan to enhance GUIs to be multimedia, including GUIs to be multimedia, including animations and sounds animations and sounds