Introduction to Computer Graphics with WebGL

Slides:



Advertisements
Similar presentations
Animation and Input CSCI Day Six. Animation Basic Steps to Draw Something: var vertices = [ … ]; var BufferId = gl.CreateBuffer(); gl.bindBuffer.
Advertisements

1 Computer Graphics Chapter 2 Input Devices. RM[2]-2 Input Devices Logical Input Devices  Categorized based on functional characteristics.  Each device.
Chapter 3: Input and Interaction Instructor: Shih-Shinh Huang 1.
Based on slides created by Edward Angel
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Fundamentals of Computer Graphics Part 3 prof.ing.Václav Skala, CSc. University of West Bohemia Plzeň, Czech Republic ©2002 Prepared with Angel,E.: Interactive.
School of Computer Science University of Seoul. 1. Interaction 2. Input Devices 3. Clients and Servers 4. Display Lists 5. Programming Event-Driven Input.
1Computer Graphics Input and Interaction Lecture 8 John Shearer Culture Lab – space 2
Input and Interaction Lecture No. 4.
1 Input and Interaction. 2 Input Devices Physical input devices Keyboard devices and pointing devices Logical input devices.
Computer Graphics I, Fall 2010 Input and Interaction.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS 480/680 Computer Graphics Programming with Open GL Part 7: Input and Interaction Dr. Frederick C Harris, Jr. Fall 2011.
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.
1 Graphics CSCI 343, Fall 2015 Lecture 6 Viewing, Animation, User Interface.
University of New Mexico
GLUT functions glutInit allows application to get command line arguments and initializes system gluInitDisplayMode requests properties for the window.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Input and Interaction Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Introduction to Computer Graphics with WebGL
CHAPTER 5 Input Control © 2008 Cengage Learning EMEA.
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Better Interactive Programs
What is Computer Graphics?
CSC461 Lecture 8: Input Devices
Lesson 3 Standard Methods of Input.
What is Computer Graphics?
Lesson 3 Standard Methods of Input.
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Input and Interactions
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Isaac Gang University of Mary Hardin-Baylor
Fundamentals of Computer Graphics Part 3
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Input and Interaction Ed Angel
Introduction to Computer Graphics with WebGL
What is Computer Graphics?
University of New Mexico
Input and Interaction Ed Angel
Lecture #5 Interactive Input Methods
Lesson 3 Standard Methods of Input.
Input and Interaction Ed Angel Professor Emeritus of Computer Science,
Introduction to Computer Graphics with WebGL
Presentation transcript:

Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Input and Interaction Ed Angel Professor Emeritus of Computer Science, University of New Mexico Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Objectives Introduce the basic input devices Event-driven input Physical Devices Logical Devices Input Modes Event-driven input Introduce double buffering for smooth animations Programming event input with WebGL Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Project Sketchpad Ivan Sutherland (MIT 1963) established the basic interactive paradigm that characterizes interactive computer graphics: User sees an object on the display User points to (picks) the object with an input device (light pen, mouse, trackball) Object changes (moves, rotates, morphs) Repeat Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Graphical Input Devices can be described either by Modes Physical properties Mouse Keyboard Trackball Logical Properties What is returned to program via API A position An object identifier Modes How and when input is obtained Request or event Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Physical Devices mouse trackball light pen data tablet joy stick space ball Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Incremental (Relative) Devices Devices such as the data tablet return a position directly to the operating system Devices such as the mouse, trackball, and joy stick return incremental inputs (or velocities) to the operating system Must integrate these inputs to obtain an absolute position Rotation of cylinders in mouse Roll of trackball Difficult to obtain absolute position Can get variable sensitivity Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Logical Devices Consider the C and C++ code What is the input device? C++: cin >> x; C: scanf (“%d”, &x); What is the input device? Can’t tell from the code Could be keyboard, file, output from another program The code provides logical input A number (an int) is returned to the program regardless of the physical device Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Graphical Logical Devices Graphical input is more varied than input to standard programs which is usually numbers, characters, or bits Two older APIs (GKS, PHIGS) defined six types of logical input Locator: return a position Pick: return ID of an object Keyboard: return strings of characters Stroke: return array of positions Valuator: return floating point number Choice: return one of n items Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

X Window Input The X Window System introduced a client-server model for a network of workstations Client: OpenGL program Graphics Server: bitmap display with a pointing device and a keyboard Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Input Modes Input devices contain a trigger which can be used to send a signal to the operating system Button on mouse Pressing or releasing a key When triggered, input devices return information (their measure) to the system Mouse returns position information Keyboard returns ASCII code Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Request Mode Input provided to program only when user triggers the device Typical of keyboard input Can erase (backspace), edit, correct until enter (return) key (the trigger) is depressed Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Event Mode Most systems have more than one input device, each of which can be triggered at an arbitrary time by a user Each trigger generates an event whose measure is put in an event queue which can be examined by the user program Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015

Event Types Window: resize, expose, iconify Mouse: click one or more buttons Motion: move mouse Keyboard: press or release a key Idle: nonevent Define what should be done if no other event is in queue Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley 2015