ECE/CS 412 Introduction to Computer Graphics Fall, 2013 (completed)


Yin Yang
Office: ECE 134B
Office hour: Monday 1:45 - 3:45pm

Al-Yusuf, Husain
Office: ECE 212
Office hour: Thur. 10:00am - 12:00pm

Snapshots from Students
snapshots from students


Formal prerequisites for this course are Linear Algebra, and ECE 131 - Programming Fundamentals. 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 and modeling. 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 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
There are no required textbook, but the following books are recommended

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1 (7th Edition), Addison Wesley, 2009. ISBN-13: 978-0321552624.
OpenGL Red Book
Interactive Computer Graphics: A Top-Down Approach using OpenGL (6th Edition), by Edward Angel, Addison Wesley, 2013. ISBN-13: 978-0132545235. interactive_cg
Programming Assignments: 51%
Assignment 1 (17%): OpenGL Basics
Assignment 2 (17%): Graphics Pipeline
Assignment 3 (17%): Lighting and Shading
Mid-term Exam 20%
Final Exam 29%

Late Work
All assignment submissions will be due on the specified date no later than 11:59 PM.
Assignments will be accepted one day late with 20% penalty.
24 hours after the due date, if not submitted, assignments will receive a grade of zero.

Course Material (in PDF version)
8/19 Frist Sight of Graphics 8/21 OpenGL Programming
8/26 OpenGL Programming 8/28 Linear Algebra Review
9/2   Labor day (no class) 9/4   Recap of Graphics Pipeline
9/9   Recap of Graphics Pipeline 9/11 Transformation
9/16 Transformation 9/18 View and Projection
9/23 View and Projection 9/25 View and Projection
9/30 Lighting and Shading (Assignment 1 Due) 10/2 Lighting and Shading
10/7 GLSL 10/9 GLSL
10/14 Mid-term review 10/16 Mid Term
10/21 Curves and Surfaces 10/23 Curves and Surfaces
10/28 Clipping & Rasterization 10/30 Clipping & Rasterization
11/4  Texturing & Other Mapping (Assignment 2 Due) 11/6   Texturing & Other Mapping
11/11Texturing & Other Mapping / Antialiasing Revisit 11/13 Ray Tracing
11/18 Radiosity 11/20 Hierarchical Modeling
11/25 Particle System 11/27 Fluid Animation (Requested by student)
12/2 Final review & Course evaluation 12/4 Final (Assignment 3 Due)

How to use GLUT with MS VS 2010
How to use Freeglut & GLEW as well asl GLSL with MS VS 2010 [source code]