COMP 7400/6
ADVANCED COMPUTER GRAPHICS
Summer 2004
Text: Computer Graphics - Principles and Practice,
2nd ed. in C, by
Foly, van Dam,
Feiner,
and Hughes, Addison-Wesley Pub.
OpenGL Programming Manual, 4th Edition, by
Woo, Neider, Davis and Shreiner,
Addison-Wesley Pub.
Instructor:
Dr. Kai H. Chang, kchang@eng.auburn.edu, 334-844-6310
Office
Hours:
TENTATIVE
COURSE OUTLINE
Chap. 1 Introduction
(1 class)
Chap. 5 Geometrical
Transformations -
translation, scaling, rotation, shearing, transformation between
coordinate systems (2 classes)
Chap. 6 Viewing
in 3-D - parallel
and perspective projections, view volume, projection computation (3 classes)
Chap. 11 Curve and Surface Representations (3
classes)
Chap. 12 Solid Modeling (2 classes)
Test 1 (1 class)
Chap, 15 Visible Surface Determination (3 classes)
Chap. 16 Illumination and Shading (2 classes)
Chap. 13/14 Colors (1 class)
Chap. 17
Image Manipulation and Storage (3 classes)
Test 2 (1 class)
Chap.
20 Advanced Modeling Techniques (2
classes)
Chap.
21 Animation (3 classes)
Project presentations (3 - 4 classes)
Test 3 (In class, July 30)
GRADING POLICY
Test 1 20
%
Test 2 20
%
Test 3 20 %
Research
Project/presentation 15 %
1. Actual test dates will be announced one
week ahead.
2. Unless specified by University
regulations, no late tests will be allowed.
3. It
is extremely important that each student does his/her own work/assignments.
Cheating will result in an F in the
course, this policy is not negotiable.
4. Students who need special accommodations
are asked to make an appointment to see me in the first week of the semester
during office hours, or email me a message to arrange a meeting time. Bring your memo from the Program for Student
with Disabilities to this meeting.
Accommodations for each exam should be arranged one week in advance.
ASSIGNMENTS
1.
Assignments should be done
on a PC platform.
2.
The graphics package to be
used in this class will be OpenGL. You can use jGRASP with cygwin (both
are free) or Visual C++ on PCs. See below for details. In addition to the
OpenGL Programming Manual you have purchased, four sets of PowerPoint slides
are available at my ftp site: ftp.eng.auburn.edu/pub/kchang/OpenGL.lecturenotes
3. Programming fundamentals will be briefly
covered in class.
4. The due dates for the assignments are (all by
Assignment 1: June 16 Wednesday
Assignment 2: July 7 Wednesday
Assignment 3: July 30 Friday
Before
a) Email your source code to
me, and/or
b) Come to my office and give
me a demo. The reason you may want to
give me a demo is to prevent any misunderstanding of your work. The demo should be less than 5 minutes.
5. Each assignment is worth 100
points.
It is quite clear that plenty of time is given for each assignment. If you simply meet the basic assignment specifications, the grade you will receive is 85. You need to use creativity to design your environment to receive higher grade.
6.
As you all know, no late work will be accepted. Also, do your own work. If you use any piece
of code from other sources, you must indicate the sources and give credit to
the authors.
7.
Always start your
assignments EARLY; it may take more time than you think to do a good job.
1. Each student will be required to research a current topic of computer graphics. Sample topics include:
. Physical simulation of graphic objects (e.g., a
bouncing ball)
. Use human actors to provide animation information
. Object morphing (e.g., transforming a turtle into
a car)
. Plants (e.g., trees, flowers, grass) and clouds
generation techniques
. Image generation for games
. Real time collision detection
. Graphics hardware and platforms
. Applications of graphics to a specific area, e.g.,
manufacturing
2. After you have decided a topic, you must send me a short paragraph describing the topic. You must obtain my permission to proceed. This must be done by Friday, June 11.
3. Each student must prepare a 20-minute presentation and present the project to the class. The presentation can be done any time between Tests 2 and 3. You are strongly encouraged not to wait until the last minute to present. A sign up form for the presentation schedule will be circulated in class.
4. A report of the project must
also be turned in. The report should be
between 6 and 10 pages, size 12, double space.
FOR OUTREACH STUDENTS
1.
All tests must be taken within ten (10) calendar days from the test
dates on campus.
2. All assignments are due in
10 days from the campus due dates. Email your source code along with whatever
needed attachments to me.
3. The project presentation
must be taped, mailed, and received by me before Friday, July 16. If you miss the deadline, we may not be able
to view your presentation in class. In
that case, no grade will be given for the project. Send the report along with the tape.
4. If
you need special arrangement, please contact me immediately at: 334-844-6310.
=========================================================
RESOURCES FOR OpenGL on PCs
There are many useful web sites for OpenGL. A few are listed for your reference.
1. A famous book author, Dr.
Angel’s web site, which includes information about how to install OpenGL using
Visual C++.
http://www.cs.unm.edu/~angel/BOOK/THIRD_EDITION/
After you have installed OpenGL on your
computer (see below for details), use some of the sample programs on this web
sties to test it out.
2.
The following web site includes 2 very useful tutorials for OpenGL
programming.
http://www.cs.unm.edu/~angel/SIGGRAPH/
3. Of course, you can always try: http://www.opengl.org/
4. The following installation information for
Visual C++ users is copied from
http://www.cs.unm.edu/~angel/BOOK/THIRD_EDITION/
for your
convenience.
======================================================
For Visual C++ you should do the following: (For the
purpose of this class, you can get a copy of Visual C++ from the CSSE
Department Office – check out from Laura.).
Opengl32.dll and glu32.dll should already be in the system
folder.
Opengl32.lib and glu32.lib should already be in the lib
folder
for VC++. gl.h
and glu.h should be in a folder called GL under the
include folder for VC++ All the
above files come with Windows and VC++.
You will have to get glut32.lib, glut32.dll and glut.h off
the web. Check www.opengl.org
for pointers. Put them in the
same places as the other
files. A zip version is available from
my ftp site:
ftp.eng.auburn.edu/pub/kchang/glutdlls.zip
You want to create a console application.
Go to project settings. Under the link
menu, add Opengl32.lib,
glu32.lib and glut32.lib
Now you can build the .exe file
You will also have to install cygwin for the C/C++
compiler.
Cygwin can be downloaded from: http://www.cygwin.com/
When you download/install, make sure you click until
the “install” option appears. The other
options are “default”, “reinstall”, etc.
http://www.cs.unm.edu/~angel/BOOK/THIRD_EDITION/ to test your environment.