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:


16.  Readings: Week 16, Advanced Topics

There is no required reading this week. You can follow the links on the slides if you are interested.


15.  Readings: Week 15, Animation, Ray tracing, and Image-based Rendering

(Optional) John Lasseter. Principles of traditional animation applied to 3D computer animation. Proceedings of SIGGRAPH (Computer Graphics) 21(4): 35-44, July 1987.
http://portal.acm.org/citation.cfm?id=37407
 

(Optional) WILLIAM T. REEVES, ACM Transactions on Graphics, Vol. 2, No. 2, April 1983
http://portal.acm.org/citation.cfm?id=357320

Shirley Ch 10.1 --- 10.11, Ray tracing, except for 10.10 on Constructive Solid Geometry

Shirley Ch 25, Image based rendering


14.  Readings: Week 14, Subdivision and Animation

Real-Time Rendering, 3e, 13.4 (subdivision curves), 13.5.1, 13.5.3, 13.5.4, 13.5.5 (subdivision surfaces)
Linux: /p/course/cs559-lizhang/public/readings/ 13_surfs_gleicher.pdf 
Windows: P:\course\cs559-lizhang\public\readings\ 13_surfs_gleicher.pdf

(Optional) Computer Rendering of Stochastic Models, Comm of ACM, June, 1982, p371-384
Linux: /p/course/cs559-lizhang/public/readings/p371-fournier.pdf
Windows: P:\course\cs559-lizhang\public\readings\p371-fournier.pdf

(Optional) Shirley, ch 16, overview of animation

Witkin, Particle System Dynamics, SIGGRAPH ’01 course notes on Physically Based Modeling.
Linux: /p/course/cs559-lizhang/public/readings/ particles.pdf
Windows: P:\course\cs559-lizhang\public\readings\ particles.pdf

Witkin and Baraff, Differential Equation Basics, SIGGRAPH ’01 course notes on Physically Based Modeling.
Linux: /p/course/cs559-lizhang/public/readings/ DiffEq.pdf
Windows: P:\course\cs559-lizhang\public\readings\ DiffEq.pdf


13.  Readings: Week 13, Shape Modeling

(optional) Shirley: ch 13.1-13.3
Redbook: ch 2, if you haven’t read it before

Real-Time Rendering, 2e, 12.2.1 (except Rational Bezier Patches)
Linux: /p/course/cs559-lizhang/public/readings/rtr-12-curves-surfaces.pdf 
Windows: P:\course\cs559-lizhang\public\readings\rtr-12-curves-surfaces.pdf

Or a newer version

Real-Time Rendering, 3e, 13.2.1 (except Rational Bezier Patches)
Linux: /p/course/cs559-lizhang/public/readings/ 13_surfs_gleicher.pdf 
Windows: P:\course\cs559-lizhang\public\readings\ 13_surfs_gleicher.pdf


12.  Readings: Week 12, Texture Mapping

Redbook: Ch 9. It covers a lot of topics. I suggest you skim all of those topics first to have an overview of OpenGL on texture mapping. Later when you need to implement specific features, you know where to look for the details.

(Highly Recommended) Moller and Haines: Real-Time Rendering, 3e, Ch 6
Linux: /p/course/cs559-lizhang/public/readings/6_texture.pdf
Windows: P:\course\cs559-lizhang\public\readings\6_texture.pdf

(Optional) Shirley, Ch 11.4-11.8

This website has a very good java demo for solid texture. http://legakis.net/justin/MarbleApplet/

Paul Debevec maintains an excellent page describing history of environment map. http://www.debevec.org/ReflectionMapping/  

If you want to try environment mapping but needs a probe image, you can download some at http://www.debevec.org/probes/

Implementing bump map is a little involved. Here is an online tutorial: http://www.paulsprojects.net/tutorials/simplebump/simplebump.html

Implementing shadow map also involves some efforts. Here is an online tutorial: http://www.paulsprojects.net/tutorials/smt/smt.html

Redbook: Ch 6 (blending part)


11.  Readings: Week 11, Texture Mapping

