This course introduces you to computer graphics, its powerful capabilities, a history of its
technologies as well as up-to-date developments, to its far-reaching potentials
across the consumer, industrial, and military domains, and how to achieve these
potentials.
You will learn about the principles of hardware and software used to create
computer-generated images, about basic rendering and raytracing, 3D graphics
programming in OpenGL, lighting and shading, textures, and scene graph architectures.
MV3202 prepares you to design and implement 3D graphics simulations and to
understand the theory of modern graphics rendering. The course is intended for students
who have taken a basic course in, or have recent programming experience in, a
programming language such as C++ or Java.
Course Learning Outcomes
What tasks do you need to master in order to achieve the overall course goal? Upon
successful completion of this course, you will be able to:
explain the raytracing algorithm with shadows and secondary rays
use transformations to mimic sophisticated systems in motion, such as a solar
system or an articulated robot arm
contrast the rendering pipeline to raytracing wrt speed, capabilities, physical
accuracy
create 3D objects using modeling software
understand scene graph architectures, their benefits and the rendering from a
scene graph
use correct lighting and shading and know how it works
relate computer vision to computer graphics
comprehend and evaluate a CG system’s technical description
discuss recent advances in CG and put them in context
converse with practitioners and researchers
Syllabus and Organization
Take a look at the Contents on the following pages to get an idea of the syllabus. Every
chapter is a learning module with specific learning objectives, reading and study
material, exercises, and graded assignments.
This is a preliminary schedule for the quarter. Reading assignments are from various
textbooks, see :
Sh = Shirley,
Red = RedBook.
The reading report is due before class on the following Monday. For example, Sh1 is
to be read in the week of 01/07 and the reading report must be in my hands before class
on 01/14.
The main course web page (where you found this information) is here:
http://www.movesinstitute.org/~kolsch/courses/MV3202
. There is one required textbook for the course: Shirley’s Fundamentals of Computer
Graphics, see . Modules will be posted on Blackboard, including reading and
homework assignments. Grades will also be made available on Blackboard.
Up-to-date slides, software and other course material can be found at this internal file
share:
\\comfort.ern.nps.edu\MV3202$
Hours
Lectures and lab:
Monday, Tuesday, Wednesday 1300-1350, WA-285
lab: Friday 1300-1450, WA-285
These two time slots will be used for lectures and/or lab time. Please bring your laptop
for every meeting.
Final:
Thursday 03/27/08, 0800-0950 WA-285
Holidays:
Mon 21 Jan 2008 (MLK’s Birthday),
Mon 18 Feb 2008 (President’s Day)
Office Hours:
I am available for questions and help whenever I am in my office (WA-279) and have
some time. If you would like a firm appointment, please don’t hesitate to set one up by
email or phone (656-3402).
Grading
Grades for homework assignments etc. will be on Blackboard:
35% non-programming homework, incl. reading reports
30% programming homework
15% midterm and quizzes
20% final
Homework, Late Policy, Teamwork etc.
Homework assignments will be posted on or before Mondays and are due the following
Thursday at 11:59pm unless otherwise noted. No credit will be given for assignments
that are more than 3 days late (Sunday 11:59pm). You can hand in at most one
assignment up to 3 days late and still receive full credit. That is: one permitted late
assignment for the entire quarter. Additional late assignment will be given a max of 50%
credit.
Unless otherwise noted, written assignment can be handed in on a sheet of
paper (preferred) or by email. If you email it to me, please make sure your name
appears on top of the actual assignment (e.g., in the text file attachment), not just
in the email. Programming assignment must be turned in using Blackboard’s
Digital Dropbox. See the respective assignment assignment for the naming
convention.
Collaborative work:
Collaboration is encouraged on understanding assignments and formulating
strategies for solution.
Internet, textbook, and other research is encouraged.
However, the actual writing of solutions must be done independently,
without access to any material from colleagues, or other sources.
Similarly, you may not allow anyone to copy your solution.
Exams must be done independently.
If a part of your solution includes a quote, it must be clearly indentifyable as
such through quotation marks and a reference.
Keep in mind: plagiarism is a serious offense and ”Detection can result in serious
academic sanctions, ranging from a failing grade on a test or paper, through failure
in a course, to the denial of a graduate degree.” NPS’ official words can be found
here:
http://intranet.ern.nps.edu/Faculty/documents/Plagiarism%20Statement.doc
Reading Assignments
There will be weekly reading assignments from the textbook and from other reading
material. A “reading assignment” requires you to read the material and to write a short,
one or two page summary. Demonstrate your understanding of the contents, don’t
provide me with a complete recount of the entire text. You are encouraged to add a
paragraph in which you critique the reading, note questions that you have or state some
other related comment. Print the reports (duplex, please) and bring them to class on the
respective due day. If you cannot make it to class, please email them to me prior to
class.
Resources
Textbooks and other resources, more or less in order of relevance within a topic (res: on
reserve in the library).
Computer graphics in general
Our textbook: Peter Shirley: Fundamentals of Computer Graphics, Second
Edition, AK Peters. The book’s web page:
http://www.cs.utah.edu/~shirley/fcg2/
A classic book about computer graphics: Foley, van Dam, Feiner and Hughes:
Computer Graphics: Principles and Practice, Addison Wesley
A great book for advanced CG: Real-Time Rendering, by Tomas Akenine-Möller
and Eric Haines, 880 pages, from A.K. Peters Ltd., 2nd edition, ISBN
1568811829, list price $59.
http://www.realtimerendering.com/
Perry McDowell wrote up additional documents that closely follow the OpenGL
Programming Guide (redbook) - please use them freely:
\\comfort.ern.nps.edu\MV3202\material\McDowell_OpenGL
OpenGL tutorials: NeHe Productions provides a long list of tutorials, from the
very basic to the advanced. They are very helpful.
http://nehe.gamedev.net/
One of the classic textbook authors for linear algebra is Gilbert Strang. Probably
the most appropriate book is titled “Linear Algebra and Its Applications,”
published by Academic Press.
Blender (at http://www.blender.org/
), the open source modeling and animation tool. Start with the brief introduction
blender.html, then print the BlenderQuickStart.pdf guide. Both files are in
your
C:\Program Files\Blender Foundation\Blender
directory after installation.
osgexport http://projects.blender.org/projects/osgexport/
is an exporter from Blender to OpenSceneGraph (.osg) files. You need to put the
python script (.py file) into your .blender/scripts directory.
OSGEdit (http://osgedit.sourceforge.net/
) allows viewing and editing of OSG scene graphs in a graphical format. (If
installing on Fedora, use “./configure –disable-gnome-support”.)