Spring 2013 CS 6366

Computer Graphics

Friday 4:00pm - 6:45pm, ECSS 2.305

Instructor :

Xiaohu Guo
Office: ECSS 3.703
Phone: 972-883-4723
Email: xguo at utdallas.edu
Office hours: Friday 2:00pm - 4:00pm

TA :

Yiqi Cai
Email: yxc102720 at utdallas.edu
TA Office: ECSS 4.620 (lab)
Office hours: TBA

Pre-requisites :

Formal prerequisites for this course are Linear Algebra, and CS 5343. 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 3D rendering. If time permits, we shall give a brief overview of various advanced graphics research topics in modeling and animation.
Learning Objectives :

After successful completion of this course, the students will be familiar with:

  • Coordinate systems and their transformations
  • 3-D viewing and projection transformations
  • Lighting and shading
  • Rasterization
  • Texture mapping
  • Ray Tracing and Radiosity
  • Using OpenGL for Graphics Programming
Textbooks :
  • Required: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 3.0 and 3.1 (7th Edition), Addison Wesley, 2009. ISBN: 0321552628. (VERY useful for OpenGL-based programming assignments and projects.)
  • Required: Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition), by Edward Angel and Dave Shreiner, Addison Wesley, 2011. ISBN: 0132545233. (Most of the contents in this book will be covered in class.)
Grading Policy :

There will be No Midterm Exam and No Final Exams! The final grade will be based on programming assignments, class attendance, 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 three programming assignments and a final project, to be implemented in C/C++ and OpenGL. You are expected to be a competent programmer in C/C++ in this course. All the four programming assignments are mandatory, and should be completed individually. The final grade will be composed of the following three parts:

  1. Programming Assignments: 55%
    - Assignment 1 (15%)
    - Assignment 2 (20%)
    - Assignment 3 (20%)
  2. Final Project: 40%
    - Project Proposal (5%)
    - Project Demo, Presentation, and Report (35%)
  3. 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 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).