CS465: Computer Graphics I—Fall 2003

Announcements

17 December: The time and place for the final: Upson B-17 from 12:00 to 2:30.

4 November: Pet Chean Ang will be moving his office hours from 4:00 pm to 5:45 pm for Tuesday only.

4 November: There will be a help session starting at 6:30 in 110 Hollister as a review for the prelim.

20 October: There is an update to hw4a with a correction and some clarifications.

20 October: We need all your Prelim 1 exam books back to check on some grading consistency issues. We will do this in such a way that grades can only go up, not down. If you haven't already, please turn in your exam book in class on Wednesday or bring it to Andy's office (5162 Upson) any afternoon (other than class time) by Thursday.

6 October: The first prelim will be tomorrow (Tuesday, October 7), from 7:30 pm–9:00 pm in Thurston 205. There will be a help session an hour before tentatively in the same room. If the room is occupied during the hour before the exam, check the nearby classrooms for the review session.

3 October: Take a look at the schedule; we've removed one assignment and re-figured all the deadlines.

2 October: I (Prof. Marschner) will not have office hours on Friday afternoon (3 Oct). If you'd like to talk to me before my Wednesday office hours, just send email to set up an appointment.

30 September: By popular demand, Homework 3a is now due on Monday 6 October (the day before the first prelim).

11 September: Many people have had some trouble accessing the ACM Digial Library so I have made a local copy of Porter and Duff, and I'll do the same with any future DL articles. The file is only accessible to Cornell IP addresses.

8 September: I have received a lot of questions in the last couple of days that indicate that many students have been confused by the wording of problem 2 on Homework 1a. Because of this I'll spend some class time today clarifying this question, and I'll waive the late penalty for anyone who would like to revise and turn in on Wednesday. Part b is still due on Monday.

29 August: The time listed in the Course Roster, MW 2:55–4:10, is incorrect. The correct time is MWF 2:30–3:20. The roster will be corrected soon, but since many students will not yet know we are meeting on Fridays, today's class meeting will be brief.

25 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).

1 September: 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.

3–5 September: images and compositing

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. The rest of the chapter we will cover later.

Porter & Duff, Compositing digital images (1984)
This classic article introduced image compositing and still describes exactly how compositing is done today.

12–17 September: basic math review

Shirley Ch. 2
This chapter reviews 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.

17–22 September: linear algebra review

Shirley Ch. 4
This chapter reviews a subset of linear algebra in a bit more depth. Especially if this material is new to you, it will be worthwhile to study this carefully, because it's important for these basic matrix operations to be second nature to you as we move forward.

26 September–6 October: rendering

Shirley 9.1–9.7
This chapter covers ray tracing in more depth than we will need, so I'm only asking you to read the first half or so. If you're interested in this material, go ahead and read the rest of the chapter too—it may inspire you to go for extra credit in the next programming assignment!

29 September: shading

Shirley Ch. 8
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.

8–15 October: transformations

Shirley Ch. 5
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).

17 October: viewing

Shirley Ch. 6
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.

22–24 October: pipeline and rasterization

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.

Shirley Ch. 11
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.

5–7 November: texture mapping

Shirley Ch. 10
You can skim 10.1, since it covers 3D textures and procedural textures, which we didn't discuss.

14–24 November: spline curves and surfaces

Shirley Ch. 13
This chapter discusses spline curves and surfaces together (rather than separately as we did in lecture) and discusses arbitrary-order Bézier curves and surfaces, where we stuck to cubic. You can skim the last section, on subdivision surfaces, because we aren't covering those.

1–5 December: color

Shirley Ch. 17 & 18
Chapter 17 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 18 covers about the same material as the lecture, but goes into somewhat more detail than we need in 18.5–18.7.

Steve Marschner (srm@cs.cornell.edu)