README for 22c151 Homework #2 Sept. 2, 2008 FILES IN THE HW2 'extras' folder: pseudoCode: Pseudocode which describes a sample solution to Homework 2. It does *not* describe all of the functionality of the full solution, but it should help in understanding the use of global state variables, and (hopefully) it the flow of control in event-driven glut programs. hw2-linux: The Linux executable of a Homework #2 sample (it might not exactly meet the spec. hw2-mac: The Mac OS X executable of a Homework #2 sample (it might not exactly meet the spec. examplesFromClass: double.c, double2.c, ..., double7.c Examples (expanding upon double.c from OpenGL Programming Guide, p.24) covered in class 9/4/08. Demonstrate animation, idle function, use of mouse, keyboard, motion functions, menus Makefile is included. E.g., "make double3" should work polygonStruct.h: A crude (i.e., memory inefficient) polygon data structure you might find helpful for storing information about each shape. pointInPoly.c: An implementation of the odd-even test for determining if a point lies within a polygon. This will be useful for implementing polygon selection in your code. linkedList.h: An example of a doubly-linked list datastructure you might find helpful in keeping track of the shapes that have been created, and in keeping track of which shapes are "on top of" others. linkedList.c: Some routines which implement adding & removing items from the linked list structure defined in linkedList.h. glutMenuSlides: Some examples of glut menus, based on transparencies give in class in previous years. They are "as-is" (i.e., without comments). *DON'T* just cut'n'paste their contents without understanding how the functions work. NOTES: 1. You are *not* required to use any of the C code in the *.c or *.h files (polygonStruct.h, pointInPoly.c, linkedList.h, and linkedList.c); they're just provided for your convenience. 2. This README file is the sort of thing we expect you to submit with your homework assignments. I.e., it should contain: - a description of every file you're submitting, - a description of what the code does, - instructions on how to compile your source code, - instructions on how to run the resulting executable, - an explanation of shortcomings; i.e., if your code doesn't do what the assignment requires, explain why not. Conversely, if it does *more* than required, describe that, too.