29
09/03/02 © 2002 University of Wisc onsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 http://www.cs.wisc.edu/~cs559-1

09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

Embed Size (px)

Citation preview

Page 1: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

CS 559: Computer Graphics

Prof Stephen Chenney

Fall 2002

http://www.cs.wisc.edu/~cs559-1

Page 2: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Today

• Course overview and information

• Getting started on images

• Programming assignment 1 (off class home page)

Page 3: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

What is Computer Graphics?

• Technically, it’s about the production, manipulation and display of images using computers

• Practically, it’s about movies, games, art, training, advertising, communication, design, …

Page 4: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Is 2D Graphics Important?

Compositing in movies: images arecreated in layers, and then combined

Sprites in games: Images are built by overlaying characters and objects on a background

Page 5: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Virtual RealityIowa Driving Simulatorhttp://www.nads-sc.uiowa.edu/

Augmented RealityW. Eric L.Grimson at MIThttp://www.ai.mit.edu/projects/medical-vision/surgery/surgical_navigation.html

3D is Sometimes Essential

Page 6: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Computer Graphics?

The Wooden Mirror, by Daniel Rozin

It consists of many small wooden blocks with a camera in the center. The camera takes an image, it is converted to intensities, and each block is rotated to reflect an appropriate amount of light.

Page 7: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

This Course: Building Blocks

• Images and computers– Sampling, Color, Filters, …

• Drawing in 2D– Drawing lines and polygons, clipping, transformations

• Drawing in 3D– Viewing, transformations, lighting, the standard pipeline

• Modeling in 3D– Describing volumes and surfaces, drawing them effectively

• Miscellaneous interesting stuff– Raytracing, animation, …

Page 8: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

People

• Prof. Stephen Chenney– Room 6387

– Office Hours Tues 2-3, Thurs 11-12

[email protected]

• TA: Matt Allen– Office Hour TBD

[email protected]

• TA: David Gekiere– Office hours TBD

[email protected]

Send all class email to cs559-1@csIt is read by both Prof Chenney and the TAs and gets the fastest response

Page 9: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Web and Email

• The class web site is http://www.cs.wisc.edu/~cs559-1– It is updated very frequently

– Lecture notes are put online before class, and updated after class

– Additional resources and links are provided

– Reading for future classes is listed

• The class mailing list is [email protected]– I assume that you check this email regularly

– All notices are sent out on the mailing list, including things not mentioned in class

– The mail goes to your cs class account, so make sure you check that or set up forwarding

Page 10: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Textbooks and Reader

• Peter Shirley, “Fundamentals of Computer Graphics”, A.K. Peters, 2002

• Woo et. al., "OpenGL Programming Guide", Third Edition, Adison-Wesley, 1999– The definitive guide to OpenGL, and a reasonable description of

general real-time 3D graphics

• Class reader: Available at DOIT– A collection of papers, textbook chapters, and other documents

– Some essential material not contained in the textbook

Page 11: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Projects

• There will be three projects for the course, spread evenly through the semester

• Project 1: Image editing

• Project 2: Running a maze

• Project 3: Building a virtual theme park

• You must submit all three in order to pass the course

Page 12: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Homeworks

• There will be a homework every two weeks or so

• They are intended primarily to explore topics further and to prepare you for the exams

• They will be graded, but only the best five will count

• Some essential techniques will be presented only in homework– For example, an review of linear algebra

Page 13: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Grading (approximate)

• 45% Midterm and Final

• 45% Projects

• 10% Homework

• Everyone must write up their own homework

• For the projects, you have the option of working in pairs

Page 14: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Lab Facilities

• Room B240 contains machines for use in this class

• They have high performance hardware and the software to make it work

• Students in CS 559 have priority in the lab, but it shouldn’t be a problem

• Don’t underestimate the benefits of working in a lab with your classmates– For instance, the blackboards frequently display useful hints

• But they also sometimes have incorrect information!!

Page 15: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Software Infrastructure

• FLTK will be the user interface toolkit– Provides windows, buttons, menus, etc

– C++ class library, completely portable

– We are currently at version 1.1.0rc6, available for free: www.fltk.org

