CS 324: Computer Graphics
Professor: Clinton Jeffery
Office: JEB B26
Office Hours: MF 1:30-2:30 and by appointment*
Phone: 208-885-4789
E-mail:jeffery@cs.uidaho.edu
Class Meets: MWF 9:30-10:20 in ALB 112
Web: http://www2.cs.uidaho.edu/~jeffery/courses/324/
Prerequisites: (CS 213 or 121) AND Math 330
Text: Computer Graphics Using OpenGL 3rd ed., F.S. Hill, Prentice Hall, 2007.
Supplement: Graphics Programming in Icon, by Griswold, Jeffery, and Townsend (distributed in class)
Course Description and Goals
This course introduces students to the basic principles and problems of
computer graphics. We will
look at topics in 2D and 3D graphics, focusing mainly on output.
Students will learn and practice the application of
linear algebra to this field.
Our goals for this course are as follows:
- Present the mathematical foundations of graphics
- Understand the main ideas and algorithms of computer graphics
- Gain substantial, fun programming experience
- Introduce a sophisticated, modern 3D graphics API
Homework Platform
Assignments will be written in C or Unicon and graded on Linux. Strong
emphasis will be placed on multi-platform portability. Development on
Windows or Macs will be accommodated as long as the result runs well on
CS lab Linux machines. You should include time for porting to Linux in your
project schedule.
Attendance and Grading
Attendance is required.
The grading will be proportioned as follows: 50% for quizzes/homeworks, 15%
for the midterm exam, 15% for the final exam, and 20% for a term
project
Quizzes, Exams, and Homeworks
We will have quizzes, exams, and homeworks. Quizzes will test your reading
comprehension; exams will test your mastery of concepts; homeworks will
allow you to demonstrate that you can put ideas into practice. 2D homework
assignments will use a very high level graphics language called Icon. 3D
homework assignments will use OpenGL.
Tentative Schedule
The course can be divided into four parts. I will try to give additional
breakdown of forthcoming topics as the course progresses.
- Introduction (2 weeks)
- History of graphics; graphics hardware; graphic design
- 2D Graphics (5-6 weeks)
- Line, arc, and curve drawing; viewports and coordinate systems;
colors; fonts; transformations
- 3D Graphics (5-6 weeks)
- Rendering pipeline; scene graphs; OpenGL; textures; lighting; effects
- Advanced Topics (1-3 weeks)
- Program visualization; other topics tba
Course Updates
Expect substantial on-line course content to be added, as we go.
Check the course web page for updates at least once a week.
Policy Statements
Cheating is strictly forbidden on exams, with severe
penalties. For most assignments you will be allowed to work alone, or
complete a larger assignment working in a team.