Rendering Techniques Personal Project

Important Dates

Abstract due: Monday, March 24
Full Proposal due: Monday, March 31
Project Meeting: TBA
Paper presentation choice due: Wednesday, April 2
Progress reports due: April 7, April 14, April 21, April 28
Final Project Presentation: Wednesday, May 14
Project Deliverables due: Thursday, May 15

Overview

Each of you in the 400-level course 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 (especially where you can find free ones). 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.

Some time tomorrow I will hopefully have time to add very brief descriptions of some past projects.

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, IEEE Visualization, and many more.

Many of the SIGGRAPH articles may also be found on-line. If you are browsing from a JHU site, you will have access to the ACM Digital Library (try  SIGs/SIGGRAPH for a list of many graphics-related conference, or just the  SIGGRAPH conference itself) and IEEE Electronic Library. 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.

Sometimes, it is useful to know exactly what article in exactly what conference or journal you are looking for. You can often find useful articles by doing keyword searches on a bibliography database. There is a graphics bibliography server available on-line, as well as a more general computer science bibliography server (which also has a more robust search, I believe).

If you will do a project using OpenGL, you might want to check out resources from www.opengl.org.

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 and you don't own a machine with a suitable graphics card, I might be able to get you some time on our graphics lab facilities). You should also give citations for a couple of written papers that you think you might use to start reading about the subject.

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 (this is also subject to change).

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 should choose 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, believe it or not). 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 (unless you plan to use your own).

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 slot for our class. Do not expect any extensions for this date!! The presentations will be given in the graphics lab in the basement of NEB. Each student will have about 15 minutes to demonstrate his or her project. You must attend the entire presentation period so that everyone has some audience to show off their projects for.

Project Deliverables

The deliverables that go with your project are due the morning after the presentation. You should turn in a 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 as a zip file.



Home
March 18, 2003