Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg,...
-
Upload
muriel-ball -
Category
Documents
-
view
214 -
download
0
Transcript of Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg,...
![Page 1: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/1.jpg)
www.diverse.vt.edu
April 26, 2001
![Page 2: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/2.jpg)
Lance ArsenaultJohn KelsoRon Kriz
Virginia TechBlacksburg, Virginiawww.diverse.vt.edu
![Page 3: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/3.jpg)
www.diverse.vt.edu
April 26, 2001
The DIVERSE group
Lance Arsenault• Assistant research professor, Virginia Tech
dept. of Engineering, Science and Mechanics
John Kelso• Research associate, Virginia Tech’s
University Visualization and Animation Group
Ron Kriz• Associate professor, Virginia Tech dept. of
Engineering, Science and Mechanics
![Page 4: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/4.jpg)
evicendependentirtualnvironments-econfigurable,calable,xtensible
![Page 5: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/5.jpg)
www.diverse.vt.edu
April 26, 2001
Motivation
Toolkits and libraries exist, but most have at least one of these problems:• follow the “center of the universe” paradigm• are very expensive• are proprietary• can’t be extended or modified
![Page 6: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/6.jpg)
www.diverse.vt.edu
April 26, 2001
Who uses or supports DIVERSE?
US Navy:• 3d target-acquisition visualization for submarines• Dynamic ship-crane project
Lockheed-Martin:• Extending DIVERSE with collaborative tools.
NIST:• Haptic device for probing data set densities
![Page 7: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/7.jpg)
www.diverse.vt.edu
April 26, 2001
Overview
• C++ API
• Free, Open source• LGPL libraries, GPL applications
• SGI IRIX and GNU/Linux• Support for all three IRIX binary types
![Page 8: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/8.jpg)
www.diverse.vt.edu
April 26, 2001
Goals
Modular• Only use the parts you need
Flexible• Easy to reconfigure and extend
Same program works on all hardware• No changes to application
![Page 9: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/9.jpg)
www.diverse.vt.edu
April 26, 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
![Page 10: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/10.jpg)
www.diverse.vt.edu
April 26, 2001
Two separate packages
DTK- the DIVERSE ToolKit• Contains classes not related to graphics• A standalone package in its own right
dgiPf- the DIVERSE graphics interface for OpenGL Performer™ • Built using DTK and Performer
![Page 11: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/11.jpg)
www.diverse.vt.edu
April 26, 2001
DTK DIVERSE ToolKit
Library• C++ classes used to build everything else
Server• Manager process
Services• Interfaces to hardware devices or virtual surrogates
Clients• Programs that control and interact with the server
![Page 12: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/12.jpg)
www.diverse.vt.edu
April 26, 2001
DTK
Library of C++ classes provide:• Remote shared memory• Data queuing• Utilities, such as an affine matrix class• Dynamically Shared Object (DSO) loading:
• Small separately compiled programs• Reconfiguration with recompiling
• Loaded at run-time• Configurations can be changed while program is
running
![Page 13: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/13.jpg)
www.diverse.vt.edu
April 26, 2001
DTK
Server• Manages services, memory, queues • Run as a regular process or as a true Unix daemon• Lightweight select server• Multiple simultaneous copies can run using different
ports
![Page 14: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/14.jpg)
www.diverse.vt.edu
April 26, 2001
DTK
Services• Usually DSOs (shared libraries loaded in run-time)• Can be loaded and unloaded without restarting server• Each service interfaces to a specific device• Devices can be real hardware or software emulations
![Page 15: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/15.jpg)
www.diverse.vt.edu
April 26, 2001
DTK
Clients• Take the form of installed application
programs- examples:• Control and query server
• Start/stop on specified port• Load/unload services
• Connect to remote shared memory of other hosts• Read and write data from remote shared memory• Write remote shared memory to Unix System V
shared memory in VRCO trackd™ compatible format
![Page 16: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/16.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf DIVERSE Graphics Interface for
PerformerUses DTK and Performer to provide:• Configuration via DSOs• Display-independent graphics• Coordinate systems and scenegraph• Viewing frusta and stereo parallax• Generic input devices• Navigation• New Performer node types
![Page 17: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/17.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Configuration via DSOs:• Used to specify:
• Graphics configurations• Available input devices• Navigation techniques• Interaction techniques• Minor modifications- tweak files
• DSOs can load other DSOs, so groups can be created
![Page 18: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/18.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Configuration via DSOs, continued:• Application can define default set
• “works by default”
• Default can be overridden by user• “stay out of the user’s way”
![Page 19: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/19.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Display-independent graphics• Same program runs on systems from a
CAVE™ to a GNU/Linux laptop without modification• Display configurations are usually DSOs
• Doesn’t prevent display-dependent programs from being written if desired
![Page 20: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/20.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Display-independent graphics, continued• Simulator- allows programs to simulate an
immersive environment on a desktop• Virtual head (locator) and wand (valuator and buttons)
• Can be displayed and positioned• Useful as immersive development/debugging tool
• Can jump outside of ether world and look back in• Loaded as a DSO
• CAVE Simulator• Objects displayed at physically correct size in
simulator
![Page 21: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/21.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Three coordinate systems:• dgiPf
• normalized [ -1.0 1.0 ]• ether
• fixed model units • like 19th century physics
• world• navigated model units
• ether + current navigational transformation
As a world moves through the ether it takes its frame of reference along with it
![Page 22: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/22.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
dgiPf coordinate cube
![Page 23: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/23.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Immersive systems can specify coordinates in physical units• Models are displayed with correct physical
size regardless of immersive display size
A meter stick should appear to be a meter long
![Page 24: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/24.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
default scenegraph
![Page 25: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/25.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Viewing frusta• Symmetric
• Typically desktop• Base of frusta moves with user’s view
• Asymmetric• Typically immersive• Base of frusta is fixed• Point moves with view• Always perpendicular to base
![Page 26: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/26.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Stereo parallax• Automatically generates correctly positioned
stereo pairs based on view position, interoccular distance and orientation.
• Symmetric frusta can also specify a convergence factor
![Page 27: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/27.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Generic input devices• Locator- a position and orientation• Valuator- an array of continuous values• Button- a 32 bit mask• Keyboard- returns “X” key codes• Pointer- returns normalized cursor position
within a window
![Page 28: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/28.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Input devices, continued• Real or virtual
• Application unaware of data’s hardware
• Local or remote• Application unaware of data’s source
![Page 29: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/29.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Input devices, continued• Any device can be polled or queued
• Polled- reads latest value• Typically used for continuous data, such as
locators, valuators and pointers• Queued- all values are save in a circular queue
• Typically used for discrete data, such as buttons and keyboards
![Page 30: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/30.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Navigation• Navigation technique can be encapsulated in
a DSO• Use mouse when on desktop• Use wand and joystick when in CAVE
• Independent of and transparent to, application• By loading a navigation DSO, navigation can be
added to a static application
![Page 31: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/31.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Navigation, continued• Multiple navigators can be loaded
• Can switch between them to:• Change interaction technique• Change position in the world (portal effect)
• Navigation based on the dgiPfTransform class:• Provides affine transformation on a scenegraph
node which can be placed anywhere in scenegraph
![Page 32: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/32.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
C++ classes:• dgiPf• dgiPfAugment• dgiPfDisplay
![Page 33: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/33.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
C++ classes: dgiPf• Single instance (singleton)• Application’s entry point into dgiPf system• Factory of other objects• Loads DSOs in form of dgiPfAugment objects
![Page 34: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/34.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
C++ classes: dgiPfAugment• Adds functionality without program
modification• Four entry points, invoked by dgiPf object
• Before and after pfConfig• Before and after pfFrame
• return values tell dgiPf how to proceed
![Page 35: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/35.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
C++ classes: dgiPfAugment• dgiPf DSOs are objects based on this class, or
classes derived from this class• Example of classes based on dgiPfAugment:
• dgiPfInput• dgiPfNav• dgiPfTransform• dgiPfTweakFile
![Page 36: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/36.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
C++ classes: dgiPfDisplay• Singleton created by dgiPf object• Creates scenegraph• Sets up coordinate systems• Usually configured by DSO
![Page 37: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/37.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
C++ classes: dgiPfDisplay, continued• Manages frusta, parallax and views• Factory of other objects based on
configuration• Structures Performer classes
![Page 38: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/38.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
C++ classes: dgiPfDisplay, continued
![Page 39: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/39.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
New Performer nodes• Data-driven programming as opposed to
object-oriented methods. Examples include:• dgiPfDCS
• Update a node’s transformation by modifying a variable
• dgiPfToggle• Change a node’s visibility by modifying a bit-
mask
![Page 40: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/40.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Distribution includes examples:• Several dozen small programs to illustrate
specific features of dgiPf• Written so they can easily be moved and
modified
![Page 41: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/41.jpg)
www.diverse.vt.edu
April 26, 2001
dgiPf
Diversifly: a dgiPf application• Loads and navigates through model files• No programming required
![Page 42: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/42.jpg)
www.diverse.vt.edu
April 26, 2001
Future directions
dgiPf• head’s up displays (summer 2001)• hooks to VTK (summer 2001)• more navigation and simulation techniques
(summer 2001)
![Page 43: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/43.jpg)
www.diverse.vt.edu
April 26, 2001
Future directions
DTK• collaborative tools (fall 2001)• motion queuing (fall 2001)• new devices
• Phantom haptic device (fall 2001)• Xwand (summer 2001)• PocketPC (summer 2001)
![Page 44: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/44.jpg)
www.diverse.vt.edu
April 26, 2001
Future directions
dgiGL (summer 2001)• Augments OpenGL• Support for many more platforms
dgiOi (fall 2001)• Adds Open Inventor scenegraph to dgiGL
![Page 45: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/45.jpg)
www.diverse.vt.edu
April 26, 2001
Want to know more?
Visit www.diverse.vt.edu and• Download and try it out• Read the friendly manuals
Contact:
Lance Arsenault ([email protected])
John Kelso ([email protected])
Ron Kriz ([email protected])
![Page 46: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/46.jpg)
www.diverse.vt.edu
April 26, 2001
![Page 47: Www.diverse.vt.ed u April 26, 2001. Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia .](https://reader035.fdocuments.us/reader035/viewer/2022070400/56649f145503460f94c28537/html5/thumbnails/47.jpg)
www.diverse.vt.edu
April 26, 2001