Assigned: Monday, January
14th, 2008
Due:
Objective: Create a 2D game or interactive experience that makes use of: Translate, Rotate, and Scale.
1. Create your own
models using (15 points)
A. A text editor
B. A modeler: Professional ones like 3DSMax and Maya are complex. A free one I suggest is : misfit model 3d (www.misfitcode.com/misfitmodel3d). Other options include Blender (www.blender.org), Artofillusion (www.artofillusion.org), and Milkshape (http://www.swissquake.ch/chumbalum-soft/ms3d/index.html - $25 registration fee after 30 days).
C. The file format we will be using is Alias Wavefront’s OBJ file format (which is exported by many modeling packages). Writing your own reader is acceptable, though we will provide you with one.
D. To download the template, download assignment1.zip (c/c++ OpenGL) or assignment1jogl.zip
E. You can reuse any code from previous assignments.
F. One of your models should be articulated (hierarchically connected and animated). This means that they share transforms in your transformation hierarchy. The models can be made up of separate files. E.g. a robot arm could be made up of hand.obj, lower_arm.obj, and upper_arm.obj connected by geometric transforms
G. We will not be grading the quality of your models, but will take into consideration the effort.
H. You can use models from the web, however, you must give credit in your report. Otherwise, you will lose all points for the model component.
2. Load and render
all your models in an OpenGL window (20 points)
3. User control of
the hierarchical model using the keyboard or mouse (30 points, 5 points for
each of the following)
For the entire model,
A. The user should be able to translate the hierarchical model using the keyboard OR mouse.
B. The user should be able to rotate (in 5 degree increments) the hierarchical model using the keyboard OR mouse.
C. The user should be able to scale (by a factor of 0.5 or 2) the hierarchical model using the keyboard OR mouse.
For one part of the model,
A. The user should be able to rotate (in 5 degree increments) one part of the hierarchical model using the keyboard OR mouse.
B. The user should be able to scale (by a factor of 0.5 or 2) one part of the hierarchical model using the keyboard OR mouse.
When the user right-clicks on the window, a list of all the commands should be listed.
NOTE: the control of the hierarchical model does not have to be integrated into the game or interactive experience.
4. Make a game or
interactive experience (20 points)
A. You don’t have to develop a full game, but one “level” of a game.
B. For interactive experience, just focus on telling a portion of a short story.
C. In the rendering window, display the frames per second of your program
5. Create a webpage
that shows off your assignment including screenshots (15 points)
A. Screenshots and explain your game/experience – 5 points
B. link to a .zip file of files required to compile and run your project. Also include a precompiled .exe in your .zip file. If you think any additions you might have made would cause problems, please verify w/ your TA.
C. Explain the visual result of
drawing two overlapping objects (1 paragraph) – 5 points
D. Make a graph of number of
objects drawn (~10, ~100, ~1000, ~10000, ~100000 objects per frame vs. the
frames per second) – 5 points
E. link to a .zip file of files required to compile and run your project. Also include a precompiled .exe in your .zip file.
Grading:
100 pts (15% of total grade)
For each of the above sections,
a great job = full points
a good job = 75% of the points
a flawed job = 50% of the points
nothing = 0%
The evaluation of the job will be technical correctness and complexity of the effort.