Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group www.diverse.vt.edu.

Similar presentations


Presentation on theme: "Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group www.diverse.vt.edu."— Presentation transcript:

1

2 Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group www.diverse.vt.edu

3 evice ndependent irtual nvironments- econfigurable, calable, xtensible DIVERSE is a tortured acronym

4 www.diverse.vt.ed u August 8, 2001 What is DIVERSE? DIVERSE is: Free open source software written in C++ Available for download from our web site Runs on SGI IRIX and GNU/Linux Support for multiple IRIX binary types

5 www.diverse.vt.ed u August 8, 2001 DIVERSE distribution includes: C++ Libraries for application development Stand-alone application programs and utilities Several dozen small example programs to illustrate specific features Written to be easily moved and modified All based on a small “hello world” program

6 www.diverse.vt.ed u August 8, 2001 Who uses DIVERSE? US Navy: 3d target-acquisition visualization for submarines VR ship-crane simulator Lockheed-Martin: Tools for collaborative engineering. NIST: Visualization of volumetric data sets Haptic device for probing data set densities

7 www.diverse.vt.ed u August 8, 2001 DIVERSE is used to create simulations, like… Crane Ship Simulator With CAVE and motion base Crane Ship Simulator With CAVE and motion base

8 www.diverse.vt.ed u August 8, 2001 We always tried to keep this in mind… Stay out of the user’s way They know better than we do how to do their job Augment instead of replace Build on existing packages, don’t reinvent new ones Works by default Lowest-common-denominator defaults work anywhere

9 www.diverse.vt.ed u August 8, 2001 In order to have these features: Modular Only use the parts you need Flexible Easy to reconfigure and extend Device independent Uses actual or simulated hardware

10 www.diverse.vt.ed u August 8, 2001 evice ndependent The same program runs everywhere, without modification Example: Ship-based Crane Simulator

11 www.diverse.vt.ed u August 8, 2001 CAVE irtual nvironments ImmersaDes k calable econfigurable xtensible evice ndependent desktop

12 www.diverse.vt.ed u August 8, 2001 Two main components DTK- the DIVERSE ToolKit Contains classes not related to graphics A standalone package For simulations that don’t need graphics dgiPf- the DIVERSE graphics interface for Performer Built using DTK and Performer™

13 www.diverse.vt.ed u August 8, 2001 DTK DIVERSE ToolKit Library C++ classes used to build server and applications Server Manager of services A true daemon, in the form of a select server Services Interfaces to hardware devices or virtual surrogates Loaded and unloaded into server at run-time as DSOs

14 www.diverse.vt.ed u August 8, 2001 DTK Clients and Services are transparently networked Remote shared memory Hardware or emulators, and state data Reliable and unreliable Polled or queued data, per application Event records Interpolation r/w locks Asynchronous distributed computations Communicate via remote shared memory Simulator glue

15 www.diverse.vt.ed u August 8, 2001 dgiPf DIVERSE Graphics Interface for Performer Coordinate systems and scenegraph Symmetric and asymmetric viewing frusta Stereo parallax New Performer node types Physically correct model sizes Configuration via DSOs Display-independent graphics Generic input devices Navigation and interaction techniques

16 www.diverse.vt.ed u August 8, 2001 diversifly End-user program that: Loads model files with optional transformations No programming required Behavior can be modified via DSOs

17 www.diverse.vt.ed u August 8, 2001 Example: US Navy Crane Ship

18 System Software Design DTK Server memory manager SharedMemor y system state Motion Base com motion base Motion Base controller command base state LAMPS ship dynamics ship Fun Filter motion filter motion graphics Render draw visual Crane Model crane dynamics crane Crane Control operator filter Operator Input joysticks/button s joysticks buttons sensors MotionTracker non-magnetic head wand *complete

19 Sound simulator driven SharedMemory system state command base state ship motion graphics crane joysticks buttons head wand

20 www.diverse.vt.ed u August 8, 2001 A simple, useable program #include int main(void) { pfInit( ); dgiPf app; pfConfig( ); app.display( )->world( )-> addChild( pfdLoadFile(”model.pfb”) ); while( app.state & DGIPF_ISRUNNING ) pfFrame( ); pfExit( ); return 0; }

21 www.diverse.vt.ed u August 8, 2001 This simple program can run unmodified in a … CAVE TM ImmersaDesk TM HMD (Head Mounted Display) Desktop Laptop With many Navigation Methods and Interaction Techniques With Stereo and/or Mono Display

22 www.diverse.vt.ed u August 8, 2001 Future directions (fall 2001) dGL Augments OpenGL Support for many more platforms dOI Adds Open Inventor scenegraph to dGL dSGL Adds SGL scenegraph to dGL

23 www.diverse.vt.ed u August 8, 2001 Future directions (early 2002) more navigation, simulation and collaboration techniques new devices Xwand PocketPC

24 www.diverse.vt.ed u August 8, 2001 Future directions (summer 2002) hooks to: VTK OpenGL Volumizer generalized motion queuing

25 www.diverse.vt.ed u August 8, 2001 www.diverse.vt.edu


Download ppt "Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group www.diverse.vt.edu."

Similar presentations


Ads by Google