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:
- Brief abstract
- Full Proposal
- Progress Reports
- Final Presentation
- Project Write-Up, source code, and data
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
- Illumination
- Volume visualization
- Image-based rendering
- Radiosity
- Photon mapping
- Non-photorealistic rendering
- Interactive computer graphics
- Programmable rendering on OpenGL hardware
Applications
- Scientific visualization
- Architectural walkthrough
Modeling
- Physically-based modeling
- Computer-aided design
- Natural phenomena
- Animation
Geometric Algorithms
- Collision detection
- Morphing
- Simplification
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:
- Abstract. One or two paragraphs
summarizing your project.
- 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?
- 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.
- 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.
- Equipment Needs.
- 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:
- Avoid background styles that are too "busy".
- Light text on a darker background is usually more visible than
vice versa.
- Keep the text size fairly large (32 and 28 point)
- Make your text concise. Avoid using complete sentences, and try
to keep bullet items from taking more than a single line.
- You may want a slide towards the beginning to show the
organization of your talk so people can follow more easily.
- 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.
March 18, 2003