Redbook: Ch 9. It covers a lot of topics. I suggest you skim all of those topics first to have an overview of OpenGL on texture mapping. Later when you need to implement specific features, you know where to look for the details.

(Highly Recommended) Moller and Haines: Real-Time Rendering, 3e, Ch 6
Linux: /p/course/cs559-lizhang/public/readings/6_texture.pdf
Windows: P:\course\cs559-lizhang\public\readings\6_texture.pdf

(Optional) Shirley, Ch 11.4-11.8


8.  Readings: Week 8, Bezier Curves

Shirley, Ch 15.6.2


7.  Readings: Week 7, FLTK and Curves

FLTK Tutorial, http://pages.cs.wisc.edu/~cs559-1/tutorials

Shirley, Ch 15.1, 15.2, 15.3, 15.4, 15.5

Shirley, Ch 15.6.1
For another perspective on Bezier Curves, read Moller and Haines: Real-Time Rendering, 2e, Ch 12.1.1, 12.12, 12.13, except (Rational Bezier Curves)
Linux: /p/course/cs559-lizhang/public/readings/rtr-12-curves-surfaces.pdf
Windows: P:\course\cs559-lizhang\public\readings\rtr-12-curves-surfaces.pdf


6.  Readings: Week 6, Lighting and 3D User Interface

Shirley Chapter 9.1, 9.2

Shirley Chapter 13.3

Redbook chapter 4&5 (except all the topics that are related to color index mode)

Nate Robins' OpenGL demo: http://www.xmission.com/~nate/tutors.html

Some FLTK demo programs I showed, or tried to show but didn't succeed,  in the class: demo. Or if you download the full FLTK package and build its demo project, you will get all (many more) demos. The ones I showed in class are just a very small portion of it.


5.  Readings: Week 5, Anti-aliasing,Visibility, and OpenGL 

Shirley Chapter 3.7

Shirley Chapter 8

Redbook Chapter 1, 2, and 3


4.  Readings: Week 4, 3D Transform, Viewing, and Rasterization

Finish reading Shirley Chapter 6 on "transformation matrices"

Shirley Chapter 7 "viewing".

Shirley Chapter 3.1, 3.5, 3.6


3.  Readings: Week 3, Painterly Rendering, Edges, Warping, and Panorama

Hertzmann, Painterly Rendering with Curved Brush Strokes of Multiple Sizes, SIGGRAPH 1998, section 2.1 (required), others (optional), check out their project page for more results.

Doug DeCarlo, Anthony Santella. Stylization and Abstraction of Photographs In SIGGRAPH 2002, pp. 769-776. (optional)

Edge Detection Tutorial (recommended but optional)

Shirley, Ch 5, Linear Algebra, Shirley, Ch 6.1, 2D Transform, Shirley, Ch 6.3, Translation, p151-152(1st paragraph)

(Optional) Image morphing: a survey, George Wolberg, Visual Computer 1998

Shirley Ch 3.1-3.4, Ch 20.1-20.2, Ch 6, except 6.2.2


2.  Readings: Week 2, Image and Signal Processing and Image Compositing

Primary Readings: Shirley Ch. 4 and Interactive Tutorials, compositing 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.

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.

(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. Mike Gleicher's tutorial on The Intuitions of Signal Processing are written for an application other than image processing, but cover the 1D material.

For image compositing, Alvy Ray Smith, "Image Compositing Fundamentals", (page 1-6 till the end of "premultiplication problems" required; others optional) and Tom Porter and Tom Duff, "Compositing Digital Images" (optional) are good references.


1.  Readings, Week 1, Preliminaries

Primary Readings: Shirley, Chapters 1, 2, and part of Chapter 21 (pp. 477-486)

Chapter 1 is a brief intro.

Chapter 2 reviews some high school and collage math concepts that will be often used in the class.

Chapter 21 covers human vision more than what we discussed in class. There is also a good tutorial Elements of Early Vision for Computer Graphics by Jim Ferwerda. Its available on his web page.

(optional) There are many online tutorials on how digital camera works, for example, HowCameraWorks, autofocus, depth-of-field