CS465: Computer Graphics I—Fall 2005

Announcements

9 December: The prelims and their answers have been posted. You can find them on the exams page.

9 December: For the exam week, only Prof. Marschner and Adam will be holding office hours and Adam is moving his Tuesday office hours from 6:00 - 7:00 to 1:00 - 2:00.

29 November: Theo is holding extra office hours in Rhodes 551 from 1 - 2 tomorrow.

2 November: Adam is cancelling his office hours tomorrow and instead will be holding an extra help session for the Modeler assignment from 6:00 to 7:00 PM in Rhodes 551.

31 October: Homework 5 solutions posted.

18 October: Andrew is changing his office hours from MW 6:00-7:00 to the weekend SS 3:00-4:00. His first weekend hours will start this coming weekend and he will not be holding hours on Wednesday.

13 October: The web page is finally working again!

7 October: Masato has changed his office hours from MF 7:00-8:00 to M 11:00-1:00. He will be not be holding hours today and will start his new hours after fall break. Additionally for the break, there will be no office hours on Monday and Tuesday.

3 October: The 3rd programming assignment is posted. Because the regularly scheduled date for the help session for this assignment would fall during break, the help session for this assignment will be held Thursday, October 13 at 6:00PM in Rhodes 551.

1 October: If you have not done so already, you can pick up all old, graded homework and programming assignments in class after the lecture on Monday October 3rd.

30 September: The prelim on Tuesday October 4th will be held in Phillips Rm. 203 at 7:30.

14 September: Adam has changed his office hours. Adam will now be holding hours on Thursdays from 1:00 to 2:00 instead of his original hours from 3:00 to 4:00.

2 September: There is a conflict between the first prelim on October 4th and a prelim in PHYS 214. We have arranged alternate prelim times for those students in both courses. The PHYS 214 course will offer its prelim an hour and a half early at 6:00 - 7:30PM and we will move our prelim a half hour later from 8:00 - 9:30PM. If you have a conflict and you have not already contacted us, please mail Adam, arbree@cs.cornell.edu, and the PHYS 214 course staff as soon as possible so we will know who and how many will be taking the exam at the alternate time.

24 August: Welcome to CS465! Be sure to check this space regularly, because we'll use it for announcements you won't want to miss.

Readings

Readings are specified for each topic in lecture. They come mainly from the two course textbooks:

Some readings also consist of published articles that are available on the Web. Many of these are in the ACM Digital Library, which you can access from any machine on the Cornell campus network.

Two other kinds of references exist besides the readings. The lecture slides are available for all topics, and for some topics additional lecture notes are available. These references are linked off the schedule page (as are the readings listed here).

general background

Shirley Ch.2 and 5
These chapters review some mathematical tools we'll be using throughout the semester: some very basic topology, trigonometry, and linear algebra; representations of curves and surfaces in 2D and 3D; and some games with triangles. We will not be covering this material explicitly in this course, but I will review specific topics as they arise in the course. Especially if some of this material is new to you, it will be worthwhile to study this carefully, because it's important for this basic math to be second nature to you as we move forward.

introduction

Shirley Ch. 1
This brief chapter goes through the same kind of intro I will do in class, and also covers various practical issues that will be useful to keep in mind during the assignments. Skim over the C++-specific parts of 1.7 and 1.8, since we'll be using Java.

images

Shirley 3.1–3.4
These sections will give you a preview of the question "what is an image?" and a very brief discussion of alpha and compositing (which we will discuss in more detail later). The rest of the chapter we will cover later.

ray tracing I

Shirley 10.1–10.5
This chapter covers ray tracing in more depth than we will need at this point, so I'm only asking you to read the first part. Since Shirley places ray tracing later in the sequence of topics, there are some parts (mainly involving geometric transformations and the details of generating eye rays) that build on material we haven't covered, which you can safely ignore for now. The Ray I handout can serve as a guide to the material that's specifically needed for that assignment.

lighting and shading I

Shirley Ch. 9
This chapter goes over the basic shading models, plus a bit of a digression on artistic shading. It discusses issues of surfaces that are approximated by triangles more than we need at this point, so you can skim over that aspect for now.

sampling and reconstruction | sampling theory

Shirley Ch. 4
This chapter covers sampling, filtering, reconstruction, and an introduction to sampling theory.

FvDFH 14.10
This section (available only within Cornell) is another fairly in-depth discussion of sampling theory as it applies to graphics.

compositing

Porter & Duff, Compositing digital images (1984)
This classic article introduced image compositing and still describes exactly how compositing is done today. It does cover quite a bit more detail than we will go over in this class.

2D transformations

Shirley Ch. 6
This chapter goes through the mechanics of transformations in 2D and 3D, with a bit less motivation and abstraction than in lecture (this could be good or bad depending on your viewpoint). Section 5.1.6 covers decomposition of transformations, which we won't need, so don't stress over it too much if it's confusing (it can also be very illuminating, depending on what background you are coming from).

3D transformations

Shirley Ch.6 again

viewing

Shirley Ch. 7
This chapter goes over the basics of orthographic and perspective viewing and derives the projection matrices for those two cases. It's pretty compact, so you may have to puzzle over some parts carefully.

rasterization | hidden surface removal

Shirley 2.10 & 2.11
These sections discuss linear interpolation and barycentric coordinates for triangles, which are very important for interpolating values in rasterization.

Shirley 3.5 & 3.6
These sections discuss rasterization of lines and triangles. He presents triangle rasterization algorithm in terms of barycentric coordinates rather than edge equations, but there is no real difference between the two.

vertex and fragment operations

pipeline transformations

Shirley Ch. 12
This chapter gives a rather sketchy outline of graphics pipelines with too much emphasis on clipping but some very good discussion of the homogeneous coordinates of primitives as they are transformed to the screen.

texture mapping I

Shirley Ch. 11
You can skim 11.1, since it covers 3D textures and procedural textures, which we don't discuss.

curves and surfaces

spline curves

Shirley Ch. 15
This chapter discusses spline curves and surfaces together (rather than separately as we do in lecture) and discusses arbitrary-order Bézier curves and surfaces, where we stuck to cubic.

spline surfaces

Shirley Ch. 15 again and the course notes from a 2000 SIGGRAPH course are an excellent introduction to subdivision surfaces. They can be downloaded from here.

triangle meshes

Shirley Ch. 13.1

ray tracing II

Shirley Ch. 10.6–11

ray tracing acceleration

Shirley Ch. 10.9

surface reflection

Shirley Ch. 24

lighting and shading II

monte carlo

Shirley Ch. 14.1–4, Ch. 23

texture mapping II

Shirley Ch. 20 & 21
Chapter 21 covers human vision in more detail than I did in lecture, but it's fascinating reading (and pretty easy going). The optical illusions are fun. Chapter 20 covers about the same material as the lecture, but goes into somewhat more detail than we need in 20.5–20.7.

Steve Marschner (srm@cs.cornell.edu)