VR & TRANSF Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, February 23, 2004.

Slides:



Advertisements
Similar presentations
VR Juggler 1.0 Application Programming Patrick Hartling Virtual Reality Applications Center IEEE VR 2002.
Advertisements

Understanding Your Laptop A scavenger hunt designed to help you get to know your new computer.
CREATING USER ACCOUNTS Group accounts simplify administration by organizing user accounts into a single administrative unit. They provide a convenient.
Part 2: Manage app lifecycle and state (Windows Store apps using C#/VB and XAML) us/library/windows/apps/hh aspx
Control Panel in Lecture Theatre Learning Environment Services.
BACKEND MULTIMEDIA ROOM Home User Guide Computer Projector DVD/ VCR Remote Mouse Save tutorial on desktop to watch full screen. Click boxes to jump into.
Step 1: Using the Classroom Equipment The Crestron panel is the BRAIN of the classroom equipment. 1. Touch the screen to activate the controls 2. Press.
Chapter 11 Exploring Windows XP Vol. 1 Part One - Windows XP Professional: The Basics.
ETT 429 Spring 2007 Hardware/Software Basics. Agenda Technology Standards Review Technology Standards Review Results of Technology Self Assessment Results.
1 of 2 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Getting Started with Linux: Novell’s Guide to CompTIA’s Linux+ (Course 3060) Section 2 Use the Linux Desktop.
CS 0008 Day 2 1. Today Hardware and Software How computers store data How a program works Operators, types, input Print function Running the debugger.
Vocabulary Crossword 2-1 Vocabulary Crossword Puzzle 2-1 Click mouse to advance slides. Press Esc key to close presentation.
SOFTWARE.
Introduction to Computers I A presentation of the Elmhurst Public Library.
The Internal Components of a Personal Computer (PC)
Applets Java API.
Hardware.  Learn what hardware is  Learn different input and output devices  Learn what the CPU is.
Mouse-Based Viewing & Navigation Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, November 3, 2003.
Guide Demo Program installation SOP ePAD SW PM. Before you start Check “Guide” version is latest ( or ) * follow next page Latest version.
Representing Transformations, The TRANSF Package Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday,
Control Panel Overview. Purpose of the Control Panel  The Control Panel allows you to choose what you want your projector to display on the screen.
Walk-and-Talk TM Remote Control Touch pad Pen Style Palette Erases All Marks at Once Left and Right Mouse Buttons Calibration Sends Screen Image to Printer.
Constant Hall A Mediated Classroom Guide. In Constant Hall classrooms, media and computer equipment is stored in a Media Desk. You will also find this.
1 Chapter Overview Configuring and Troubleshooting the Display Configuring Power Management Configuring Operating System Settings Configuring and Troubleshooting.
Elementary Campuses. Mouse on mouse pad Chair pushed in neatly Keyboard straight Logged off Helping hand on left side Headphones neatly setting on right.
To Use This System To schedule a training or for classroom support, please call the Library Computing Helpdesk at WAYNE STATE UNIVERSITY -
Lecture Set 1 Part C: Understanding Visual Studio and.NET – Applications, Solutions, Projects (no longer used – embedded in Lecture Set 2A)
Data Structures for Scenes, The Basics of Scene Graphs Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Friday,
Input Devices Ali El-Achmar Matt Leclair TEJ20. What Are Input Devices? ● Input Devices are data going into the computer from the user.
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Homogeneous Form, Introduction to 3-D Graphics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 20,
Shadows via Projection Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Wednesday, November 5, 2003.
Chapter 1 Getting Started. 2Practical PC 5 th Edition Chapter 1 Getting Started In this Chapter, you will learn: − How to power up the computer − About.
Introduction: SIMULATION AND ANIMATION DESIGN. What is Simulation and Animation Design? Also known as Video Game Design or Graphic Design Contains: Ethics.
Files to turn in for Homework # 1 1)TimerApplet.java 2)TimerApplet.html 3)TimerSyntaxErr.java 4)TimerSemanticErr.java 5)TimerSemanticErr.html 6)HomeWork1.txt.
VR UI, Notes on Projects, Intro. to Object Descriptions Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday,
Instructions To start a new game, click the “Start New Game” button. To reset the game in order to change the Answers and Questions on each slide, as.
WHAT IS HARDWARE? Hardware refers to the set of components that make up the internal part of a computer. In case of the personal computers, it doesn’t.
More on Drawable Objects, Hierarchical Objects Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, January.
Hardware How does it all work? 1Copyright © Texas Education Agency, All rights reserved. Images and other multimedia content used with permission.
Intro. to Advanced Lighting, Basic Ray Tracing Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, April.
Build-A-Button Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Wednesday, October 8, 2003.
SD1230 Unit 6 Desktop Applications. Course Objectives During this unit, we will cover the following course objectives: – Identify the characteristics.
12/5/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam King,
More on GLUT Programming Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, September 15, 2003.
More TRANSF, VR Programming Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, February 16, 2004.
Advanced Viewing Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, October 31, 2003.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 4 Working with Variables, Constants, Data Types, and Expressions.
Pop-Up Menus Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 26, 2003.
Technology Training Team (USC and AITT) About Acadia Classrooms.
1 COMPUTER LAB REGULATION
Control Panel in Lecture Theatres Learning Environment Services.
Event Handling (the right way). A Simple Web Page Events - Summary The web page looks like this:
THE WINDOWS OPERATING SYSTEM Computer Basics 1.2.
Introduction to Input/Interaction Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 19, 2003.
Hardware/Software Basics Test Get out your DIY Test Review.
Introduction to Programming Python Lab 7: if Statement 19 February PythonLab7 lecture slides.ppt Ping Brennan
Welcome to Computer Solutions 1! Before we begin our nine weeks, it is important that you have some basic knowledge about using and maintaining your computer.
Office 2010 and Windows 8.1 Pp OFF 7-75 Windows 8.1 Newest version of Microsoft Windows Operating System Instructions Coordinates all computer hardware.
Digital Literacy Introduction to Computers Unit 1, Lesson 1.
Fix Xbox One Error 0x803f8001 Call
Walk-and-TalkTM Remote Control
Introduction to Operating Systems
OPERATING SYSTEMS.
ITALIAN LAB ORIENTATION
More on Widgets, Misc. Topics
S P A N I H 101 LAB ORIENTATION.
CS-0110 Introduction to Windows XP
Preview of 3-D Graphics Glenn G. Chappell
Presentation transcript:

VR & TRANSF Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, February 23, 2004

23 Feb 2004CS 481/6812 Review: Writing VR Juggler App’s [1/2] For our VR programming, we are using a library called VR Juggler. Free & open-source. Developed at VRAC, Iowa State U. C++ Not hardware- or OS-specific. Run it on your own computer. The functionality provided by VRJ is roughly the same as that of all major VR library: Manages windows, contexts, threads, hardware configuration (including stereo/mono). Interface to VR input devices. Sets up projection matrices based on user’s position. Calls user code for display, etc.

23 Feb 2004CS 481/6813 Review: Writing VR Juggler App’s [2/2] We write a VR Juggler Application. This is a C++ object. Callbacks are public member functions. Execution is multithreaded, synchronized according to “frames”. All threads have the same static & dynamic memory spaces. Watch out for conflicts! See simpleApp for an example. preFrame intraFramedraw postFrame draw Start of Frame End of Frame

23 Feb 2004CS 481/6814 Review: Discovery Lab Training All CS 481/681 students get “Discovery Lab Operator” status. Access to lab. Accounts on ARSC SGI’s, including igie. Can bring guests. Drinks not allowed near console & screens. When you use the lab, you are responsible for keeping it clean and not misusing the equipment. When you leave the DLab: Log out. If no one else is there: Plug the driver glasses & wand into their chargers. Mute the audio. Turn off the projectors. Log out of the touch panel. Dim the lights. Make sure the doors are fully closed.

23 Feb 2004CS 481/6815 VR & TRANSF: Flying [1/3] Write a (desktop) flyer that uses a variable of type transf to hold the viewing transformation. Use tfogl.h where is it convenient. See tffly.cpp, on the web page. The following slides contain some of the relevant ideas.

23 Feb 2004CS 481/6816 VR & TRANSF: Flying [2/3] Storing the Viewing Transformation Define a global of type transf ; this does everything a plane/spaceship can do. transf viewtf; Using the Viewing Transformation In the display function: glPushMatrix(); glTransform(viewtf); // Uses tfogl.h … // Draw transformed objects glPopMatrix(); Initializing the Viewing Transformation viewtf = transf(vec(0., 0., -3.)); // In function init? Type vec represents a translation. Convert to transf so the assignment works.

23 Feb 2004CS 481/6817 VR & TRANSF: Flying [3/3] Changing the Viewing Transformation Save the mouse position & button states where appropriate. Use these to modify viewtf in the idle function. Generally: transf newtf = …; viewtf = compose(newtf, viewtf); glutPostRedisplay(); Equivalent forms of the middle line: viewtf = newtf.compose(viewtf); viewtf = viewtf.lcompose(newtf); // lcompose: l = left viewtf.lcompose_assign(newtf); The last two are like * and *=.

23 Feb 2004CS 481/6818 VR & TRANSF: Moving with the Wand In terms of transformations, one of the trickier parts of VR is moving objects together in an arbitrary frame of reference. For example, moving an object with the wand. To draw an object in the wand’s frame of reference: glPushMatrix(); glTransform(myUser.getTransf(USR_WAND)); … // Draw transformed objects glPopMatrix();

23 Feb 2004CS 481/6819 VR & TRANSF: Where is the Wand Pointing? To find where the wand points: vec wandDir = myUser.getFrontVec(USR_WAND); How do we turn this into a 2-D vector (no up/down)? Solution 1: wandDir[1] = 0.; wandDir = wandDir.normalized(); Solution 2: wandDir -= wandDir.component(vec(0.,1.,0.)); wandDir = wandDir.normalized();

23 Feb 2004CS 481/68110 VR & TRANSF: Harder Problems How do we grab a stationary object with the wand? Always grab the “right” object. No “popping” into place? How do we create a usable “flying” interface for the CAVE? What about “walking”?