CS425 Laboratory 2
9/6/06 12:00 noon - 2:00 p.m.
DUE: Total project will be due on or before 12:00 noon on
the lab of 20th.
The exit criteria for each week will have to be displayed before leaving lab.
Exit Criteria for this week: You can design 3D objects using
vertex arrays, and display
them using OpenGL function calls.
Handouts:
Example of translation, scaling and rotation
Example of vertex arrays to build objects I didn't get to this in lecture but I will cover it next week.
For a grade of Level 1
- Design three separate 3D objects.
- Use one vertex array per object.
- Design and implement an OpenGL program to display these
objects as wire frames.
- Position the objects automatically, by using OpenGL
transformation functions.
(This means design each object
using its own modeling coordinates.)
- Demonstrate your program runs and displays your three objects.
For a grade of Level 2
- Design three separate 3D objects.
- Use one vertex array per object.
- Make some of the faces of some of the objects different colors.
- Design and implement an OpenGL program to display these
objects as wire frames or flat shaded objects.
- Position the objects automatically, by using OpenGL
transformation functions.
(This means design each object
using its own modeling coordinates.)
- Provide a swing or glut menu to switch between showing wire frames
and flat shaded objects.
- Demonstrate your program runs and displays your three objects.
For a grade of Level 3
- Design six separate 3D objects.
- Use vertex arrays.
- Make some of the faces of some of the objects different colors.
- Design and implement an OpenGL program to display these
objects as wire frames or flat shaded objects.
- Position the objects automatically, by using OpenGL
transformation functions.
(This means design each object
using its own modeling coordinates.)
- Provide a swing or glut menu to switch between showing wire frames
and flat shaded objects. (or separate keys for each selection)
- Provide an additional menu to change the position of one of
the objects.
- Demonstrate your program runs and displays your six objects.
For a grade of Level 4
- Design six separate 3D objects.
- Use vertex arrays.
- Make some of the faces of some of the objects different colors.
- Design and implement an OpenGL program to display these
objects as wire frames or flat shaded objects.
- Position the objects automatically, by using OpenGL
transformation functions.
(This means design each object
using its own modeling coordinates.)
- Provide a swing or glut menu to switch between showing wire frames or
flat shaded shaded objects. (or separate keys for each selection)
- Provide an additional "transformation" menu (or keys) to change the
position, scale, or rotation of one or more of the objects.
(Note: If you have more than one object in this menu, you will
need to design an effective way to "choose" the object to transform.
However, you can hard code one choice and still get level four.)
- Demonstrate your program runs and displays your six objects.
Enrichment
- Can you figure out how to create a menu with the window to make the
interface more "user friendly". It might be easier on the Macs.
- Think about drawing the same object many times in different
translations, rotations, or scales. Would this allow you to make
hundreds of objects in your display? What happens to re-display
time as you increase the number of objects.
- Try 100 of each object. Can the system still display
all the objects in "usable time"?
- Move some of your objects so that they intersect one another.
Does OpenGL calculate the correct intersection? Or is something
still wrong.
NOTES:
- You should think ahead to the final project you will be designing.
This will be some kind of a "scene" in 3D. This year it will be based on a theme, kind of like your high school prom, this year's theme will be "Manufacturing".
Since each of you are Computer Scientist I feel I need to explain" The "PROM" is a high school dance at the end of the senior year where boys ask girls ( yes it happens) to accompany them to the dance. Maybe you've seen it in the movies, I'm pretty sure proms are not covered in video games.
- Additional suggestions and helpful hints will appear in this
portion of each lab at any time. Check back regularly.