The main purpose of this assignment is to ensure that you (the student) have chosen a language that will run OpenGL on the CS cluster so the TAs can grade every assignment there.
Another purpose is to balance the workload for hw0 and hw1, by starting work on the matrix library now . (The matrix library is actually due with Assignment 1).
You are free to use any OS or language in writing your labs as long as ultimately you produce code (and a makefile if applicable) that will produce a working binary on the CS cluster.
This also means that if you do not have a CS account, you need to sign up for one.
We provide code and a working makefile for a gcc/g++ implementation that draws a red sphere. Once again please choose a language you are comfortable with and in which you feel you can program efficiently (in terms of time). We anticpate that Java and Python will work as well. (Jared did all of last year's assignments in Python and enjoyed the time-saver that turned out to be. Aaron used Haskell.)
An example blue sphere:
GLfloat diff[] = {1.0, 0.0, 0.0, 1.0}; // DIFFUSE COLOR TERM,
// 100% red,
// 0% green
// 0% blue
Nothing else has to occur, except it should properly close when you click close or hit the Q key or Esc (or something reasonable that you document).
We're also going to require that you include a README with every assignment you turn in. This README should document how to compile and use your program, what worked and what didn't, and anything else you think we should know. Sometimes we might ask you to make a simple webpage, which will help you in the future.
To turn this and other assignments in, simply put it in a directory called "cs171/hw0" in your home directory on the CS cluster. Future assignments will go in the obvious places. Please make sure that this directory is world-readable so that we can go in and grade your code. We'll email you with a grade. If you're not done with the assignment when it is due, just email us around the time of the deadline to let us know and then let us know again when it is completed.