CMSC 491A / 691A: 
Real-time Graphics and Procedural Techniques

Semester Project Information


A major component of this course will be the execution of a term project. The project will involve the development, experimentation with, or evaluation of real-time and/or procedural graphics software. Students may choose a project from a list of suggested projects or propose one of their own ideas.

Projects will generally be done by teams of 1 to 3 students. Projects will naturally be expected to require an effort proportional to the number of team members. All members of a project team will receive the same grade on the project, except in extraordinary circumstances. Students will be asked to rate the contribution of each team member to each portion of the project.

For the software and hardware for the projects, students can use the facilities in the GAVL graphics lab, any (UCS) Lab, or their own computer. The GAVL has a number of SGIs plus a PC with a Nvidia GeForce 2 board. For software, students can use software provided by the instructor, start with OpenGL tools available on the web, use the Stanford RTSL package or develop their own software. Other packages are available on the WWW, often for free. Teams are encouraged to investigate these options if they are not satisfied with the currently available packages.


Projects will be structured as a sequence of phases. Completion of one phase is not required for initiation of the next. In many cases, it will benefit you to be working on multiple phases at the same time. For instance, you might be working on the implementation of an initial prototype concurrently with searching and reviewing the relevant literature.


Describe your plans to meet these requirements in a proposal of approximately 2-4 pages. Give a five to ten minute summary of your proposal to the class. Your proposal should describe:

Literature Review

Review the literature describing other approaches to problems similar to yours. Include a description of the problem that your project addresses. Describe how the approach taken in related work is similar to and different from yours. Include complete references for all papers cited. Your literature review will become part of your final paper. Your literature review should be approximately 1000 words. Correct spelling and grammar count, so check them before you hand anything in.

Alpha Release

Your initial implementation goal is to produce any visualization of your data. Your representation and interaction techniques will not be nearly as refined as you plan to make them, but you should be able to read in a data set and produce an image showing some representation of the quantities of interest. Submit an image (URL is fine) and short description (about a page) of what the image shows and how it was produced.

Beta Release

By beta release, your project should be a complete prototype with all of the functionality that you have proposed. Your beta release should be accompanied by a short description of bugs you plan to fix and enhancements you plan to make. The third phase of the development effort will center on refinements of your prototype. Schedule a demo and meeting with the course instructor in order to present your beta release and discuss a revision plan.


Prepare and present a 20-30 minute presentation of your project. Your presentation should be professional enough to give at a technical conference (e.g. organized approach, prepared slides, a short demo or video if appropriate). Invite your client to your presentation and/or schedule a private demo.

Final Release

Refine and enhance your prototype into a final release. You should attempt to respond to all requests of your client and the course instructors. Your final release should include:


Write a 5000 word technical paper describing your project in the style of an ACM SIGGRAPH Papers other formats may be acceptable with pre-approval). Sections you should plan to include are: abstract, introduction, related work (adapt your literature review for this), implementation, results, future directions, and references. Your paper should include figures and images as appropriate. A complete draft of your paper, including figures and images, must be submitted in advance of the final paper deadline. Your draft should be a complete paper that is as strong and polished as you can make it. Aim for something that you believe is ready for submission to a conference or journal. The course instructor will serve as the reviewer for these papers and make suggestions as to how they might be improved. You may submit earlier, not necessarily complete, drafts of your paper if you would like feedback earlier in the writing process. Correct spelling and grammar count in all submitted work, so check them before you hand anything in.


Each phase of the project has a due date. In this way, as in others, this project mimics work in the real world. Phases may be turned in up to one week after the due date with a 25% grade penalty. Phases will not be accepted more than a week late.
Phase Due Date
Proposal Ideas Sept. 13
Proposal Sept. 25
Literature Review Oct. 4
Alpha Release Oct. 20
Beta Release Nov. 15
Paper Draft Dec. 1
Presentation Dec. 8
Final Release Dec. 11
Paper Dec. 11

Contributions to Grade

Each phase of the project will make an individual contribution to your grade. If a phase is missed, that portion of the grade will be a zero. You should consider this a compelling reason to start your project early and work steadily throughout the semester, rather than making a grand push at the end of the semester.
Phase Percent of Final Grade
Proposal 10
Literature Review 10
Alpha Release 5
Beta Release 15
Presentation 10
Final Release 15
Paper 15
Total for Project 80

Main Page | Class Project | Links | Reading List