BU CLA CS 480: Introduction to Computer Graphics

Spring 1995

Programming Assignment 4---due Friday, April 28


In this final programming assignment, you are free to choose the project you will code. A list of possible projects is given below. You are welcome to choose a project from this list, or you may propose an alternate project.
  1. Shaded rendering using Z-buffering. Implement the z-buffering algorithm for shaded rendering of triangles with vertex normals. Your program should allow users to select among flat, Gouraud, or Phong shading models. Your program should allow the user to rotate the scene. You can demonstrate your program on any polygonal models you see appropriate.

  2. Spline Editor. Implement a 2-D Bézier curve editor that provides support for quadratic, cubic, and quartic curve segements. The program should allow users to input a series of connected Bézier curve segments, and generate the correct spline. Provide edit mode in which a user can ``rubber band'' the resulting curve by pulling on control points.

  3. Game. Write a game program (subject to approval). Tetris would be an acceptable project.

  4. Animation. Write an animation program using SPHIGS (subject to approval). I can provide you with the TAR file for building the SPHIGS subroutine library.

In building your program, you can use components from the previous assignments as you see fit. You may develop your code on any hardware platform as long as you can demo your project for me in the MCS building on Friday, April 28.

Send E-mail by Friday April 14

Send e-mail to me telling me what project you have chosen by Friday, April 14. If you propose an alternate project, you will need to e-mail me a one page description of what you plan to do.

Proposing Alternate Projects

Alternate projects are subject to prior-approval. This means that you need to discuss your project with me before next Friday. You can do this in e-mail or you can make an appointment to come by and see me.

Grading

Demo

Part of your grade for this programming assignment will be based on your giving a short demo. You will be expected to talk about how your program works, what algorithms you used, and we will test drive your program. Demos will be scheduled for Friday April 28, from 1:00 to 5:00.

Write-up

You will also be graded on a brief write-up that is to be turned in at the beginning of class on Friday, April 28. Basically, this write-up should include a few paragraphs describing what design choices you made in writing your project and what algorithms you used.

I would also like you to write a discussion of how you made your program more efficient, or how you would have made your program more efficient if you had more time.

Lastly, you will turn in an electronic copy of all your code. The code should be commented so that it is easily understood.

Extra Credit

There is no extra credit on this project; however, you can do two projects and use one to replace the grade on a previous programming assignment.

Start programming early. Incompletes will not be given.



Stan Sclaroff
Created: April 5, 1995