CS798: Non-photorealistic Computer Graphics (Winter 2008)


Computer graphics has traditionally been driven by the quest for photorealism: the accurate depiction of the bahaviour of light and surfaces. But photorealism need not be the only goal of computer graphics. A deliberate departure from realism unlocks additional modes of communication that are physically inaccurate but aesthetically rich. Nonphotorealistic graphics has applications in art, design, entertainment, and scientific visualization.

The goal of this course is to explore the power and potential of nonphotorealistic computer graphics. It will cover popular techniques and algorithms, and survey successful applications.


Mar 26: Huzzah! The lecture notes now cover the entire course (though coverage is a little light for Image-based NPR and Grand challenges).

Mar 26: Lecture notes now cover Lecture 9, Object-space line drawings.

Mar 25: As mentioned in class today, there will be no lecture on Thursday the 27th. Please do come to class on April 1st and 3rd to watch your fellow students' presentations.

Mar 25: Lecture notes now cover Lecture 8, Introduction to 3D NPR and lighting models.

Mar 18: Why doesn't anyone tell me these things? For a long time, I thought the best way to get access to the techniques in WYSIWYG NPR and Coherent Stylized Silhouettes would be to download the binary of Jot from Princeton, but that page is not up-to-date. Little did I realize that the developers decided to release a GPLed copy of the library source on Google code! What a great resource for aspiring NPR researchers. Go grab a copy now.

Feb 19: The lecture notes now cover everything up to the end of Lecture 7, Optimization (which I finished on February 12th).

Feb 18: I've posted Assignment 3, a gentle modification of Assignment 2 from 2004. Due date is March 14th.

Feb 13: Project information is now available.

Jan 21: Lecture notes now cover Lecture 2 (strokes) and Lecture 3 (natural media)

Jan 10: Assignment 1 is now live for Winter 2008. It's due on January 24th, two weeks from today. I'm going to try to offer newer skeleton code soon to replace the Python version available now. Of course, you can write it any way you want.

Jan 8: I've just created the "general references" page with pointers to some primary NPR resources. I'm happy to add to the information on that page if anyone would like to offer links.

Jan 8: Lecture notes are up for today's lecture, and include pointers to the material I'd like you to read and hear to set the tone for the course.

Dec 13: I'm creating an initial version of the course web page so that I can start throwing information into it about scheduling, assignments, marking, etc. If you're interested in the course, check back occasionally for updates. Feel free also to get in touch with me.

Course information



Assignment 1 18%
Assignment 2 18%
Assignment 3 18%
Project proposal 6%
Project content 16%
Project presentation 6%
Project write-up 8%
Participation 10%

Craig S. Kaplan Last updated: