Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia www.diverse.vt.edu.

Slides:



Advertisements
Similar presentations
Easily retrieve data from the Baan database
Advertisements

Using MapuSoft Instead of OS Vendor’s Simulators.
DIVERSE Lance Arsenault John Kelso Center for Visualization and Virtual Environments Virginia Tech, Blacksburg, VA
Discovering Computers Fundamentals, Third Edition CGS 1000 Introduction to Computers and Technology Fall 2006.
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
SHIP and CRANE SIMULATOR Lance Arsenault Ali H. Nayfeh, Dean T. Mook and Ronald Kriz Dennis Cafiero, Fernando Das Neves, John Kelso, Ziyad Masoud, Nabel.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Using Tweek to Create Graphical User Interfaces in Virtual Reality Patrick Hartling IEEE VR 2003.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Terminal Services Terminal Services is the modern equivalent of mainframe computing, in which servers perform most of the processing and clients are relatively.
Installing software on personal computer
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
8 Copyright © 2004, Oracle. All rights reserved. Creating LOVs and Editors.
Linux Operations and Administration
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Command and Control Visualization NAVCIITI Tasks 2.1a & 2.1b.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Explain the purpose of an operating system
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Microsoft Application Virtualization 5.0: Introduction Mohnish Chaturvedi & Ian Bartlett Premier Field Engineer WCL312.
Basic Concepts Of CITRIX XENAPP.
C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto.
Cthru Technical Brief Gary Morris Center of Higher Learning Stennis Space Center.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Introduction to COM and DCOM Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
ICONICS ActiveX ToolWorX V 6.1.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
1Computer Graphics Input and Interaction Lecture 8 John Shearer Culture Lab – space 2
Fostering Networked Collaboration in Virtual Environments using Open Source John Kelso*, Lance Arsenault*, and Ronald Kriz** University Visualization and.
Computer Graphics I, Fall 2010 Input and Interaction.
Syzygy Design overview Distributed Scene Graph Master/slave application framework I/O Device Integration using Syzygy Scaling down: simulators and other.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Sage ACT! 2013 SDK Update Brian P. Mowka March 23, 2012 Template date: October 2010.
Virtual Reality Lecture2. Some VR Systems & Applications 고려대학교 그래픽스 연구실.
 Whether using paper forms or forms on the web, forms are used for gathering information. User enter information into designated areas, or fields. Forms.
Creating Virtual Reality Applications Using FreeVR David J. Zielinski Friday Visualization Forum October 1 st,2004.
Virtual Environments and the CAVE in Engineering Science and Mechanics: Collaborative Research and Distance Learning University Visualization and Animation.
May 7, 2003 Command and Control Visualization NAVCIITI Tasks 2.1b.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Interface Opportunities for 3D Data and Media User Interface Software TechNote Panel Virginia Tech CS Fall 2002 Nicholas F. Polys Umur Yilmaz Will Lee.
1 Input and Interaction. 2 Objectives Introduce the basic input devices ­Physical Devices ­Logical Devices ­Input Modes Event-driven input Introduce double.
June 14, Lance Arsenault John Kelso Ron Kriz.
Haptic & Direct User Input with DirectInput ® 8 API Graphics Lab. Korea Univ.
1 Lance Arsenault vt.edu Research Assistant Professor Engineering Science and Mechanics.
Lance Arsenault John Kelso Ron Kriz
University of New Mexico
ONR Gathering April 24, 2002 NAVCIITI Visualization Thrust Tasks 2.1a & 2.1b Command and Control Visualization Year 3 & 4 (4/1/01 - 3/31/03)
Command and Control Visualization: NAVCIITI Task 2.1a&b R. Kriz*, L. Arsenault**, J. Kelso**, F. Das Neves**, and C. Logie** University Visualization and.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Haris Ali (15) Abdul Ghafoor (01) Kashif Zafar (27)
Linux Operations and Administration
Made By: Pallavi Chhikara
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Hands-On Virtual Computing
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 2.
August 21, 2002 Command and Control Visualization NAVCIITI Tasks 2.1a & 2.1b.
Manchester Computing Supercomputing, Visualization & eScience Seamless Access to Multiple Datasets Mike AS Jones ● Demo Run-through.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
Wednesday NI Vision Sessions
Microsoft Foundation Classes MFC
Virtual Reality.
Presentation transcript:

Lance Arsenault John Kelso Ron Kriz Virginia Tech Blacksburg, Virginia

u April 18, 2001 The only thing you should say before giving a demo is “watch this”…

u April 18, 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

evice ndependent irtual nvironments- econfigurable, calable, xtensible

u April 18, 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

u April 18, 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

u April 18, 2001 Overview C++ API Free, Open source LGPL libraries, GPL applications SGI IRIX and GNU/Linux Support for all three IRIX binary types

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 2001 dgiPf DIVERSE Graphics Interface for Performer Uses 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

u April 18, 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

u April 18, 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”

u April 18, 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

u April 18, 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

u April 18, 2001 dgiPf Three coordinate systems: dgiPf normalized [ -1.0  1.0 ] ether fixed model units like 19 th 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

u April 18, 2001 dgiPf dgiPf coordinate cube

u April 18, 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

u April 18, 2001 dgiPf default scenegraph

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 2001 dgiPf Input devices, continued Real or virtual Application unaware of data’s hardware Local or remote Application unaware of data’s source

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 2001 dgiPf C++ classes: dgiPf dgiPfAugment dgiPfDisplay

u April 18, 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

u April 18, 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

u April 18, 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

u April 18, 2001 dgiPf C++ classes: dgiPfDisplay Singleton created by dgiPf object Creates scenegraph Sets up coordinate systems Usually configured by DSO

u April 18, 2001 dgiPf C++ classes: dgiPfDisplay, continued Manages frusta, parallax and views Factory of other objects based on configuration Structures Performer classes

u April 18, 2001 dgiPf C++ classes: dgiPfDisplay, continued

u April 18, 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

u April 18, 2001 dgiPf Distribution includes examples: Several dozen small programs to illustrate specific features of dgiPf Written so they can easily be moved and modified

u April 18, 2001 dgiPf Diversifly: a dgiPf application Loads and navigates through model files No programming required

u April 18, 2001 Future directions dgiPf head’s up displays (summer 2001) hooks to VTK (summer 2001) more navigation and simulation techniques (summer 2001)

u April 18, 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)

u April 18, 2001 Want to know more? Visit andwww.diverse.vt.edu Download and try it out Read the friendly manuals Contact: Lance Arsenault John Kelso Ron Kriz

u April 18, 2001