An introduction to the principles of
the hardware and the software used in the production of computer
generated images. The objective of this course is to instruct
students in 3D graphics programming. Topics include graphics
programming in a windows environment using GLUT, basic rendering
and color, transformations, selection, lighting, textures, fog,
and hidden surface elimination. During the course, students will
design and implement a project involving 3D graphics. The course
is intended for students who are proficient in the development of
software systems.
PREREQUISITES: CS3902 or CS3771 detailed syllabus
Lecture and Lab
Segment 1: Lecture/Lab: MTW 1000-1050, Th 0900-1050, all in WA-145
Segment 2: Lecture/Lab: M 1500-1650, W 1500-1750, all in WA-145
Final: Wednesday 3/22/2006, 0800-0950, WA-146
Holidays: Monday, 16 Jan: Martin Luther King day; Monday, 20 Feb:
President's day.
Grading
25% theory homework
40% programming homework
15% midterm and/or quizzes
20% final
Reading Assignments
By "reading assignment" I mean: please read this material - no
turn-in is required. Unless otherwise noted, all assignments have
to be completed before class on the respective day.
Homework Assignments, Late Policy, Teamwork etc.
Homework will be assigned on or before Mondays and is due the
following Thursday at 11:59pm unless otherwise noted. No credit
will be given for homework that is more than 3 days late (Sunday
11:59pm). You can hand in at most one homework up to 3 days late
and still receive full credit. That is: one permitted late
homework for the entire quarter. Additional late homework will be
given 50% credit.
You can always discuss the homework problems, programming
assignments, and your solutions with other students, but you must
not copy a solution nor may you allow anyone to copy your
solution. This includes copying from other sources, such as a
textbook or the internet. 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)
Unless otherwise noted, written homework 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 homework
(e.g., in the text file attachment), not just in the email.
Programming homework must be turned in using Blackboard's Digital
Dropbox. See the respective homework assignment for the naming
convention.
Slides, Blackboard
All slides are here: \\falcon\MV3202$
(local access only)
Blackboard resources (discussion board, grades, information
from previous MV3202 courses): nps.blackboard.com
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.
Matrices and vectors (no geometry): first sections of Gonzalez'
and Woods' review.
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, 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.
A good
tutorial explains the basics of modeling and animation
in Blender.
osgexport
is an exporter from Blender to OpenSceneGraph (.osg) files.
The main python script of version 2.37 is at
\\falcon\MV3202$\code\osgexport-2.37.py; you need to put it
into your .blender/scripts directory.
"Cal3d is a
skeletal based 3d character animation library. You can
render Cal3d objects in OpenSceneGraph with osgCal2.
For programming, you will invariably need the reference
guide (On their web page,
Documentation->ReferenceGuides->Osg->Doxygen, or here
without frames.)
OSGEdit
allows viewing and editing of OSG scene graphs in a
graphical format. (If installing on FC4, use "./configure
--disable-gnome-support".)