1. Control is passed back to the programmer by registering callback functions. These functions are called whenever events such as window resizing, user input, or even a call to display the screen occur. A function pointer for each desired event is passed to the corresponding GLUT function at initialization.
2. The parameter is a bitmap that determines a number of display mode settings. Some include whether to use RGBA or color indexing a single or double buffered window, and to possibly use an associated depth, stencil, or accumulation buffer.
3. GlViewport defines the rectangular area of the window that displays the image.
GlOrtho creates a viewing volume that maintains the actual size and angles of objects contained in the volume. Only objects inside the volume can be displayed on the screen. If the window is resized, its possible that the programmer would want either more or less of whatever is being shown to be visible instead of changing the size of what is visible.