Interactive Computer Graphics I

CAP5725 - Fall 1996

Computer Science Department

University of Central Florida

J. Michael Moshell, Professor - moshell@cs.ucf.edu

This is a graduate level introduction to computer graphics: data structures, algorithms, hardware and software tools for producting three dimensional graphical software. In this course you will learn to use the OpenGL graphical library to produce interactive applications running under the Windows families of PC operating systems, and/or Unix environments.

The course is project oriented, with one warm-up and three graded projects. You may choose to carry out your projects individually or in teams of two or three people. There will be a mid-term take-home exam and a final exam. Both are open-book exams.

There will also be homework problems, which are not usually collected. Instead, the students are randomly selected to present the results of their work to the class. Failure to be prepared generates a zero grade for that assignment. If you find yourself having trouble with a homework assignment, come to office hours or contact Dr. Moshell via e-mail to arrange an appointment.

AreaPercent of Grade
Projects: 10%, 15%, 15%40%
Exams: 25%, 25%90%
Homework and Class Participation10%
Total
100%

Text: Computer Graphics: Principles and Practice. Foley, van Dam, Feiner & Hughes. Addison-Wesley 1990. Second Edition. In the schedule below, this text is denoted by FVD. Other readings from sites on the WorldWideWeb are provided below this chart.

Class Location: BA (Business Administration) 207. Mon, Wed. 4:30 to 5:45 PM.

Office Hours: MW 1-2:30 and 3:45-4:30 PM, Room CS 234. 823 5341. Tue-Thur, call 658 5021.

Schedule of the Course

Date
Week
Content
Readings
Tasks
8/26/96
1
Getting Started FVD 1,2
On your
8/28/96 Windows Programming W3:Windows Concepts
PC, get MESA
9/2/96
2
Memorial Day
and Vis C++
9/4/96 Week 2 continuesOpenGL introduction W3:OpenGL
<** Running **>
9/9/96
3
Begin on
9/11/96 Geometry for Graphics FVD 5
Lab 1
9/16/96
4
Geometric ops in OpenGL W3:OpenGL
9/18/96
9/23/96
5
Viewing in 3D FVD 6
9/25/96
9/30/96
6
Perspective in OpenGL W3:OpenGL
10/2/96 Object Hierarchy FVD 7
<** L1 Due **>
10/7/96
7
VRML (Guest lecturer) Midterm,
10/9/96 VRML continues Exam, due 10/14
10/14/96
8
Raster Algorithms FVD 3
Begin Lab 2
10/16/96
10/21/96
9
Graphics Hardware FVD 4
10/23/96 I/O, Dialogue Design FVD 8,9
10/28/96
10
User Interfaces FVD 10
10/30/96 Virtual Reality etc.
11/4/96
11
Curves & Surfaces FVD 11
11/6/96 Solid Modeling FVD 12
<** L2 Due **>
11/11/96
12
Veteran's Day
11/13/96 Colored Light; Realism FVD 13, 14
Lab 3 begins
11/18/96
13
Visible Surfaces FVD 15
11/20/96 Illumination FVD 16
11/25/96
14
Texture Mapping FVD 17
11/27/96 Levels of Detail
12/2/96
15
SGI's Performer
12/4/96 OpenInventor
<** L3 Due **>
12/9/96
16
FINAL EXAM WEEK

Initial Sources. The following sites on the WorldWideWeb will serve as starting points for your search for reference and tutorial materials.

This site contains lesson notes for a computer graphics course at the University of Toronto.

http://www.dgp.toronto.edu/people/van/courses/csc418/opengl1.html

The Silicon Graphics reference site for OpenGL is located at:

http://www.sgi.com/Technology/openGL/english.html

Information about how to download the MESA freeware version of OpenGL for your PC is located at this URL:

http://www.ssec.wisc.edu/~brianp/Mesa.html

Our Lecture Notes. Depending on the available time, I will try to post lecture notes for each class. To master computer graphics, there are a number of concepts, a whole bunch of terms, and some specific skills that you must learn. In these notes, we'll provide a list of these items - but we won't always provide their definitions. To do so would mean rewriting the whole textbook and much of the Web.

Think of these Lecture Notes as a kind of check-list of things you should know about. You still have to go to the primary sources to get the explanations, and do the projects to get the skills.

Tools and Labs

We will be using the OpenGL programming environment, in its freeware manifestation by the name of MESA. Follow that link to find out how to get your own MESA software. You will need Visual C++ to use this product on your PC. We are making arrangements to also support OpenGL on the IBM R6000 workstations and Pcs in the Digital Media Laboratory.

Lab projects will be graded by two means: demonstrations and source code reviews. On the day that each lab is due, you and I will arrange an appointment for a demonstration (usually within the next 3 to 5 days; sometimes BEFORE the due date if you're ready.) You are responsible for making sure that the software runs on a machine in the Digital Media Lab, before you schedule a demo. At the demo, you will hand me a printed copy of the source code OR you can e-mail your code to me. If you are working as a member of a two- or three-person team, only one copy of the code is required.

Internal documentation must include, at a minimum, your name, date, and a sentence at the head of every procedure describing its purpose. It is very useful to also include information about which other procedure(s) call this procedure.

And Now, on with the show! To the Index of the Lecture Notes.