Question 1

The flow-of-control is handled via callbacks: the programmer specifies a number of functions that are called by glMainLoop() via, in our example, glutDisplayFunc(), glutReshapeFunc(), and glutKeyboardFunc().

Question 2

The integer parameter is the bitwise-or of a number of predefined constants, allowing you to pass multipule configuration settings to the initializer. In this case, GLUT_RGBA specifies that the window be a standard red-green-blue-alpha transparency color model, and GLUT_DOUBLE specifies additionally that this window's output be double-buffered.

Question 3

glOrtho() modifies the clipping region, i.e. the location, angle, and width of the camera. glViewport() defines where, within the window made available to OpenGL, the render is displayed.