ECE/CS 412 Introduction to Computer Graphics



Welcome to ECE/CS 412 Introduction to Computer Graphics, at the University of New Mexico. As its name implies, this course is an introduction to computer graphics. No prior computer graphics knowledge is required, but students are supposed to be strong programmers since the assignments will require familiarity with C and C++. In this class we will be learning about 2-D and 3-D graphics, in particular as they relate to scanline rendering techniques as implemented in the OpenGL API. At the end of the semester, you will work on a video game that will be played on an XBox 360 game console! Although this class will be a lot of work, many students that took it last year called it one of the best classes they have ever taken. This class (along with CS/ECE 413) is a pre-requisite for the rest of the graphics sequence here at UNM. However, the two introductory courses can be taken in either order.

Announcements

HW 4 has been assigned. See the details below.

Class Information

Instructor: Pradeep Sen
Class Location: ECE Room 310
Class Time: Mon, Wed 11:00am - 12:15pm
Online Forum: here
Office: ECE Room 225C
Office Hours: by appointment
TA: Soheil Darabi (soheil at ece.unm.edu)
TA Office Hours: Mon,Wed 2 - 4pm in AGL (ECE 218)
Textbooks:
Edward Angel. Interactive Computer Graphics: A Top-Down Approach Using OpenGL, 5th Edition. Addison-Wesley, 2008. Available here.

Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis. OpenGL Programming Guide, 6th Edition. Addison-Wesley, 2007. Available here.

Complete syllabus is available here. Please read it carefully and let me know if you have any questions. Finally, this semester we have set up an online forum for this class. Please check it out for updates and announcements, as well as to ask and discuss questions.

Lectures

In this section, we provide the slides and notes for each lecture. Note that these are not a substitute for coming to class.
Date Description Slides Notes
8/24/09 Lecture 1: Introduction, overview of the course, intro to graphics [ pdf ] [ N/A ]
8/26/09 Lecture 2: Light and vision [ pdf ] [ pdf ]
8/31/09 Lecture 3: Imaging and light fields [ pdf ] [ N/A ]
9/2/09 Lecture 4: Introduction to signal processing [ N/A ] [ pdf ]
9/9/09 Lecture 5: Sampling theory and aliasing [ N/A ] [ pdf ]
9/14/09 Lecture 6: Computational photography [ pdf ] [ N/A ]
9/16/09 Lecture 7: 2-D graphics and transformations [ pdf ] [ pdf ]
9/21/09 Lecture 8: 3-D graphics pipeline and OpenGL [ pdf ] [ N/A ]
9/23/09 Lecture 9: Vertex processing and 3-D Transformations [ pdf ] [ pdf ]
9/28/09 Lecture 10: Help session with the TA [ N/A ] [ N/A ]
9/30/09 Lecture 11: Orthographic Projection [ pdf ] [ pdf ]
10/05/09 Lecture 12: Perspective projection and clipping [ pdf ] [ pdf ]
10/07/09 Lecture 13: Clipping and Rasterization [ pdf ] [ pdf ]
10/12/09 Lecture 14: Interpolation and framebuffer operations [ pdf ] [ N/A ]
10/14/09 Lecture 15: Texture mapping [ pdf ] [ N/A ]
10/19/09 Lecture 16: Vertex and Fragment programs [ pdf ] [ N/A ]
10/21/09 Lecture 17: Graphics hardware architecture and Cg [ pdf ] [ N/A ]
10/26/09 Lecture 18: Lighting [ N/A ] [ pdf ]
10/28/09 Lecture 19: Diffuse Reflection [ N/A ] [ N/A ]

Reading

Assigned Description
9/01/09 Angel, Ch 1.
8/31/09 Light Field Rendering by Levoy and Hanrahan
9/9/09 Angel, Sec. 8.13
9/14/09 Scene Completion Using Millions of Photographs by Heys and Efros
Coded exposure photography: motion deblurring using fluttered shutter by Raskar et al.
9/21/09 Angel, Ch. 1 - 5
Red book, Ch. 1 - 3

Homework Assignments

HW 1 - SimpleDraw, the zip file template is available here.

HW 2 - You can find the ImageProc.zip project file here to get you started. The Seam Carving papers can be found here (Siggraph 2007) and here (Siggraph 2008). The database of images is available here (300MB). Get started as soon as you can. Due Tuesday, September 15, 2009.

HW 3 - Homework 3 is now available. The required zip files 2DTransforms.zip, ModelViewer.zip, and VRviewer.zip are also available for downloading. Get started soon. The assignment is due via email on Tuesday, September 29 at 11:59pm.

HW 4 - Homework 4 is now available. My executable for Part 2 is available here MazeViewer.zip. Please get started soon; the assignment is due on WebCT on Sunday, October 11 at 11:59pm and I will only accept 3 late days on this assignment.

HW 5 - Homework 5 is now available. The skeleton code to get you started is available here. My executable is available here MazeViewer.zip. This is the biggest assignment so far, due through WebCT on Monday, November 2, at 11:59pm

FINAL PROJ - The final project description is now available. Please get started right away. Here is a webpage with links that can help you get started. Please put additional info on the course forum.