W Randolph Franklin home page
... (old version)
ComputerGraphicsFall2007/ home page Login

Due Sept 27.

  1. Extend the paint program presented in class as follows.
    1. Add 3 more colors of your choosing.
    2. Add a main menu entry and submenu to enable or disable writing with XOR instead of with copy.
    3. Add an entry to the permanent menu on the top to draw a circle; the user selects opposite ends of a diameter.
    4. Modify the program to keep drawing primitives until you select something else from the top menu. That is, after you click on line, each pair of future clicks causes another line. (Now the program ignores left clicks after the first 2 until you again select something on the top menu.)
    5. Modify the program to use a display list, so that the objects are redrawn when you redisplay the window. (This may be surprisingly hard.)
  2. (The point of this question is to introduce you to one of RPI's graphics alumni.)
    The most recent project of Dr. Chandra Narayanaswami, PhD (RPI), and Manager, Wearable Computing, IBM TJ Watson Research Center, is Soulpad. Briefly, SoulPad allows a user to personalize a PC and resume complete computing environments without carrying the whole PC around. An video demonstrating the prototype is available at http://www.research.ibm.com/WearableComputing/SoulPad/SoulPadVideo.wmv and more information about the technique is available at http://www.research.ibm.com/WearableComputing/SoulPad/soulpad.html.
    Soulpad uses some of the same good design techniques I've mentioned in class recently. What are they?
  3. What's the difference between glutMotionFunc and glutPassiveMotionFunc?
  4. Why does paint.c contain this line:
  5. In showinput.c, what would happen if myTimer did not call glutTimerFunc(1000, myTimer, 0)?