Describe cchw1 here.
In a GLUT program, how is control passed back to the programmer? How is this set up during initialization? -functions are registered with GLUT keyed off of events, for instance the timer, the keyboard, or the mouse.
What does the parameter to glutInitDisplayMode() in main() specify? The parameter is the set of flags for this instance of GLUT. For instance, double buffering and the color mode are set here.
What do the calls to glOrtho() and glViewport() in the reshape() function accomplish? If the window is to be resized, why might we want to change this?
The functions redefine the coordinate system map to the window and the window view of that coordinate system. This is necessary on resize because we want to maintain the aspect ratio and positioning of the objects in the window.