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. Co., 1996

 

 OpenGL Programming Manual, 4th Edition, by Woo, Neider, Davis and Shreiner, Addison-Wesley Pub. Co. 2004. (Optional)

 

     Instructor: Dr. Kai H. Chang,         kchang@eng.auburn.edu,          334-844-6310

     Office Hours: 3 - 4 PM, MWF, plus by appointment.

    

 

                                    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

 

                  Assignments                                      25     %

                  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 5:00 PM)

 

            Assignment 1:   June 16                        Wednesday

            Assignment 2:   July 7                           Wednesday

            Assignment 3:   July 30             Friday

 

      Before 5PM on the due date you need to:  

 

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.

RESEARCH PROJECT/PRESENTATION

 

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

 

 

  1. If you use the latest version of PC jGRASP, e.g., machines in SB 214, before you compile, you need to select the OpenGL setup (Complier -> Complier setting -> Global -> [select gcc – generic – OpenGL]  -> [click USE] -> [click Apply] ).  You can do this on your own PC as well.  The machines in Dunstan 101 may also be available, but you would need to install jGRASP and cygwin (including gcc and g++ compilers) yourself.  Please note that it takes long time to download cygwin.

 

  1. You would also need to add “cygwin” to the search path before you compile.

 

  1. jGRASP can be down loaded free from: http://www.eng.auburn.edu/csse/research/research_groups/grasp/

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.

 

  1. You can download a few sample programs from

http://www.cs.unm.edu/~angel/BOOK/THIRD_EDITION/  to test your environment.