Rendering Techniques Personal Project

Important Dates

Abstract due: Wednesday, October 27
Full Proposal due: Wednesday, November 3
Project Meeting: Tuesday, November 9
Paper presentation choice due: Tuesday, November 16
Progress reports due: Monday, November 15, 22, 29, December 6, 13
Final Project Presentation: Thursday, December 16, 1-6 pm
Project Deliverables due: Friday, December 17, 9 am


Each of you will plan and carry out a programming project of your own design. This project has several goals, including: exposing you to some recent developments in computer graphics, giving you the opportunity to dig more deeply into some area of computer graphics that interests you, teaching you to do some brief research into this area, and allowing you some creative freedom to choose a major programming assignment.

You will have a number of things to turn in to me related to your project, including:

In addition, you will be presenting a research paper to the class, which should relate to the subject matter of your project.

Choosing a Project

Your project does not have to concern one of the specific rendering techniques we discuss in class. It can be nearly anything related to computer graphics. For instance, these are some of the possible topic areas:
Rendering techniques Applications Modeling Geometric Algorithms Human-Computer Interaction
You may use existing software tools and resources. However, this is a programming class, so your project should have a major programming component. So, for example, building a 3D model in an existing modeling package and rendering an image of the model is not a suitable project.

In seeking a topic, you will briefly research your topic area to see what sorts of interesting things people are doing in that area (in, say, the last 5-10 years). One type of project is to implement an algorithm described in a recent research paper. You do not have to implement someone else's work, but it's a good place to start if you do not have a spectacular idea of your own brewing. (Note: don't ask me if you can add some little extension to your ray tracer as your project).

You will be demonstrating (i.e. showing off) your project to me and the rest of the class, so you should be thinking from the beginning of what sort of demonstration you would like to end up with. This can help drive your project development.

Research Resources

There are a number of resources available to you at the MSE library. One of the most important resources is the published proceedings of the annual SIGGRAPH conference. All of the recent years are available. However, some of them are bound together with the journal, Computer Graphics, so you may have to look carefully. You can really get a good feeling for the sorts of graphics research going on by just looking at the table of contents, skimming through the abstracts, looking at the pictures, etc. This may help you get find a topic to get excited about.

In addition to the SIGGRAPH proceedings, there are a number of other useful conferences and journals, including: IEEE Computer Graphics and Applications, Computers and Graphics, The Visual Computer, Computer Graphics Forum, ACM Symposium on Interactive 3D Graphics, ACM Transactions on Graphics, and many more.

Many of the more recent SIGGRAPH articles may also be found on-line. You might want to look at (many of the individual journals also have their own web sites). When looking for ideas or inspiration, I don't find this as compelling as actually getting into the library and paging through the real, physical articles, but it is a useful way to get yourself a nice electronic or printed copy of a recent article.

There is also a graphics bibliography server available on-line at:

Proposal Abstract

Your proposal abstract should be one or two paragraphs including a brief description, discussion of the novel aspects, the potential pitfalls, and a summary of the required resources (e.g. if your project requires high-performance OpenGL rendering, I can get you access to some of our graphics lab facilities).

Full Project Proposal

Your full proposal (as opposed to the abstract you already submitted) should be no more than two typed pages. It should include exactly the following sections, with exactly the following headings:
  1. Abstract. One or two paragraphs summarizing your project.
  2. Most Compelling Aspect(s). Describe what you think will be the most interesting or compelling aspect(s) of your proposed project. Does it involve potentially new research, or are you planning a really good implementation of something that has been demonstrated before? Why or what will people say "wow!" to?
  3. Development Plan. This should be a dated list of tasks to be completed to realize the final project. You should include tasks at a granularity such as "week 1: learn to use such and such tool", and "week 2: model the ocean floor", i.e. you will probably have a list of fewer than 10 tasks. This list will help you and me feel comfortable that your project is indeed achievable within the semester, and will give me something to judge your progress by.
  4. Completion Criteria. Tell me what exactly you propose to demonstrate, at a minimum, to get a grade for the course. For example, "My project will be considered complete and ready for grading when I have implemented the _____ and  _____ and _____ features." This will most likely refer to your "Cool!" feature (above). State this as clearly as possible so that we can agree on what, at a minimum, is expected.
  5. Equipment Needs.
  6. Foreseeable Pitfalls and Alternatives. What tasks or features are you most unsure about, and what if you can't do or implement them? You should, where possible, have some alternative plans ready.
Choose and document (in your proposal) the above carefully. A little time spent here could save all of us tons of grief later. I want you all to succeed and have some fun!

Project Meeting

We will schedule a meeting to discuss your project proposal shortly after the proposal is turned in. You are also free to schedule meetings with me throughout the rest of the semester to discuss problems you are having or to get ideas of how to proceed. However, you must take the initiative to have such discussions with me - I will not require further meetings regarding your project.

Paper Presentation

As part of this course, you will be presenting a recent research paper to the class. The grade for this presentation is actually separate from your project grade, but you may wish to choose to present a paper related to your project. By the above due date for paper selection, you must let me know (by e-mail, not just in person) what paper you will present. In the case of multiple students choosing the same paper, the one whose e-mail I received first will get to present that paper (this has actually happened). Again, don't just tell me your choice in person - I need a dated record of your choice (and I will not remember who tells me what in person after class).

You will prepare your presentation in Microsoft PowerPoint. At least one day before your presentation, you must schedule a meeting with me to show me your slides and discuss the presentation. This should give you enough time to make any changes I recommend. If your presentation file is too big to fit on a floppy disk, you will need to come see me before class so we can download your slides onto my laptop.

Here are a few guidelines for preparing your slides:

  1. Avoid background styles that are too "busy".
  2. Light text on a darker background is usually more visible than vice versa.
  3. Keep the text size fairly large (32 and 28 point)
  4. Make your text concise. Avoid using complete sentences, and try to keep bullet items from taking more than a single line.
  5. You may want a slide towards the beginning to show the organization of your talk so people can follow more easily.
  6. Be sure to motivate the problem being solved before getting into the details.

Progress Reports

After the full proposal is turned in, you will not have any more homework assignments, so I will expect you to be working hard and consistently on your project. It is unacceptable to work on the project just for the week before it is due. With this in mind, you will submit to me several weekly progress reports. Each such report should be one to two paragraphs describing your progress on the project for the week. This can include what things you tried out, what things you completed, and what things are giving you trouble. You should also refer to the milestones in your proposal to indicate if you are ahead or behind and any changes you need to make in your plan.

For the most part, these progress reports should typically be things you can write in 15 minutes or less, so they should not be burdens in themselves (but they should motivate you to make progress each week).

Project Presentation

I have scheduled your project presentations for the final exam time of our class. Actually, the time overlaps our exam slot, but is somewhat longer. As far as I know, no other exams are scheduled for that additional time interval. The presentations will be given in the graphics lab in the basement of NEB. Each student will have about 10 minutes to demonstrate his or her project. You must attend the entire presentation period.

Project Deliverables

The deliverables that go with your project are due the morning after the presentation. You should turn in a brief write-up describing your project, including a description of the project goals, algorithms implemented, and results. In addition, you should turn in your documented source code and any data files, along with instructions on how to execute programs, etc. All of this should be turned in electronically (e-mail me a zip file).

October 20, 1999