Electronic Visualization Laboratory University of Illinois at Chicago Programming the Personal Augmented Reality Immersive System (PARIS) Chris Scharver.

Slides:



Advertisements
Similar presentations
SEMINAR ON VIRTUAL REALITY 25-Mar-17
Advertisements

A Natural Interactive Game By Zak Wilson. Background This project was my second year group project at University and I have chosen it to present as it.
Cameras and Projectors
Multimedia Specification Design and Production 2012 / Semester 1 / week 6 Lecturer: Dr. Nikos Gazepidis
3D Graphics Rendering and Terrain Modeling
VisHap: Guangqi Ye, Jason J. Corso, Gregory D. Hager, Allison M. Okamura Presented By: Adelle C. Knight Augmented Reality Combining Haptics and Vision.
Intro to Simulation and Virtual reality – CE ► An overview of VR and simulation ► Practical application of theory ► Module Leader - Bob Hobbs ►
SienceSpace Virtual Realities for Learning Complex and Abstract Scientific Concepts.
Theoretical Foundations of Multimedia Chapter 3 Virtual Reality Devices Non interactive Slow image update rate Simple image Nonengaging content and presentation.
Tele-Immersion Summer What is Tele-Immersion Networked Virtual Reality High Speed Network: Internet 2 Virtual Reality computer generated, interactive,
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
11/21/02Visualization Laboratory, Texas A&M University1 Next Generation Spatially Immersive Visualization Systems Prof. Frederic I. Parke Visualization.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
5/5/2006Visualization Sciences, Texas A&M University1 Spatially Immersive Visualization Systems (an update) Prof. Frederic I. Parke Visualization Sciences.
Hardware (how they work)
Graphical User Interfaces in Virtual Reality Patrick Hartling Virtual Reality Applications Center IEEE VR 2002.
Computer-Based Animation. ● To animate something – to bring it to life ● Animation covers all changes that have visual effects – Positon (motion dynamic)
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
Introduction to Graphics and Virtual Environments.
Welcome to the world of G.V.Ram Mohan Reddy G.V.Ram Mohan Reddy.
Augmented Reality and 3D modelling Done by Stafford Joemat Supervised by Mr James Connan and Mr Mehrdad Ghaziasgar.
Electronic Visualization Laboratory University of Illinois at Chicago Interaction between Real and Virtual Humans: Playing Checkers R. Torre, S. Balcisoy.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
2.5/2.6/2.7.  Virtual Reality presents a world in 3d space  Regular input devices such as a mouse only has 2 degrees of movement when 6 is needed for.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Cthru Technical Brief Gary Morris Center of Higher Learning Stennis Space Center.
UNIT I 2D PRIMITIVES INTRODUCTION 1 SNSCE/IT/ARUNA.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
VIRTUAL REALITY Sagar.Khadabadi. Introduction The very first idea of it was presented by Ivan Sutherland in 1965: “make that (virtual) world in the window.
GENESIS OF VIRTUAL REALITY  The term ‘Virtual reality’ (VR) was initially coined by Jaron Lanier, founder of VPL Research (1989)..
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Creating Virtual Reality Applications Using FreeVR David J. Zielinski Friday Visualization Forum October 1 st,2004.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Electronic Visualization Laboratory University of Illinois at Chicago Tele-immersive Cranial Implant Design Chris Scharver September 12, 2001
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
University of Illinois at Chicago The Varrier ™ Autostereoscopic VR Display An OptIPuter Display System Daniel Sandin, Todd Margolis, Tom Peterka Javier.
A Few Things about Graphics Jian Huang Computer Science University of Tennessee.
HCI 입문 Graphics Korea University HCI System 2005 년 2 학기 김 창 헌.
Interface Opportunities for 3D Data and Media User Interface Software TechNote Panel Virginia Tech CS Fall 2002 Nicholas F. Polys Umur Yilmaz Will Lee.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
VIRTUAL REALITY PRESENTED BY, JANSIRANI.T, NIRMALA.S, II-ECE.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Lance Arsenault John Kelso Ron Kriz
1 Developing a 2.5-D video avatar Tamagawa, K.; Yamada, T.; Ogi, T.; Hirose, M.; Signal Processing Magazine, IEEE Volume 18, Issue 3, May 2001 Page(s):35.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
1 Computer Graphics Week1 -Introduction. Computer graphics History Computer graphics generally means creation, storage and manipulation of models and.
TELE IMMERSION AMAN BABBER
CS COMPUTER GRAPHICS LABORATORY. LIST OF EXPERIMENTS 1.Implementation of Bresenhams Algorithm – Line, Circle, Ellipse. 2.Implementation of Line,
CONTENT FOCUS FOCUS INTRODUCTION INTRODUCTION COMPONENTS COMPONENTS TYPES OF GESTURES TYPES OF GESTURES ADVANTAGES ADVANTAGES CHALLENGES CHALLENGES REFERENCE.
Haris Ali (15) Abdul Ghafoor (01) Kashif Zafar (27)
Made By: Pallavi Chhikara
Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group
Image courtesy of National Optical Astronomy Observatory, operated by the Association of Universities for Research in Astronomy, under cooperative agreement.
Chapter 1 Graphics Systems and Models Models and Architectures.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
Lesson Plan: Drafting and Design J6-2. What is 3D solid modeling? How do 3D solid modeling programs work?
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
In the name of God Computer Graphics.
From: Learning to integrate arbitrary signals from vision and touch
Models and Architectures
Introduction to Computer Graphics with WebGL
Virtual Reality.
AN INTRODUCTION TO COMPUTER GRAPHICS Subject: Computer Graphics Lecture No: 01 Batch: 16BS(Information Technology)
Presentation transcript:

