Work

The graded work in this course is split up as follows:

Late Assignments

Assignments are expected to be handed in on the due date. If you are late, you must either provide a good reason and an expected time of completion, or you will simply not receive any marks for that assignment. Note that part marks will be awarded if you can hand something in demonstrating you have worked on the assignment even if you can't finish it, and there is no penalty for resubmitting, so submit early and often!

Plagiarism

In short: don't cheat. Work is supposed to only be done by the people handing it in. When it is appropriate to use someone else's work (whether in the class or elsewhere) as part of an assignment, you need to give full credit.

Labs

Officially scheduled labs are Wednesday 12:00-1:00pm and Thursday 3:30-4:30pm, in the computer lab ICCS/CS 005. One of our TA's, Brad Atcheson, will be in charge of these labs.

Assignment 1: Rasterizing Triangles (8%)

Assignment 1 is available here: assn1.tar.gz. Refer to the README file contained therein for instructions on writing your code to rasterize triangles.

This is due Thursday September 18, before midnight. Use the handin program to submit your source code. This is worth 8% of your final mark.

Three test triangle files are provided, which when your rasterizer is working properly, should produce images similar to the following:

test1.sgi:
test2.sgi:
test3.sgi:

Note that on the Linux machines you can use the command "display test1.sgi" to view the output image file "test1.sgi"; other programs such as "xv" also can do the trick.

Preparing for Assignment 2

Assignment 2 will come soon, and will involve writing an OpenGL program using GLUT. This is a great time to crack open the OpenGL Red Book (or start reading the online version---see the course Resources page), particularly chapter 3.

GLUT is installed on the linux machines in ICICS 005, but if you want to work on your own computer you will definitely want to download GLUT if it's not already there. Windows doesn't come with it by default so check out Nate Robins' website for example. It is provided in Mac OS X, as the GLUT framework; things to look out for about the Mac version is that you need to #include <GLUT/glut.h> rather than the usual GL/glut.h, and when linking with GCC you need to put -lm -lobjc -framework OpenGL -framework GLUT on the command-line. On the Mac, the core OpenGL header files also need to be included as #include <OpenGL/gl.h> rather than GL/gl.h, for example, but these automatically get included by GLUT so you may not need to worry about this.

Once you have GLUT downloaded, check it works with the simple programs at the start of the Red Book.

Assignment 2: Transformations in OpenGL (8%)

Assignment 2 is available here: assn2.tar.gz. Refer to the README file contained therein for instructions on writing your code to hierarchically build a centipede.

This is due Tuesday October 7, before midnight. Use the handin program to submit your source code. This is worth 8% of your final mark.

Midterm Exam, In-Class (10%)

Thursday October 2, in class.

Here are example questions in the form of short quizzes.

The exam will consist of relatively short written questions, covering lecture material (reflected in the notes) up to and including September 30, but not including the very last section on raycasting (i.e. everything up to and including the Z-buffer algorithm).

Here is the actual midterm itself: midterm.pdf. Example answers are here: midterm_solved.pdf.

There was also a makeup midterm, which you might use as additional testing material for the final exam: midterm_makeup.pdf. Example answers are here: midterm_makeup_solved.pdf.

Assignment 3: Raytracing (8%)

Assignment 3 is available here: assn3.tar.gz. Refer to the README file contained therein for instructions on completing the code to do recursive raytracing.

This is due Monday November 10, before midnight. Use the handin program to submit your source code. This is worth 8% of your final mark.

Once you have it properly working, the program should produce an image which looks like this:
output.sgi:

Assignment 4: 3D Game (16%)

Here is the description of the final assignment: assignment4.pdf.

The initial demo is due November 13, before midnight. This is worth 4% of your final mark.

The final version is due November 28, before midnight. This is worth 12% of your final mark.

Final Exam (50%)

The final exam is scheduled for Friday, December 5, 12-2:30pm, in Dempster 301. It will be very similar in style to the midterm and quizzes.