Introduction to Input/Interaction Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 19, 2003.

Slides:



Advertisements
Similar presentations
Networked Digital Whiteboard with Handwritten-Symbol Interpreter and Dynamic-Display-Object Creator Atsuhide Kobashi Henry M. Gunn High School Palo Alto,
Advertisements

Objectives Overview Define an operating system
Design of Web-based Systems IS Development: lecture 10.
InteractionHofstra University1 Graphics Programming Input and Interaction.
Introduction to Computer Graphics Survey (Chapter 1) Graphics Systems (Chapter 2)
Based on slides created by Edward Angel
C HAPTER 7 Microsoft Windows 7. Part1: Getting Started with Windows7 Fundamentals 7.1 What is Windows 7? It is the latest version of a series of Operating.
Client/Server Architectures
Event-driven programming. Most modern computer programs that people use have Graphical User Interfaces (GUIs). A GUI has icons on the computer screen.
Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices Section.
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
2-3 note. 2 Peripheral Devices “Peripheral devices” are hardware plugged into ports or connected to a computer wirelessly. These devices can be for input,
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Linear Interpolation, Brief Introduction to OpenGL Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, September.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 14 Introduction to Computer Graphics.
Explain the purpose of an operating system
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
School of Computer Science University of Seoul. 1. Interaction 2. Input Devices 3. Clients and Servers 4. Display Lists 5. Programming Event-Driven Input.
Operating Systems JEOPARDY Computer Repair NetworkOS OS Tasks ConceptsComponentsMisc
1Computer Graphics Input and Interaction Lecture 8 John Shearer Culture Lab – space 2
Input and Interaction Lecture No. 4.
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 3 Programmer Support Gary Marsden ( ) July 2002.
Computer Graphics I, Fall 2010 Input and Interaction.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Homogeneous Form, Introduction to 3-D Graphics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 20,
CS 480/680 Computer Graphics Programming with Open GL Part 7: Input and Interaction Dr. Frederick C Harris, Jr. Fall 2011.
Lecture 11: Exam Revision 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271  Coursework.
More on Advanced Interfaces, Image Basics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, November 21, 2003.
VR UI, Notes on Projects, Intro. to Object Descriptions Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday,
Interactive Computer Graphics CS 418 MP1: Dancing I TA: Zhicheng Yan Sushma S Kini Mary Pietrowicz Slides Taken from: “An Interactive Introduction to OpenGL.
CS 480/680 Computer Graphics Programming with Open GL Part 6: Three Dimensions Dr. Frederick C Harris, Jr. Fall 2011.
X-WindowsP.K.K.Thambi The X Window System Module 5.
Build-A-Button Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Wednesday, October 8, 2003.
Program 2 due 02/01  Be sure to document your program  program level doc  your name  what the program does  each function  describe the arguments.
1 Input and Interaction. 2 Objectives Introduce the basic input devices ­Physical Devices ­Logical Devices ­Input Modes Event-driven input Introduce double.
More on GLUT Programming Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, September 15, 2003.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
1 Graphics CSCI 343, Fall 2015 Lecture 6 Viewing, Animation, User Interface.
University of New Mexico
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Chapter 9 Operating Systems Discovering Computers Technology in a World of Computers, Mobile Devices, and the Internet.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Digital Literacy Lesson 2. Hardware Hardware: the physical components of a computer. Includes input devices, processing devices, storage devices, and.
I/O: Input-Output By: Tommy Zeng. What is I/O? I/O – short for “Input – Output” How a computer interacts with its users Input – gets information from.
Computer Operating Systems And Software applications.
Selection Mode, Introduction to Widgets Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 6, 2003.
Some Notes on 3-D Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, October 24, 2003.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
Section 2.1 Section 2.2 Identify hardware
School of Computer Science
Event loops 16-Jun-18.
Introduction to the Mouse
CSC461 Lecture 8: Input Devices
Introduction to Computer Graphics with WebGL
Advanced Menuing, Introduction to Picking
Event loops.
Display Lists & Text Glenn G. Chappell
More on Widgets, Misc. Topics
Event loops 17-Jan-19.
Event loops 17-Jan-19.
Input and Interaction Ed Angel
University of New Mexico
Input and Interaction Ed Angel
Event loops 8-Apr-19.
Preview of 3-D Graphics Glenn G. Chappell
Event loops.
Event loops 19-Aug-19.
Presentation transcript:

Introduction to Input/Interaction Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 19, 2003

19 Sep 2003CS 3812 Review: Three Issues in 3-D CG 1. Viewing and Transformations How do we look at a scene from any point of view within the scene, looking in any direction? How do we do perspective projection? How do we rotate things about arbitrary axes in 3-D? 2. Hidden-Surface Removal When one object is behind another, we don’t want to see the hidden one. Then there is transparency … 3. Lighting 3-D CG is lousy without lighting. How do we do it? In addition, we want to do smooth animation.

19 Sep 2003CS 3813 Review: Hidden-Surface Removal Quick & Dirty Hidden-Surface Removal Add GLUT_DEPTH to your glutInitDisplayMode call. This allocates a depth buffer. Remember, the various constants are bitwise-or’ed together. Add GL_DEPTH_BUFFER_BIT to your glClear call. This clears the depth buffer. Again, bitwise-or. Put glEnable(GL_DEPTH_TEST) somewhere in your initialization. This enables hidden-surface removal.

19 Sep 2003CS 3814 Review: Double Buffering Smooth Animation Use double buffering. Change GLUT_SINGLE to GLUT_DOUBLE in your glutInitDisplayMode call. Change glFlush to glutSwapBuffers in your display callback. Now the user only sees completed frames. No flicker in animation. Faster sometimes, slower others. User cannot see the frame being built. Sometimes this is bad, as with some complex fractals.

19 Sep 2003CS 3815 Input/Interaction: Overview Our next topic is interactive GUI programming. Input devices. The client/server model. … and how it facilitates various types of I/O. Event-driven programming with the mouse. Including “picking”. Widgets. Buttons, etc.

19 Sep 2003CS 3816 Input/Interaction: Input Devices & GUI’s Modern GUI’s typically make strong assumptions about the I/O available to the user: A keyboard and mouse (or other pointing device) are available. The output is a (color?) raster display that can refresh the image in a fraction of a second. As opposed to a printer, which typically has refresh times on the order of several seconds or more. I/O is interactive, so that output is seen immediately by the user, who can respond with more input with little delay. Input and output are tied together (so that the mouse position corresponds to a screen position, for example).

19 Sep 2003CS 3817 Input/Interaction: Client-Server Model [1/3] Many operations in a computing environment, especially in a networked environment, are provided via a client- server model. The server sits and waits for requests. A client can request the server to provide services. If the request is valid, the server provides the services to the client. Example A web server serves web pages to clients. In this situation, the client is: the browser.

19 Sep 2003CS 3818 Input/Interaction: Client-Server Model [2/3] The client-server model applies to CG as well. We have a program that wants to create and display CG output on the user’s desktop machine. Client: Application program. Server: Graphics hardware. This arrangement sometimes looks backwards (to me, anyway).

19 Sep 2003CS 3819 Input/Interaction: Client-Server Model [3/3] The client-server model affects optimization. Typically the greatest bottleneck is in the communication between the client and the server. So we want to minimize such communication. Thus we want to concentrate large operations on the client side or the server side.