Recent Changes - Search:

This is an old course web from 2008

W1 W2 W3 W4

Last Year's Class Web

Staff Login

Old 2008 Course Web: Main / Readings

You are responsible for the material in the readings. It may appear on the exams.

Unless otherwise specified, we expect you to have done the reading for a particular week before the Friday lecture. You may find that its best to do readings before lectures earlier in the week.

Key:

  • "Shirley" refers to Fundamentals of Computer Graphics, 2e by Pete Shirley, et al.
  • "OGL" refers to the OpenGL Programmers Guide, by the OpenGL ARB, et al.
  • "OldRTR" refers to Real-Time Rendering, 2e, by Moller and Haines. This is the old edition of the book, but we will provide Chapters of it online.
  • "RTR" refers to Real-Time Rendering, 3e, by Moller, Haines and Hoffman.

1.  Week 1 (tuesday 9/2) Introduction

Reading: Shirley, Chapter 1 - which is basically an overview. You might want to read ahead a bit.

2.  Week 2 (tuesday 9/9) Images (and OpenGL)

Required Reading: Shirley, Chapter 3 - which is a smattering of topics, some of which we will discuss in more depth later in the course.

Required Reading: OpenGL, Chapter 1 and the first parts of Chapter 2 (up to, and optionally the part on "Polygon Details"). You'll be doing some OpenGL programming soon, so knowing about OpenGL will be useful.

We'll revisit topics like rasterization, anti-aliasing, color, and perception more thoroughly later in the course. If you're curious you can read ahead.

(optional) If you really want to understand gamma, I recommend Charles Poynton's Chapter on Gamma that is part of his excellent book A Technical Introduction to Digital Video. His Frequently Asked Questions about Gamma is also excellent. Be warned: these discussions are geared towards video.

3.  Week 3 (tuesday 9/16) Image Processing

Primary Readings: Shirley Ch. 4 and Interactive Tutorials

Read Shirley, Chapter 4. Sections 4.1-4.4 will give a good overview of the subject. We won't go into all of the detail of Section 4.5 in class, but some of the concepts will be important. You will need to understand convolution, filtering, aliasing, and how sampling can lead to aliasing.

(alternate) Sampling theory is one of those things you might want to read about several times before you "get it." A great tutorial is Pat Hanrahan's Notes, although they are a bit mathematical. My tutorial on The Intuitions of Signal Processing are written for an application other than image processing, but cover the 1D material.

I strongly recommend that you look at some of the interactive tutorials.

