CS 3014 Computer Graphics
Project #1
Points Possible:  50 (Part 1) + 50 (Part 2)
Due (Part 1):  Noon, Monday, September 20, 2010
Due (Part 2):  Class Time, Wednesday, Septembr 22, 2010


Details:


Part 1 (50 points)

Write a program that will allow the user to select points on the screen via left mouse click, resulting in a solid rectangle being drawn with those two points as opposite corners.

Your program should

10 pts:  Open a window on the screen using as much real estate on the screen as possible while maintaining an aspect ratio of width/height approximately equal to  19/13.  The clearing color of the screen should be white.  Choose parameters for glOrtho so that your "frame" corresponds to the "window" you opened,  allowing for a 1-1 correspondence between points in your frame and pixels on the screen.

10 pts:  Allow the user to select two points on the screen with a left mouse click.  When the first point is selected, it should appear on the screen in your color choice for the rectangle; when the second point is selected, the solid rectangle should immediately be drawn to the screen.

10 pts:  Allow the user to keep selecting pairs of points and drawing more rectangles.  Later rectangles might overlap or be drawn on top of earlier ones.  Rule is:  latest one wins.

10 pts:  Allow the user to select the color of each rectangle, if desired.  How this is accomplished is up to you, but you must have at least the basic colors available:  black, red, green, blue, yellow, white (for pseudo-erasing).  The selection may be from keyboard (r for red, etc.), dropdown menu, or some other method (glui?) as long as it does not employ interacting with cin and cout statements from the terminal window. 

10 pts:  Allow the user to exit the program gracefully using the ESC key.
         
Part 2 (50 points)

Using your program from part 1, produce a pixel art design.  When you are happy with your product, capture a screen shot of it and use the Epson color printer in the lab to produce a 19X13 color print.  In keeping with the theme of the eBoy art on the wall in our lab, your design may be displayed on the wall.    If your design is displayed, you get 50 points;  if it is not  displayed, you will get less than 50 points, to be determined entirely subjectively by me.  See me for assessment before printing your art.

Inspiration:
Pixel Art Making a Comeback
Youtube Documentary about Pixel Art
eboy's site

Extra Credit (10 points)

Allow the user to select using  rubber rectangles:  those that grow and shrink as the user moves the mouse.