Electronic Visualization Laboratory University of Illinois at Chicago Programming the Personal Augmented Reality Immersive System (PARIS) Chris Scharver Thursday September 11, 2003

Electronic Visualization Laboratory University of Illinois at Chicago PARIS MMVR Video Video shot at Medicine Meets Virtual Reality January 2003, Newport Beach, California

Electronic Visualization Laboratory University of Illinois at Chicago What is PARIS? Augmented Reality systems combine real and virtual objects, aligning them so that the user views both. Immersive systems provide head and hand tracking, viewer centered perspective, stereo vision, and absolute scale.

Electronic Visualization Laboratory University of Illinois at Chicago PARIS Features Large field of view immerses the user within the virtual environment Users sees both his hands and the environment Hands do not obscure virtual images Less eye strain due to accommodation

Electronic Visualization Laboratory University of Illinois at Chicago Immersive Displays 1992 CAVE 1995 ImmersaDesk 1996 ImmersaDesk PARIS simulation 2001 PARIS prototype 2002 Manufactured PARIS

Electronic Visualization Laboratory University of Illinois at Chicago Designing PARIS Simulated within the CAVE Users sat at a table Evaluation –Vertical view problematic, users could only look up 10 degrees, but 20 degrees is more comfortable –Screen height and size were adjusted so that reflections would not interfere with the image

Electronic Visualization Laboratory University of Illinois at Chicago Haptics Robotic devices generate force feedback, simulating a sense of touch SensAble’s PHANToM is a popular commercial device –Single point of contact –6DOF input, 3DOF feedback Varying workspace sizes –PHANToM Desktop, 1.5 –PHANToM 3.0

Electronic Visualization Laboratory University of Illinois at Chicago Cranial Implant Research

Electronic Visualization Laboratory University of Illinois at Chicago PARIS™ Hardware and Software Setup

Electronic Visualization Laboratory University of Illinois at Chicago PARIS Display Configuration System setup is similar to other CAVELib- based displays. –Determine world origin –Measure three projection corners –Configure tracking systems if available Screen should remain in a fixed position, and careless bumps can nullify alignment Moving large metal objects can interfere

Electronic Visualization Laboratory University of Illinois at Chicago PARIS Measurements CAVELib origin Projection corners Tracking system, if present, is measured from the CAVELib origin

Electronic Visualization Laboratory University of Illinois at Chicago Incorporating the PHANToM Determine PHANToM device origin At-rest position is not correct! Measure offset from the world origin

Electronic Visualization Laboratory University of Illinois at Chicago Scene Graph Libraries Worlds composed of an object hierarchy Easy to comprehend graphics structures Usually written in C++ Examples: Open Inventor, Performer, OpenRM, OpenSG, OpenSceneGraph

Electronic Visualization Laboratory University of Illinois at Chicago Integrating Software Libraries Open Inventor CAVELib GHOST Open Inventor created by SGI in 1991 Designed for extensibility and interaction Human-readable model files identical to VRML1 Highly portable across operating systems TGS Open Inventor is a commercial implementation General Haptic Open Software Toolkit Device communication for PHANToM Scene graph contains shape and behavior nodes Only includes the most basic graphic rendering! Controls viewer-centered perspective Synchronizes OpenGL buffer swapping among multiple windows Manages user navigation Allows running on multiple display configurations including a simulator

