lance arsenault john kelso ron kriz
TRANSCRIPT
Lance ArsenaultJohn KelsoRon Kriz
www.diverse.vt.edu
www.diverse.vt.edu
May 24, 2001
Data visualization in the Engineering Sciences using
DIVERSE
http://www.sv.vt.edu/Item7- Student projects (91,92, … 01)
evicendependentirtualnvironments-econfigurable,calable,xtensible
www.diverse.vt.edu
May 24, 2001
Overview
• C++ API
• Free, Open source• LGPL libraries, GPL applications
• SGI IRIX and GNU/Linux• Support for all three IRIX binary types
www.diverse.vt.edu
May 24, 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
www.diverse.vt.edu
May 24, 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
www.diverse.vt.edu
May 24, 2001
Who uses DIVERSE?
US Navy:• 3d target-acquisition visualization for
submarines• Dynamic ship-crane project
Lockheed-Martin:• Tools for collaborative engineering.
NIST:• Visualization of complex data sets• Haptic device for probing data set densities
www.diverse.vt.edu
May 24, 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
www.diverse.vt.edu
May 24, 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
www.diverse.vt.edu
May 24, 2001
dgiPf DIVERSE Graphics Interface for
PerformerUses DTK and Performer to provide:• Configuration via DSOs• Display-independent graphics• Coordinate systems and scenegraph• Symmetric and asymmetric viewing frusta• Stereo parallax• Generic input devices• Navigation• New Performer node types
www.diverse.vt.edu
May 24, 2001
DIVERSE distribution includes:
• Library for application development
• Stand-alone application programs and utilities
• Several dozen small programs to illustrate specific features of dgiPf • Written to be easily moved and modified
www.diverse.vt.edu
May 24, 2001
The only thing you should say before giving a demo is “watch this”
www.diverse.vt.edu
May 24, 2001
diversifly
• Application program
• Loads model files with optional transformations
• Behavior can be modified via DSOs
www.diverse.vt.edu
May 24, 2001
diversifly demos
Performer Town on a desktop:diversifly --origin 2500 2500 2 -90 0 0 town.pfb
Performer Town in a CaveTM simulator:env DGIPF_DSO_FILES=desktopCaveSimGroup \
diversifly --origin 2500 2500 2 -90 0 0 town.pfb
www.diverse.vt.edu
May 24, 2001
Hello World!
#include <dgiPf.h>int main(void) {
pfInit();dgiPf app;pfConfig();app.display()->world()->
addChild(pfdLoadFile(”model.pfb"));while(app.state & DGIPF_ISRUNNING)
pfFrame();pfExit();return 0;
}
www.diverse.vt.edu
May 24, 2001
hello.C demos
Default, no navigation or input devices:hello
Cave Simulator:env DGIPF_DSO_FILES=desktopCaveSimGroup \
hello
Desktop:env DGIPF_DSO_FILES=desktopGroup \
hello
www.diverse.vt.edu
May 24, 2001
hello.C demos
Desktop, writing navigation to DTK shared memory:
View the data in a terminal window:
env DGIPF_DSO_FILES=desktopGroup:\
navDTKOutput hello
dtk-readFloats nav --carriage-return
www.diverse.vt.edu
May 24, 2001
hello.C demos
While the writer is running, start a reader:
Desktop, with navigation read from DTK shared memory:
env DGIPF_DSO_FILES=simpleDisplay:\keyboardMouseInput:\iconSleepKeyboardMod:\toggleObjectsGroup:\dtkNav \
hello
www.diverse.vt.edu
May 24, 2001
hello.C demos
Terminate the writer and use sliders to write data:
dtk-sliders nav --number 7 \
--scale 0 20 -20 0 --scale 1 20 -20 0 --scale 2 20 -20 0 \
--scale 3 180 -180 0 --scale 4 180 -180 0 \
--scale 5 180 -180 0 --scale 6 10 .1 1 \
--labels x y z h p r scale
www.diverse.vt.edu
May 24, 2001
hello.C demos
Run another reader:
Cave simulator, with navigation read from DTK shared memory:
env DGIPF_DSO_FILES=desktopCaveSimGroup:\
dtkNav hello
www.diverse.vt.edu
May 24, 2001
hello.C demos
And finally, a Cave Simulator, with navigation written to DTK shared memory, and a flashlight:
env DGIPF_DSO_FILES=desktopCaveSimGroup:\
navDTKOutput:wandLight hello
www.diverse.vt.edu
May 24, 2001
Future directions
dgiGL (summer 2001)• Augments OpenGL• Support for many more platforms
dgiOi (fall 2001)• Adds Open Inventor scenegraph to dgiGL
www.diverse.vt.edu
May 24, 2001
Future directions
• head’s up displays (summer 2001)
• hooks to VTK (summer 2001)
• more navigation and simulation techniques(summer 2001)
• collaborative tools (fall 2001)• motion queuing (fall 2001)
• new devices• Phantom haptic device (fall 2001)• Xwand (summer 2001)• PocketPC (summer 2001)
www.diverse.vt.edu
May 24, 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])
www.diverse.vt.edu
May 24, 2001