CS 4390
Computer Graphics

Fall 1998
College of Computing 201
MWF 11:05-11:55


Description

Introduction to computer graphics; hardware, algorithms, and software organization for computer graphics; two-dimensional and three-dimensional transformations; fundamentals of vector and raster graphics; programming projects implementing a subset of the above.

Instructor
Don Allison
don@cc.gatech.edu
388 Centennial Research Building
894-5104
Office Hours: 12-1 Wed. and Fri. CCB 130 (SGI Lab)
 
Teaching Assistant
Doug A. Bowman
bowman@cc.gatech.edu
388 Centennial Research Building
894-5104
Office Hours: TBA

Prerequisites

Newsgroup

Here's a link to the git.cc.class.4390 newsgroup.

Textbook

Foley, van Dam, Feiner, and Hughes Computer Graphics: Principles and Practice (2nd edition in C) or
Foley, van Dam, Feiner, Hughes, and Phillips Introduction to Computer Graphics
Course notes will also be available in the bookstore. These will follow the lectures given in class.

If you are planning to take any other graphics course or are interested in Computer Graphics, you should buy the first book. If this is the only graphics course you will take, the second book is satisfactory.

Web page

The class will use the web, the class page will be located at
http://www.cc.gatech.edu/classes/cs4390_98_fall/


Syllabus

An approximate syllabus for the class appears below. The practice problems are from a previous quarter and may contain some material not covered in our lectures. They are optional and for your benefit.

Date

Topic

Reading
(Red denotes readings from Intro to Computer Graphics)

Practice Problems

Sep 23

Introduction, Procedures, Graphics Hardware

-

-

Sep 25

Introduction to OpenGL programming
First programming assignment

OpenGL notes

-

Sep 28

Graphics hardware

4 (Intro), 4.2, 4.4, 4.6
4 (Intro), 4.2, 4.4, 4.5

Problems
Solutions

Sep 30

Drawing lines and circles

3.1-3.4, 3.17
3.1-3.3, 3.14

Problems
Solutions

Oct 2

Drawing lines and circles

3.1-3.4, 3.17
3.1-3.3, 3.14

Problems
Solutions

Oct 5

Polygons

3.5-3.6, 13.1
3.4-3.5, 11.1

-

Oct 7

2D Transformations

5.1-5.3
5.2-5.4

Problems
Solutions

Oct 9

2D Transformations
Windows and Viewports
First programming assignment due
Second programming assignment

5.4
5.5

Problems
Solutions

Oct 12

Clipping

3.11-3.14
3.8-3.11

Problems
Solutions

Oct 14

Test review

-

-

Oct 16

TEST 1

-

-

Oct 19

3D Mathematics

11 (Intro), 11.2-11.2.2
9 (Intro), 9.2-9.2.3

Problems
Solutions

Oct 21

3D Mathematics

11 (Intro), 11.2-11.2.2
9 (Intro), 9.2-9.2.3

Problems
Solutions

Oct 23

Modeling Curves
Second programming assignment due
Third programming assignment

5.6-5.8
5.1, 5.7-5.9

Problems
Solutions

Oct 26

Modeling Curves

5.6-5.8
5.1, 5.7-5.9

Problems
Solutions

Oct 28

Projections

6.1-6.5.2
6.1-6.6.3

Problems
Solutions

Oct 30

Projections / 3D Clipping
LAST DAY TO DROP

6.5.3-6.6
6.6.4-6.7

Problems
Solutions

Nov 2

Visible Surface Determination

15 (Intro), 15.2, 15.4-15.6
13 (Intro), 13.1-13.3, 13.5.1

Problems
Solutions

Nov 4

Visible Surface Determination

15 (Intro), 15.2, 15.4-15.6
13 (Intro), 13.1-13.3, 13.5.1

Problems
Solutions

Nov 6

Visible Surface Determination
Illumination & Shading
Third programming assignment due
Fourth programming assignment

16.1-16.2
14.1-14.2

Problems
Solutions

Nov 9

Illumination & Shading

16.1-16.2
14.1-14.2

Problems
Solutions

Nov 11

Test Review

-

-

Nov 13

TEST 2

-

-

Nov 16

Illumination & Shading

16.1-16.2
14.1-14.2

Problems
Solutions

Nov 18

Ray Tracing

15.10, 16.12
13.4, 14.7

-

Nov 20

Ray Tracing
Fourth programming assignment due
Fifth programming assignment

15.10, 16.12
13.4, 14.7

-

Nov 23

Color & Graphics

13.2-13.3.5, 13.5
11.2-11.3.4, 11.4

Problems
Solutions

Nov 25

Color & Graphics

13.2-13.3.5, 13.5
11.2-11.3.4, 11.4

Problems
Solutions

Nov 27

Holiday

-

-

Nov 30

TBA

-

-

Dec 2

TBA

-

-

Dec 4

Summary / review
Fifth programming assignment due

-

-

Dec 11

FINAL EXAM (2:50pm - 5:40pm)

-

-


Grading

Grading will be based on

Programming Assignments

All programming assignments must execute on the Indy or O2 workstations in the SGI lab (room 130, CCB). You will write 4-5 programs for this course. All programs must be written in C. Documentation/code clarity will count as 20% of the grade for each program. The other 80% of the grade will be based on the program's ability to handle various requirements that will be specified when the assignment is given.

Compiling and executing without errors on the published test data is considered minimal competency for any program. Late programs will be penalized 3n-1 points, where n is the number of days late. Weekends count as two days. Programs that are more than 5 days late will not be graded.

You may discuss high-level design strategies and specifications of the assignments with other students in this class. However, your programs and homework are to represent your own work. All coding and detailed design decisions are to be made without consultation with others.

Here are some pointers to information that may be helpful in getting started:

Programming assignments count for 50% of your final grade. Most programming assignments require many hours of coding. Familiarity with C and programming on Unix workstations will be needed to finish the programming assignments. Do not start the night before, you will be late turning in your assignment.

Links to each programming assignment will be added here when it is assigned:

Homework

There is no formal homework that needs to be turned in for this course. However, you are encouraged to use all of the practice problems in the course notes, as well as those linked to in the syllabus above, as review and extra practice.