Electronic Visualization Laboratory University of Illinois at Chicago Open Inventor vs. GHOST Traversal is top-down and left-right Primitives, triangle strips, splines Ultimately rendering triangles for every shape Transformations independent of shapes Traversal is top-down only Mathematical primitives Meshes composed of individual triangles Transformations specific to shapes No material or lighting support

Electronic Visualization Laboratory University of Illinois at Chicago Coordinating Haptics and Graphics

Electronic Visualization Laboratory University of Illinois at Chicago RICDemo: a Simple PARIS Application

Electronic Visualization Laboratory University of Illinois at Chicago Simple RICDemo Application: Touch a Ball Requirements –Present 3D colored spheres –Allow touching sphere surfaces –Move spheres while pressing PHANToM button –Provide visual cue to surface contact –Indicate the stylus position Head tracking is not enabled since there is no tracking hardware in place.

Electronic Visualization Laboratory University of Illinois at Chicago Basic CAVELib C Program Structure /* Initialize the library. */ CAVEConfigure(&argc, argv, NULL); /* Give the library the initialization function. */ CAVEInitApplication(app_init, 0); /* Give the library the drawing function. */ CAVEDisplay(app_draw, 0); /* Initialize the CAVE and start the displays. */ CAVEInit(); /* Perform application updates, usually a loop. */ app_update(); /* Clean up & exit */ CAVEExit();

Electronic Visualization Laboratory University of Illinois at Chicago Process Overview main haptics trackingdisplay

Electronic Visualization Laboratory University of Illinois at Chicago Responding to Haptic Events touch ball trigger touch event change ball color PHANToM moves obtain transform update Open Inventor drag ball obtain new position update Open Inventor

Electronic Visualization Laboratory University of Illinois at Chicago RICDemo Classes OIVAppShell: Open Inventor and CAVELib RICDemoApp: Application Behavior RICBall: Open Inventor and GHOST OIVAppShell RICDemoAppRICBall

Electronic Visualization Laboratory University of Illinois at Chicago OIVAppShell Class Stores a root scene graph node Retrieves screen information from the CAVELib for each window Renders the Open Inventor scene Provides functions to CAVELib –Initialization –Once per frame update –Frame draw function

Electronic Visualization Laboratory University of Illinois at Chicago RICBall Contains both Open Inventor and GHOST objects Shares common attributes –Position –Radius Implements behaviors –Touch event changes ball colors –Transform event changes ball position

Electronic Visualization Laboratory University of Illinois at Chicago RICDemoApp CAVELib units must be set to meters –Open Inventor assumes meters as the default –GHOST uses millimeters Hooks triggered by GHOST respond by copying transformations into Open Inventor SoUnits to mm PHANToM transform matrix Ball object transform matrix

Electronic Visualization Laboratory University of Illinois at Chicago Application in Action

Electronic Visualization Laboratory University of Illinois at Chicago Issues Portability with different graphics libraries Data duplication due to multiple representations Dependent upon libraries’ capabilities Must understand intricacies of how the libraries operate and where to place the plugs for them to interact

Electronic Visualization Laboratory University of Illinois at Chicago Questions

Electronic Visualization Laboratory University of Illinois at Chicago Acknowledgements The virtual reality and advanced networking research, collaborations, and outreach programs at the Electronic Visualization Laboratory (EVL) at the University of Illinois at Chicago are made possible by major funding from the National Science Foundation (NSF), awards EIA , EIA and ANI , as well as the NSF Partnerships for Advanced Computational Infrastructure (PACI) cooperative agreement (ACI ) to the National Computational Science Alliance. EVL also received funding from the US Department of Energy (DOE) ASCI VIEWS program. PARIS is a trademark of the Board of Trustees of the University of Illinois.

Electronic Visualization Laboratory University of Illinois at Chicago Putting RICDemo Together /* Initialize the library. */ CAVEConfigure(&argc, argv, NULL); /* Create the application object. */ RICDemoApp* app = new RICDemoApp(argc, argv); /* Give the library the initialization function. */ CAVEInitApplication(OIVAppShell::DisplayInitCB, 1, app); /* Give the library the drawing function. */ CAVEDisplay(OIVAppShell::FrameDrawCB, 1, app); CAVEFrameFunction(OIVAppShell::FrameUpdateCB, 1, app); /* Initialize the CAVE and start the displays. */ CAVEInit(); /* Perform application updates, usually a loop. */ app->update(); /* Clean up & exit */ CAVEExit();