lance arsenault john kelso ron kriz

25
Lance Arsenault John Kelso Ron Kriz www.diverse.vt.edu

Upload: cameron-fisher

Post on 18-Jan-2016

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lance Arsenault John Kelso Ron Kriz

Lance ArsenaultJohn KelsoRon Kriz

www.diverse.vt.edu

Page 2: Lance Arsenault John Kelso Ron Kriz

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)

Page 3: Lance Arsenault John Kelso Ron Kriz

evicendependentirtualnvironments-econfigurable,calable,xtensible

Page 4: Lance Arsenault John Kelso Ron Kriz

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

Page 5: Lance Arsenault John Kelso Ron Kriz

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

Page 6: Lance Arsenault John Kelso Ron Kriz

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

Page 7: Lance Arsenault John Kelso Ron Kriz

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

Page 8: Lance Arsenault John Kelso Ron Kriz

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

Page 9: Lance Arsenault John Kelso Ron Kriz

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

Page 10: Lance Arsenault John Kelso Ron Kriz

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

Page 11: Lance Arsenault John Kelso Ron Kriz

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

Page 12: Lance Arsenault John Kelso Ron Kriz

www.diverse.vt.edu

May 24, 2001

The only thing you should say before giving a demo is “watch this”

Page 13: Lance Arsenault John Kelso Ron Kriz

www.diverse.vt.edu

May 24, 2001

diversifly

• Application program

• Loads model files with optional transformations

• Behavior can be modified via DSOs

Page 14: Lance Arsenault John Kelso Ron Kriz

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

Page 15: Lance Arsenault John Kelso Ron Kriz

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;

}

Page 16: Lance Arsenault John Kelso Ron Kriz

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

Page 17: Lance Arsenault John Kelso Ron Kriz

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

Page 18: Lance Arsenault John Kelso Ron Kriz

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

Page 19: Lance Arsenault John Kelso Ron Kriz

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

Page 20: Lance Arsenault John Kelso Ron Kriz

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

Page 21: Lance Arsenault John Kelso Ron Kriz

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

Page 22: Lance Arsenault John Kelso Ron Kriz

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

Page 23: Lance Arsenault John Kelso Ron Kriz

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)

Page 24: Lance Arsenault John Kelso Ron Kriz

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])

Page 25: Lance Arsenault John Kelso Ron Kriz

www.diverse.vt.edu

May 24, 2001