CS155 - Fall 01

Z Sweedyk


Project 3: mini-OpenGL

Due: 11/11/00 at 11:59PM.
 

Overview

In this project you will implement a simple graphics pipeline system similar to OpenGL.  To allow you focus on the nuts and bolts of the assignment, we supply supporting code that provides a user interface, file i/o, the general pipeline structure,  and  many of the data structures you'll need. Data is read from  files in  .ply format.

What You Have to Do

The assignment is worth 20 points. The following is a list of features that you may implement. The number in parentheses corresponds to how many points it is worth.  Options in bold are mandatory. By implementing all the required features, you get 15 points. There are many ways to get more points: It is possible to get more than 20 points. However, after 20 points, each point is divided by 2, and after 22 points, each point is divided by 4.

Getting Started

You should use the code available at /cs/cs155/proj3/src, on the graphics machines, as a starting point for your assignment. We provide you with: After you copy the provided files to your directory, the first thing to do is compile the program.
In either case an executable called myOpenGL will be created.

How the Program Works

The program provides a user interface with a display window.  Menu options allow the user to enter a input file (.ply) which contains the description of some object.  After rendering, the contents of the frame buffer will be displayed.  Other menu options allow the user choose the type of projection  (perspective or orthographic),  the shading model  (flat or smooth), and the color model (color vs. lighting).  The user may also enter model transformations to be applied to the object.

Do not change

Do not change main.[cpp/h], myply.[cpp/h], or ply.[cpp/h].  We will use OUR version of this code when we test your code.  If you think that modifications are needed, let me know. If I agree, I'll implment the changes and make them
available to the class.

What you should change
 

  • Scan-line algorithm:
  • Smooth Shading:
  • z-Buffering:
  • Clipping:
  • Transforms:
  • Perspective Projection:
  • What to Submit

    You should submit: The writeup should be a HTML document called assignment3.html which may include other documents or pictures. It should be brief, describing what you have implemented, what works and what doesn't, how you created the art contest images and/or movies, and any relevent instructions on how to run your interface. Make sure that any linked images/movies are world readable.

    Make sure the source code compiles on the graphics machines.  If it doesn't, you will have to attend to a grading session with a TA, and your grade will suffer.

    Remember our standing late policy and collaboration policy.
     

    Hints:


    Last update: 10/24/01  11.05 PM