There are some in the Brown University Exploratories. In the Signal Processing Section, they have things to allow you to play with convolution and filtering (as well as some color things that we'll get to later). The convolution has some issues (read the directions carefully), but the discrete convolution (again, pay attention to the instruction) will be helpful. The special function convolution applet is probably better than the regular one (and it doesn't seem to have the same bug). The two box convolution is pretty simple, but can help if you're just not getting convolutions. The nyquist limit applet is really good for seeing how aliasing happens.
The "Optical Microscopy Primer" also has some really nice interactive tutorials, although their examples are more geared towards microscope images. Many are relevant (Spatial Resolution, Sharpness Adjustment (notice how sharpening introduces ringing). The Convolution Kernels demo will let you play with various kernels, ... This is a great resource - you might want to come back later in the semester to try out some of the other filtering types!
There are many basic signal processing tutorials out there. This one will help you with convolutions.

(optional) OldRTR 4.4 also gives a good idea of what Sampling is all about.

(optional) My favorite tutorial on the basic image processing stuff is the book Digital Image Warping by George Wolberg. Its a bit dated, but has excellent coverages of the basics.

4.  Week 4 (tuesday 9/23) Practical Image Manipulation

Required Reading To Be Determined

Pixel adjustments and compositing really aren't covered in the book at all. There is a brief mention of Alpha in Shirley Section 3.4.

(recommended) The real reference for compositing is the original paper Compositing digital images by Porter in Duff, published at SIGGRAPH '84. The paper is available online at the ACM digital library, (you can download the PDF if you are on campus). This is a good place to learn about the different imaging operators.

(recommended) Image Compositing Fundamentals by Alvy Ray Smith describes compositing really well, with a lot of the details given. In particular, the difference between pre-multiplied and not-pre-multiplied alpha will be important to you when you implement compositing. Note that this is old (from 1995 or before), so some terminology might seem funny. Also, the complexities they go through to keep everything in 8 bit are probably not warranted on a modern processor.

(optional) Alvy Ray Smith's Alpha and the History of Digital Compositing gives a nice historical background, and some intuitions as to why compositing works this way.

5.  Week 5 (tuesday 9/30) Geometric Graphics

6.  Week 6 (tuesday 10/7) Drawing in 3D

7.  Week 7 (tuesday 10/14) Shape and Appearance

8.  Week 8 (tuesday 10/21) Curves

Chapter 13 covers curves the way we discussed them in class. Note: we will not discuss B-Splines in class, so you don't need to read about them.

9.  Week 9 (tuesday 10/28) Review and More Curves

10.  Week10 (tuesday 11/4) Texture

Shirley Chapter 11 is a basic intro - its a little thin on the details, and doesn't cover the kinds of texture mapping you really use in practice too well.

Chapter 9 of the OpenGL book has all the gory details you need to actual use texture mapping in your program. I recommend skimming through it so you know what's there, and then referring to it when you actually need to implement things.

Chapter 5 of the 2nd edition of Real Time Rendering has a thorough discussion of texturing. I strongly recommend reading it, although you can safely ignore all of the details of the picky stuff at the end (like the environment map equations, ...). But you should read through it to get some ideas as to all of the kinds of things you can do with textures.

A scan of this chapter is available in Learn@UW (under "Content") or on AFS in p:/course/cs559-gleicher/public/Readings.

11.  Week11 (tuesday 11/11) Graphics Hardware

Shirley chapter 17 is an OK introduction to the basics. But you should read Chapter 15 of the 6th edition OpenGL redbook as it covers not only the basic ideas, but also the specifics of the GLSL shading language (that you will need to use in class). If you don't have a 6e redbook, I have placed a scan of that chapter in Learn@UW (under "Content") or on AFS in p:/course/cs559-gleicher/public/Readings.

There is an excellent "GLSL" course at: http://www.typhoonlabs.com/. Looking through this is highly recommended. It also serves as a great GLSL reference.

We'll also provide Appendix I of the Redbook (also in the readings directory and Learn@UW) which is a reference for GLSL.

12.  Week12 (tuesday 11/18) Surfaces

The main thing we'll discuss is Subdivision Surfaces. There's a simple and easy to read tutorial from Game Developer Magazine called "Subdivision Surface Theory" (theory for a Game Developer is still pretty practical). Its in Learn@UW (under "Content") or on AFS in p:/course/cs559-gleicher/public/Readings. Reading this article is enough for class. You'll be able to work out the details when you want to implement it.

If you want more, there is a thorough tutorial at http://mrl.nyu.edu/publications/gdc-tutorial2001/ (look for the link to the notes). It has a lot of details, and more math than you probably want. But if you just read the good parts, you can learn a lot. And it has all the equations for when you really implement it.

The Real-Time Rendering book also has a nice chapter on curves and surfaces. Subdivision is covered in section 13.4 and 13.5, but there is a nice presentation of Bezier Curves (and other cubics), as well as some other surface types. This chapter is also on Learn@UW and in p:/course/cs559-gleicher/public/NewRTR.

13.  Week13 (tuesday 11/25) Realistic Rendering

Read the Ray Tracing chapter in Shirley (Chapter 10). Unfortunately, I don't have a suggestion for how to learn the other stuff we'll talk about from the book, so class (and the notes) will be important.

If you want to know more, you can read Chapters 23 and 24 of Shirley. But this is optional.

14.  Week14 (tuesday 12/2) Tone, Appearance, Color

For Color: Read Shirley Chapter Chapter 20 and look over Poynton's Color FAQ.

For Tone Mapping, read Chapter 22 of Shirley.

Chapter 20 of Shirley's book is a good introduction to the theory behind color. You should read it to understand the underlying concepts. However, you will need to read more.

Charles Poynton's Color FAQ is a good discussion of the various terms you need to understand how color works. There is a lot of detail on the parts related to video (you don't need to know the difference between Y'IQ and YCC), but seeing these details will help you appreciate the issues.

15.  Week15 (tuesday 12/9) Animation and Visualization

You should read Chapters 16 and 26 of Shirley.

History - Print - Recent Changes - Search
Page last modified on November 12, 2008, at 10:13 AM