• OpenGL will be the 3D rendering toolkit– Provides an API for drawing objects specified in 3D

– Included as part of Windows, available for Linux either as Mesa (software) or hardware drivers

• Visual C++ 6.0 will be the programming environment for grading

• To be graded, your projects must compile under Visual C++ on the machines in room B240

Page 16: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

C++

• This is probably the first, and only, class in which you must complete large software projects in C++ without step by step instructions

• There is a great deal of freedom in the projects, which requires that you do your own software design

• If you are not comfortable in C++, you will have to take action

• There are tutorials intended to teach you C++ assuming you know Java:– http://www.cs.wisc.edu/~hasti/cs368/CppTutorial/index.html

– These are intended for the course CS 368, but just do the tutorials

• The transition to C++ was one of the biggest issues for past CS559 students

Page 17: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Adding the Class

• To go on the waiting list, email [email protected] with your name, ID and major

• Do it again even if you have already send me email

• People who add in this manner will have to wait a couple of days for accounts

Page 18: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Programming Assignment 1

• Do the Visual C++ and FLTK demo off the class web page

• Will get you started with C++ and FLTK

• Do it NOW, don’t wait until the project comes up

• There will be another assignment in a week or so continuing your preparation for the first project

• Not graded. Questions during office hours or on the class mailing list

Page 19: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Images

• Information presented in a flat (2D) format to be examined visually

• We are familiar with many forms of image:– Photographs

– Paintings

– Sketches

– Television

– Computer screens

• Each form has its own way of obtaining and storing the information content

Page 20: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Digital Images

• Images can be stored on a computer in one of many forms

• There are some conflicting goals:– The storage cost should be minimized

– The amount of information stored should be maximized

– It should be easy to perform editing operations

– Tracking copyrights may be important

• There are two abstract types of digital images: Raster images and Vector images

Page 21: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Raster Images

• A raster is a regular grid of pixels (picture elements)

• Raster image formats store the intensity (brightness) and color information at each pixel– Simplest is to use a 2D array of pixel values

– Some formats store the pixel information in very different ways

• A 6x3 image• Aspect ratio is width/height, 2

Page 22: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Vector Images

• Store images as collections of geometric primitives– E.g. Lines, polygons, circles, …

• Called vector images for historical reasons

• Postscript (PDF) is the most famous vector image format

• It is possible to go from a vector image to a raster image• It is very hard to go the other way

Page 23: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Obtaining Digital Images

• What are some methods for obtaining a digital image?

Page 24: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Obtaining Digital Images

• What are some methods for obtaining a digital image?– Digital camera

– Scanning another image

– Medical scanning

– Editing existing digital images

– Paint or drawing programs

– Created from abstract data (e.g. math function plot)

– Rendered from a scene description

– …

Page 25: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Displaying Images

• Display is not the same as storage– A monitor displays an image, but does not store it

– The same image may look different on different monitors

• Typically, the display is taken into account when creating images, but not always

• Different display techniques have very different properties

• What are some common display techniques?

Page 26: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Displaying Images

• What are some common display techniques?– Cathode Ray Tube (CRT): Computer monitor / Television

– Liquid Crystal Display (LCDs)

– Printing: many variations

– Vector displays

– Holographic displays

– Plasma displays

– …

Page 27: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Trade-Offs

• Which is preferred: Raster or Vector?– For display on an LCD?

– For display on a plotter (a printer that draws lines with pens)?

– For images from digital cameras?

– For CAD (Computer Aided Design)?

– For high-quality text?

• Which is easier to:– Resize?

– Rotate?

– Crop?

Page 28: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Trade-Offs

• Which is preferred: Raster or Vector?– For display on an LCD? Raster

– For display on a plotter (a printer that draws lines with pens)? Vector

– For images from digital cameras? Raster

– For CAD (Computer Aided Design)? Vector

– For high-quality text? Vector

• Which is easier to:– Resize? Vector

– Rotate? Vector

– Crop? Raster

Page 29: 09/03/02© 2002 University of Wisconsin CS 559: Computer Graphics Prof Stephen Chenney Fall 2002 cs559-1

09/03/02 © 2002 University of Wisconsin

Next Time

• We focus on raster images

• Some human perception stuff (always fun)