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
Overview
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:
-
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
-
Ray tracing
-
Volume visualization
-
Image-based rendering
-
Radiosity
-
Non-photorealistic rendering
-
Multi-pass OpenGL rendering
-
Interactive computer graphics
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. 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 http://www2.iro.umontreal.ca/~ratib/code/cg-pub.htm
(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: http://www.cgrg.ohio-state.edu/~spencer/gbib.html.
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:
-
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.
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:
-
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 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