VR Juggler Technical Overview - PowerPoint PPT Presentation

About This Presentation
Title:

VR Juggler Technical Overview

Description:

Understand VR Juggler architecture. Knowledge of some technical details ... Sonification. User interfaces. and more... www.vrjuggler.org. 42. Availability ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 43
Provided by: All5175
Category:

less

Transcript and Presenter's Notes

Title: VR Juggler Technical Overview


1
VR Juggler Technical Overview
  • A Virtual Platform for Virtual Reality
    Application Development
  • Allen Bierbaum
  • Iowa State University
  • IEEE VR Tutorial

2
Who am I?
  • Allen Bierbaum
  • Work
  • VR Juggler Team
  • PhD Student
  • Iowa State University Virtual Reality
    Applications Center (VRAC)

3
Objectives
  • Understand VR Juggler architecture
  • Knowledge of some technical details
  • Introduction to future VR Juggler developments
  • Please Ask questions!!!

4
What is VR Juggler?
  • Open Source VR software development environment
  • VR Virtual platform Application framework
  • Developed at Iowa State University
  • Project director Dr. Carolina Cruz-Neira
  • 5 years of development
  • VR Juggler team (3 people ?10 people at VRAC)

5
VR Juggler background
  • Motivation
  • Standard VR development environment that is
  • Flexible extensible
  • Maintainable
  • Modular
  • Cross-platform / Cross-VR System
  • Freely available OpenSource
  • Allow community involvement
  • Extension and refinement
  • Peer review

6
VR Juggler features
  • Virtual platform
  • Application objects and framework
  • Performance driven
  • Performance monitoring
  • Flexible and extensible
  • Modular
  • Open source
  • Cross-platform Irix, Linux, Win32, others
  • Configuration system
  • Parameterization of VR system components
  • Run-time reconfigurable
  • GUI vjControl

7
Virtual platform
  • Separates system dependent and system independent
    components

8
Virtual platform Benefits
  • Benefits
  • Architecture and OS independence
  • Handles cross platform issues
  • Virtual platform scales
  • Device abstraction
  • Separates application from hardware
  • Proxies handles to devices
  • Defines an operating environment for VR apps
  • The VP allocates resources and processing time

9
System Parameterization
  • Juggler config chunks specify single unit of
    configuration
  • Parameterize all configurable parts of system
  • Edited with Java base GUI (vjControl)

10
(No Transcript)
11
Kernel subsystem Motivation
  • Motivating needs
  • System must be extensible
  • Add new devices and graphics APIs
  • System needs to be flexible
  • Adapt to VR systems, multiple configurations
  • System needs to be dynamic
  • Changes at run-time, added modularity
  • System must evolve over time
  • App survivability

12
Kernel subsystem
  • Microkernel architecture
  • Controls the entire system
  • Manages communication
  • Internal Managers
  • Core functionality beyond the scope of the kernel
  • External Managers
  • Provide an interface to the system that is
    specific to application type

13
Kernel subsystem Benefits
  • Benefits
  • Modular system
  • Managers can be added, removed, and reconfigured
  • Discourages monolithic architectures
  • Mediator
  • Captures interaction
  • Synchronization
  • Portability

14
Internal managers
  • Input manager
  • Display manager
  • Config manager
  • Environment manager

15
Input Manager
  • Controls all devices in the system
  • Updates the devices
  • Allows users to request devices

16
Devices
  • Base classes for all device types
  • Extend system here

17
Device Proxies
  • All Devices are accessed through proxies
  • Proxies hide the true device type
  • Allows code and configuration to be device
    independent

18
Device Factory
  • All device types are registered
  • Allows for dynamic discovery and loading
  • Separates devices from the rest of the system

19
Display manager
  • Contains all information about display windows
  • Performs all viewing calculations

20
Other internal managers
  • Config manager
  • Holds (re)configuration requests
  • Environment manager
  • Communicates the state of the system

21
External managers
  • Draw manager
  • Sound manager

22
Draw manager
  • Provides external interface for applications
  • Allows access to API specific functionality
  • Handles all details of the API

23
Other External managers
  • Sonix Sound manager
  • Generic interface for several sound libs
  • More in later talk
  • Future
  • Area for extension

24
Application objects
  • All VR Juggler applications are objects

25
Application objects
  • Override methods of a pre-defined interface
  • Derived class for each graphics API

26
Application objects
  • Benefits
  • Single interface between app and system
  • Low-coupling ? Robustness
  • Application survivability
  • Allows for flexibility in kernel
  • Run-time changes
  • Application management
  • Capture application in single unit
  • Multiple applications

27
Run-time (re)configuration
  • Most current systems
  • Static configuration
  • No way to modify settings at run-time
  • Configuring system
  • Test settings ? Change settings ? Restart
    application
  • Run-time Configuration
  • Configuration is done dynamically at runtime
  • Run-time Reconfiguration
  • Maximum flexibility
  • Allows settings to change during execution

28
Reconfiguration interface
  • vjConfigChunkHandler
  • API for handling configuration requests
  • Implemented by all Managers and some applications

29
Config Manager
  • Pending configuration queue
  • List of configuration requests
  • Stored in queue until kernel attempts
    reconfiguration

30
Reconfiguration process
31
Reconfiguration benefits
  • System setup and configuration
  • Easier initial setup using interactive testing
  • Reconfigure displays
  • Change physical devices
  • Application adaptation
  • Application switching at run-time
  • Configure applications parameters
  • Model loaded, navigation method
  • Robustness
  • Graceful recovery from device or app failures
  • Performance tuning
  • Adjust configuration based upon performance

32
Dependency management
  • Dependency checking between components
  • Components needing checking register a checker

33
System interaction
34
System interaction (cont)
35
VR Juggler 1.1
  • VR Juggler development direction

36
Motivation
  • New abilities and research areas
  • High-level tools
  • Technological advances
  • Fix design problems
  • Yes, we actually made some mistakes

37
JCCL
Gadgeteer
Vapor
38
VR Juggler 1.1 Modules
  • Current Modules
  • Vapor System abstraction
  • Gadgeteer Device management
  • GMTL High-performance math
  • JCCL Configuration
  • VR Juggler VR virtual platform
  • Sonix Sound management
  • Tweek Common GUI framework
  • This all used to be just VR Juggler
  • Now the Juggler suite of tools
  • More on the way

39
New features
  • Vapor
  • Serial port abstraction
  • Gadgeteer
  • Clustering
  • Run-time device type extension
  • Input from gfx windows
  • Cross-platform device drivers

40
New features (cont)
  • VR Juggler
  • Revamped configuration GUI
  • Window viewports
  • OpenSG OpenSceneGraph
  • Performer reconfigurability
  • Kernel shutdown
  • Tweek
  • Palmtop interaction
  • Sonix
  • Sound management

41
High-level tools
  • Many new high-level tools in the pipeline
  • All part of the Juggler suite
  • In development
  • Collaborative networking
  • Sonification
  • User interfaces
  • and more

42
Availability
  • Latest version always in CVS
  • Developer releases
  • VRJ 1.1 DR1 on the way
  • New website with documentation
Write a Comment
User Comments (0)
About PowerShow.com