Assignment 2

Handed out: Thursday, October 15, 1998
Due: 5pm, Tuesday, October 27, 1998


Your assignment is to write a set of plug-ins for a video-editing system and then create a special-effects video that shows off the plug-ins you implement. The idea behind this assignment is to extend the Adobe Photoshop paradigm of editing a single image using image-processing techniques to editing a sequence of images that make up a video sequence. We will provide a basic video-editing framework that allows you to choose a sequence of frames and specify the image processing algorithms you wish to run on that sequence. The video-editing framework will also let you compose the image processing operations so that you can perform several operations on each frame. We will also provide you with a variety of content--images and animations that you can use as input to your plugins. You will design and implement the image processing plug-ins that perform the image processing algorithms on the images.

In addition to implementing the plugins, there are a set of questions that you must provide written answers to. The written questions will count for 40% of your grade.

Here is a quick overview of what is required for the assignment. We will provide more information about the video-editing system and how to implement the image-processing plug-ins below.

For this assignment the following sets of plug-ins are required:

Detailed specifications and the written questions are available in a separate document. You should turn in a total of 8 separate files, each implementing one of the above plugins or variations. We have provided 8 skeleton files, which you should use for your plugins; please don't change their filenames before submission, or our automated grading system wil be a lot less automated and your tas will be a lot less jolly.

Contrary to what the syllabus says, this assignment is to be completed individually.


In addition to submitting the code and the written answers for the questions, you are required to submit two still images and two video sequences. You should create a web page that we can access that contains the images and links to the videos. Here is some information about how to create a web page from your Leland account. Please verify that your page is accessible, there aren't permissions problems, and that the links aren't broken.

Sequence 1

To create the example video sequence teapotHand.qt, we used some of the above plug-ins. Once you have written your plug-ins you should attempt to replicate our work and create a similar video. More information is available about how this video was made.

Sequence 2

Create a second video sequence using as many of your plug-ins as you can. Humor, artistic merit, and technical dazzle will improve your grade.

Still Images

Make two nifty still images using the framework.


The assignment will be graded on a scale of 100 possible points. 40 points will be for the implementation and correctness of your code and 40 points will be for the written component. Speed of execution is not the most important part of this assignment, but you should try to write your plug-ins without egregious inefficiencies. Up to 5 points will be awarded for replicating the first video sequence and the majority of the remaining 15 points will be awarded for creative and interesting uses of your plug-ins in the second video sequence and still images.

Extra Credit Up to 10 points of extra credit is available. To get extra credit you can implement additional interesing plugins. Suggestions include:

Additional Information

A number of additional documents are available to help you with this assignment.

CS248: Introduction to Computer Graphics, Pat Hanrahan, Fall 1998