Course Projects

There will be 3 programming project assignments over the course of the semester. The first 2 will be individual projects where the implementation goals are specified by me. The final project will be a group term project. You will work in groups of 2-3 on a project of your choosing. I will provide some suggestions for possible projects, but you will be free to come up with your own as well. In either case, I must approve the details of the project you intend to pursue.


MP1   Our first project will be on View-Dependent Terrain. This project is assigned September 6 and will be due on October 2.

MP2   Our first project will be on Sphere Hierarchies and Splatting. This project is assigned October 9 and will be due on October 25.


Project Evaluation    For each of your projects, you will give a public demo to me shortly after the handin deadline.

Choice of GUI    You may select any GUI toolkit or 3D API of your choice. I personally use FLTK and OpenGL, but if you want to use MFC and DirectX, you may. My only requirement is that the software must run on the machines in 1265 DCL and the source code must be readable.

Code Sharing & Reuse    You may use public libraries or source repositories to help you perform common functions not directly related to the features you are required to implement. For example, the code necessary to parse input data files or manage GUI dialog boxes would fall into this category. You may also share such code with other students. However, sources should be cited and credit given properly. You may not copy code from the Web, other books, other students, or any other sources that perform the required functionality of your project.

Collaboration    Direct collaboration on projects with other students is not allowed. You may talk to your peers about implementation ideas, but if you truly understand what was discussed, you should be able to walk away from your meeting without notes, do something else mindless for half an hour without thinking about the discussion, and still remember enough to help you with your project. The sole exception, as mentioned above, is that you may share code for performing incidental tasks (e.g., file parsing).

Last modified: Tue Oct 09 10:33:10 CDT 2001