This is the CS559 (Computer Graphics, Spring 2008) News and Announcements page.

You should check this page regularly for news and other announcements as this is one of the main ways of spreading the word about class announcements. The other is our class mailing list. You will be held accountable for the information that appears on this page. This page will be updated frequently.

April 23, 2008

The final exam will be on Saturday, May 17th, 7:45-9:45AM, COMP S&ST 1257

I mistakenly wrote 7:45-9:45PM on the course syllabus page at the beginning of this semester; sorry for the confusion and now it's corrected. The timetable of the Registrar (

March 6, 2008

glut32.lib link error

In the phase 2 of the project 2, we provide some sample code for simple UI programming on the following page.

On this page, we have 3 Simple2D.cpp for downloading. The third one has one line

#pragma comment (lib, "glut32.lib")

after the "#include" statements.

When you build this program (the third Simple2D.cpp), you may have the following link error

LINK : fatal error LNK1104: cannot open file 'glut32.lib'

A simple solution is to comment that line out and you will be fine. The program should work correctly without that line.

Feb 26, 2008

1. What does "post-multiply" mean in the stage1 of project 2?

It's the same convention we used in class and OpenGL. If you say



then you will get a matrix M*N. What "post" means is that N is multiplied after M.

2. In question 7, what is the order of "composing a rotation and a uniform scale"?


Feb 13, 2008

1. What does "zero-centered" mean in stage 3 of project 1?

Let g = 1/5 [1 1 1 1 1]. This can mean different things.

One way to interpret it is: g(1)=g(2)=g(3)=g(4)=g(5)=1/5 and g is zero everywhere else.

By “zero centered”, it means g(-2)=g(-1)=g(0)=g(1)=g(2) = 1/5 and g is zeros everywhere else.

2. Correction of question 2 in the written assignment (stage 3) of project 1

WAS: 2.A The unit box (g(t) = 1 if -.5 < t <= .5, 0 otherwise)
NEW: 2.A The unit box (g(t) = 1 if -.5 <= t < .5, 0 otherwise)

WAS: 2.B ... Note: in the book, this is the tent filter of r=1/2
NEW: 2.B ... Note: in the book, this is the tent filter of r=1

WAS: 2.D The tent of r=1
NEW: 2.D The tent of r=2

Feb 10, 2008

For the command "chromakey" in project 1, you can assume that initially V has alpha = 255 for every pixel.

Feb 1, 2008

For the "fill" command, if the input region includes pixels that are outside the image, your code should fill in the intersection of the image and the input region. If the region is invalid, i.e., y2<y1 or x2<x1, you code does not need to do any job -- just leave the image as it is.

For the two tutorials on alpha compositing, Alvy Ray Smith, "Image Compositing Fundamentals", page 1-6 till the end of "premultiplication problems", is required; other sections are optional. Tom Porter and Tom Duff  "Compositing Digital Images" is also optional.

Due to the Photoshop issue, the deadline for Project 1 preliminary is extended to next Wednesday noon.

Jan 30, 2008

I updated the reading material for week2, to include two tutorials on alpha compositing.