Fall
2008 CS 4361 - 001
Computer
Graphics
Monday
and Wednesday 2:30pm - 3:45pm, ECSS 2.412
|
|
|
Instructor
: |
(Tiger)
Xiaohu Guo
Office:
ECSS 3.703
Phone: 972-883-4723
Email: xguo at utdallas.edu
Office hours: M/W 4:00pm - 5:30pm
|
|
TA
: |
Yin
Yang
Email: yxy061100 at utdallas.edu
Office: TBA
Office hours: TBA
|
|
Pre-requisites
: |
Formal
prerequisites for this course are MATH 2418 (Linear Algebra),
CS 2315/CS 2336, and CS 3345. You should have some familiarity
with basic linear algebra and geometry, and good working knowledge
of C/C++ programming.
|
|
Course
Description : |
This
course gives a comprehensive overview of the field of computer
graphics. It will cover the basic concepts, mathematical foundations,
fundamental theory and algorithms, software techniques, hardware
and system issues, and application examples of computer graphics.
The main topics will center on modeling and rendering. If time
permits, we shall give a brief overview of various advanced
graphics research topics. |
|
Learning
Objectives : |
After
successful completion of this course, the students will be
able to:
- Explain
general concepts related to 2D and 3D graphics
-
Be familiar with mathematical tools for graphics algorithms
and graphics hardware
- Understand
the graphics pipeline, including transformation, projection,
lighting, etc.
- Use
OpenGL as a tool for creating graphic scenes
- Use
texture mapping and environment mapping to improve quality
of scenes
- Be
well prepared for graduate research or work in computer
graphics
|
|
Textbooks
: |
- Required:
OpenGL Programming Guide: The Official Guide
to Learning OpenGL, Version 2.1 (6th Edition), Addison
Wesley, 2007. ISBN: 0321481003. (VERY
useful for OpenGL-based programming assignments and
projects.)
|
|
- Suggested:
Interactive Computer Graphics: A Top-Down Approach
using OpenGL (5th Edition), by Edward Angel, Addison
Wesley, 2008. ISBN: 0321535863. (Most of the contents
in this book will be covered in class.)
|
|
|
|
Grading
Policy : |
There
will be No Midterm Exams and No Final Exams! The final grade
will be based on lab sessions, programming assignments, project
proposals, demos, and presentations. This course emphasizes
a "hands-on'' approach to both the better understanding
of graphics theory/algorithms and the effective use of graphics
techniques. Each student is required to complete four assignments
and a final project. The programming assignments and projects
will be done in C/C++ and OpenGL. You are expected to be a
competent programmer in C/C++ in this course. All the assignments
and projects are mandatory. The final grade will be composed
of the following two parts:
- Programming
Assignments: 55%
- Assignment 1 (10%)
- Assignment 2 (15%)
- Assignment 3 (15%)
- Assignment 4 (15%)
-
Final Project: 40%
- Project Proposal (10%)
- Final Demo, Presentation and Report (30%)
- Class
Attendance : 5%
|
|
Class
Attendance : |
I
expect the students to come to class, read and study the materials
and textbook. Download and print available materials from
WebCT prior to coming to class. The class schedule specifies
the chapters to read for each topic covered. Primary material
of this course will come from the required textbook. In addition,
material from recent articles or relevant reference books
will be presented. Numerous slides and video clips on graphics
will be shown. Students are advised to attend the class and
follow the lecture notes closely. It is the student¡¯s responsibility
to check what we covered in class and the announcements during
class if he or she did not attend.
|
|
OpenGL
Programming Guide and Environments : |
|
|
Academic
Honesty : |
Copying
source code from another student in this class or obtaining
a solution from some other source will lead to an automatic
failure for this course and to a disciplinary action. Allowing
another student to copy one's work will be treated as an act
of academic dishonesty, leading to the same penalty as copying.
You should learn how to protect your data. Failure to do so
is also unprofessional and it may expose you to the danger
that someone will copy your homework and will submit it as
his or her own (see above). In this case, you may be given
a score of 0 for the assignment or project in question (and
the other party will get a failure).
|
Class
Schedule : |
Week |
Monday |
Wednesday |
1 |
8/25:
Introduction |
8/27:
OpenGL basics |
2 |
9/1:
no class (Labor Day) |
9/3:
OpenGL/GLUT basics |
3 |
9/8:
Lab session |
9/10:
OpenGL/GLUT basics |
4 |
9/15:
Lab session (Assignment 1 due) |
9/17:
Transformation |
5 |
9/22:
Transformation |
9/24:
Viewing/Projection |
6 |
9/29:
Lab session |
10/1:
Viewing/Projection |
7 |
10/6:
Lab session (Assignment 2 due) |
10/8:
Viewing/Projection |
8 |
10/13:
Lighting/Shading (Project Proposal due) |
10/15:
Lighting/Shading |
9 |
10/20:
Lab session |
10/22:
Rasterization |
10 |
10/27:
Lab session (Assignment 3 due) |
10/29:
Texture |
11 |
11/3:
Texture |
11/5:
Texture |
12 |
11/10:
Lab session |
11/12:
GPU Programming |
13 |
11/17:
Lab session (Assignment 4 due) |
11/19:
Ray Tracing |
14 |
11/24:
Radiosity |
11/26:
no class |
15 |
12/1:
Hierarchical Modeling |
12/3:
Physics-Based Modeling |
17 |
12/15:
Fina Presentation and Demo |
|
- Important:
The dates in this schedule may change due to the class level.
If the class needs more time and examples to understand a
concept I will modify the schedule. If the class is ready
to skip a chapter or go faster I will modify the schedule.
Therefore, it is the student's responsibility to check what
we covered in class and the changes in the schedule announced
during class.
|
|
Final
Project Screenshots from the Fall'08 Class : |
|
Pew
Pew Fly Fly: A Space Adventure : |
|
|
Star
Wars : |
|
|
Terrain
Generator and Render : |
|
|
Landscapes
: |
|
|
The
City Block at Night : |
|
|
Chessboard
: |
|
|
Solar
System : |
|
|
CityScape
: |
|
|
|