Welcome to CS559!

by Eftychios Sifakis on September 7, 2016

Dear Students,

Welcome to CS559 “Introduction to Computer Graphics”. This web page will be your portal for all announcements related to the class, information about class logistics, and repository of lecture notes and supplemental information.

To get started, make sure to check out the Syllabus page for the most important general class information (including grading and administrative logistics), and the Calendar for a time-indexed view of topics and important special scheduling notices.

You will be getting information on reading materials as we go, but if you want to prefetch some information that will definitely be useful, take a look at the following tutorials/discussions:

That should be a good starting point! Please keep track of the posted deadlines for assignments (summarized in the “Week in 559” window on the right of the main page of the class). Also make sure to verify you have access to the Piazza and Canvas pages (linked for your convenience to the right of the main page). Have a great start to your semester and enjoy the class!


Analytics and grading curve for the final exam

by Eftychios Sifakis on December 27, 2016

After the grading of your final exams has been completed, the grading curve has been set as follows:

  • Scores between 88-100 correspond to an “A” grade
  • Scores between 80-87 correspond to an “AB” grade
  • Scores between 70-79 correspond to a “B” grade
  • Scores between 60-69 correspond to a “BC” grade
  • Scores between 49-59 correspond to a “C” grade
  • Scores below 48 correspond to a “D” grade

The average grade was 80, while the median grade was 82.
Remember that the final exam is only a small piece of your overall grade – this grade distribution and curve is for your information only and does not reflect your final grade!

Remember to complete your course evaluations!

by Eftychios Sifakis on December 15, 2016

The deadline for students to complete their course evaluations is Thursday December 15th.

You are strongly encouraged to give us feedback on your experience in this class. Telling us about your experience, both positive and negative aspects of it, is greatly valuable to us!

Extra office hours

by Eftychios Sifakis on December 15, 2016

The instructor will be available from 11:00am – 11:45am (in CS6387) on all 3 of the following days prior to the exam:

  • Thursday Dec 15th
  • Tuesday Dec 20th
  • Wednesday Dec 21st

The after-lecture office hour on Monday Dec 19th will not be held (as we won’t be having a lecture!)

Summary final study guide

by Eftychios Sifakis on December 15, 2016

In order to facilitate your review for your final exam, we have compiled a list of most important topics from your readings. It should be made clear that this is not an exhaustive list of what you should know for the midterm (this would be: all the assigned readings, plus the information discussed in lectures), but is just meant to highlight topics that are particularly important.

From Foundations of Computer Graphics :

  • From Chapter 4 [Link] : The sections to emphasize are : Introduction, Section 4.1, 4.5, 4.6 (just intro), 4.7 (slightly different formalism than discussed in class; you might find the lecture notes simpler), 4.8.
  • From Chapter 8 [Link] : You’ve reviewed parts of this for the midterm; now would be a good time to review Sections 8.2 and 8.3.
  • From Chapter 11 [Link] : This is all good information. You may skip 11.1.1, 11.1.4 and 11.3.1.
  • From Chapter 13 [Link] : This is all very good information, although with substantially more detail than we discussed in class (the level of detail discussed in class will be adequate for your exam). You can skip Sections 13.2 and 13.3.
  • From Chapter 15 [Link] : Beginning of the chapter through Section 15.3.5

Lecture notes from Dec 2nd/9th

by Eftychios Sifakis on December 12, 2016

You can download the lecture slides on Ray Tracing and Global Illumination (covered in the Dec 2nd/9th lectures) here : [PDF] [PDF]

We also saw these examples of renders produced in intermediate stages of global illumination algorithms.

The topics or ray tracing and global illumination are also discussed in Chapters 4 [PDF] and Chapter 13 [PDF] of Foundations of Computer Graphics

Practice final exam

by Eftychios Sifakis on December 12, 2016

You can download the final exam given in Spring 2016 here. This exam is indicative of the scope and volume to be expected in your final this year, and should be a good practice for your preparation!

Programming Assignment #9: GraphicsTown conclusion

by Eftychios Sifakis on December 2, 2016

Due: Sunday, December 11th (see the class late policy on the Syllabus)

Synopsis: You will add more advanced effects, such as advanced texturing and motion,  to your GraphicsTown project in order to try out the ideas discussed in class.

Learning Objectives:
The goal of this project is to give you experience creating implementing more advanced visual effects using interactive graphics tricks, and demonstrate your understanding of using parametric curves to animate objects in a scene.

Evaluation: We will grade on the scale explained in the Syllabus for turning a working version of the graphics town project that shows off the minimum required new features. We will give extra points for doing more than the minimum, or for creating particularly interesting things in the basic assignment.

Handin: Submit your code through Canvas [Link]


By now you should be familiar with the Graphics Town Project, as in the past weeks you have been adding more interesting objects and textures. This week you will continue to add things – just this time, they’ll be fancier things.

Technically, you can add effects to the objects that you made last week – but the idea is that you keep adding more and more stuff so that the project becomes more and

Extra office hours – Friday December 2nd

by Eftychios Sifakis on December 1, 2016

The instructor will be available for an additional office hour this Friday December 2nd at 9:00am-10:00am (location: CS6387)

Curve Examples from class

by Eftychios Sifakis on November 23, 2016

Using curves to craft trajectory and orientation (in 3D) : [Link]
Bezier curve example [JSBin]
The same example, restructured to use an abstract basis [JSBin]
Same curve, with trajectory plotted [JSBin]
… and with a Hermite curve substituted instead [JSBin]

Finally, two Hermite curves, joined together [JSBin]

Lecture notes from November 14th/16th

November 21, 2016

Lecture notes from November 14th can be downloaded here. And the slides from November 16th are here. And a few good online examples of some advanced texturing practices we discussed: Skybox [Link] Environment mapping [Link] Environment mapping in conjunction with Skybox [Link] Dynamic reflection map [Link] Shadow mapping [Link]

Read the full article →