ECE412/CS 412/ECE 595 Introduction to Computer Graphics

Fall, 2015

Yin Yang
Office: ECE 134B
Office hour: Monday 8:30 - 9:30am

Ran Luo
TA Email:
TA office: ECE 212
TA office hour: Monday - Friday afternoon or by email

Formal prerequisites for this course are Linear Algebra, and ECE 131 - Programming Fundamentals. You should have some familiarity with basic linear algebra, and good working knowledge of C/C++ programming. Talk to me if you have concerns.

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. [Amazon link]

A FREE online version (a bit old) can be found at:

Interactive Computer Graphics: A Top-Down Approach using OpenGL (6th Edition), by Edward Angel, Addison Wesley, 2013. ISBN-13: 978-0132545235. [Amazon link]
Programming Assignments: 60%
Assignment 0 (15%): Warm Up
Assignment 1 (15%): OpenGL Basics
Assignment 2 (15%): Graphics Pipeline
Assignment 3 (15%): Lighting and Shading
Mid-term Exam 20%
Final Exam 20%

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.


Tentative Topics (subject to change)
08/17 Frist Sight of Graphics 08/19 OpenGL Programming
08/24 OpenGL Programming 08/26 A Review of Linear Algebra
08/31 Review of Linear Algebra 09/02 GLUT Programming
09/07 Labor Day 09/09 Transformation
09/14 Transformation (Assignment 0 due) 09/16 Viewing
09/21 Projection 09/23
09/28 09/30
10/05 10/07
10/12 10/14
10/19 10/21
10/26 10/28
11/02 11/04
11/09 11/10
11/16 11/18
11/23 11/25
11/30 12/02
* Tutorials, course materials, slides are available at UNM Learn