Math 155 - Winter 2001
Programming Assignment #5
Programming Assignment #5: Choose from one of several projects involving textures or animation or other special OpenGL features.
Due date: Saturday, March 17. Midnight.
For this assignment, you will choose an individual project from the list below. You will need to design the details of the project, and you have a great deal of flexibility in how you design it and what you implement. It is expected that no two of you will do exactly the same kind of project. Please note the features in the projects are only suggestions, and you are free to design different details in your project.
Create a 3D-scene with polygonal objects, with texture maps
applied to the objects, and appropiate lighting and material properties.
Suggestions for the 3D scene include:
Design a boxy, polygonal car. Give it headlights or brakelights (emissive materials). Place it in a flat open area with four walls. Let the arrow keys provide some rudimentary driving controls (the car should be clamped at the walls, or bounce off the walls, so as to not get too far away from the origin).
Design a simple robotic arm with three segments. Let the user control the three joint angles with key strokes (one degree of freedom per joint). Give a target point for the user to try to make the tip of the arm hit the point. (This will may a bit of work learning how to work with hierarchial rotations.)
Build a 3D scene incorporating blending to create transparency effects. For example, model an ordinary and a wine glass with transparency. Optionally put colored liquid in the glasses. (You will need to learn about blending and transparency mostly on your own, and should consult with me on how to implement these effectively.) Let the viewpoint revolve around or move around the objects to show off the transparency effects.
Other projects which are similar in scope would be acceptable IF you get prior approval.
Level of effort: This is a major programming assignment. The level of effort should be higher than that for the earlier assignments; however, it should not be unreasonably high. I would expect you to spend 20 hours on the project, but not over 30 hours. I highly recommend that you implement your project in phases, so that you get one feature or aspect of the project implemented at a time. In this way, if you run into difficulties and take extra time on one aspect of the project, then you still have results from your work to show.
You must choose a project, and let me know what it is, no later than Monday, March 5. A signup sheet is available in class Monday, or you may email me your choice.
What to hand in: