Project 1 Description


This is the first project building up to your midterm project. It is the start of a multiple view renderer and will incoporate almost all of the OpenGL functionality you learned last semester.


What you need to do for 10/10 points:

  1. The object you drew in the final project of last semester (the object that was the boid). Displayed.
  2. You will need 4 seperate views: Each of these views shows your model from a different position. The perspective view works just like your final project did. The 3 axis views have the camera position dead on the axis itself. This allows you to see the model from 3 different sides.
  3. Each view will allow for rotation of the object. The perspective view rotates around the y and x axes. The axis views are intended to be 2d views...meaning you are looking at a particular plane (looking down the x-axis, for instance, would be looking at the y-z plane). So, each of the axis views will only rotate around specific axes, meaning if you are looking at the y-z plane, then left-right rotates around the y axis and up-down rotates around the z axis.
  4. The axis views are also connected. This means if you rotate in the x-axis window, then you will change the y or z rotation values in the other windows as well. Be careful that this is only 2-d, meaning each window will only rotate around the axes of those planes. For instance, if you rotated left-right in the x-axis window, only the rotation values for y and z are updated. This is the same for the other windows.
  5. You will need to detect where the mouse is located on the screen so you can rotate the correct window.


Extra Credit (these will be part of the next project as well) 1 pt each:

  1. A menuing system which is sensitive to what window is selected.
  2. Borders on each window which change colors when that window is selected.
  3. Zoom capability on perspective and orthographic views.


This project is due on: Monday, January 26.