Transcript GLASS - LSI

Graphical
Interaction Devices
for Distributed
Virtual Reality
Systems
Marcelo de Paiva Guimarães [email protected]
Bruno Barberi Gnecco [email protected]
Marcelo Knorich Zuffo [email protected]
Integrated Systems Laboratory
Polytechnic School - University of São Paulo - Brazil
2004
Introduction
• The contribution of the present research
project is to simplify the design of
graphical interfaces and their interaction
with the VR application
– freeing the designer from having to know all
the details of the individual technologies, and
to use PDAs as interaction device
• No programming knowledge from the GUI
designer
Introduction
• The PDA application communicates transparently
•
•
with a cluster, via any underlying network
system, which processes the events and
maintains the synchrony of the rendered images
in real-time
the interface and its configuration can be
changed at run-time
This solution is part of Glass
What is Glass?
• A library for distributed computing
– Extensible and flexible
– Portable and interoperable
– Easy to use and learn: transparent
– High performance
– Network protocol independent
– Reliable and fault tolerant
– Completely thread safe
Overview
• Written in C++
– Easy to interface with C, C++, Java, etc
• All functionality is provided by plugins
• Glass core provides internal functionality
– Network system
– Plug-in management (Barriers, Events,Alias...)
– Node management
• Fault tolerant
– If a node dies, Glass detects and deals with it.
– Computation does not stop
– Deadlocks are prevented
PDA Editor
• Born from desire to control our CAVE with
a PDA
• Glass runs in PDA
• Editor generates GUI in a straightforward,
graphical way
– No programming knowledge required
PDA Editor
• Code is generated automatically
– Programmer has only to write an event
handler
• Interface is in Java
– Run it anywhere: PDA or desktop
PDA Editor:
PDA Applicaton: screenshot
• 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 node
•Glass is used underneath
–To Glass, the PDA is just another node
PDA software layers
Application
Java
Java Virtual Machine
JNI
Glass
Operational System
(Linux, Windows CE, Windows)
Celestia Application
Cathedral Application
Conclusions
• PDAs
– improve the user interaction in immersive
environments
– can be used to control the VR system itself
• running applications
• controlling lights and projectors, etc
– It’s an efficient way to manipulate large volumes of
data
– the user is already familiar with the GUI approach
used
Conclusions
• The tool for designing GUIs presented
•
•
– which generates code automatically, requiring
no knowledge of computer programming from
the user
The interface runs on Java, which has the
advantage of easy portability to any platform
The routine for treatment of events on the main
application is also generated automatically
Conclusions
• The interface integrates directly with the
main application, which is running on a
cluster.
• As future work, we plan to enhance GUIs
to be multimedia, including animations
and sounds