html> CS 5600, Introduction to Computer Graphics, Spring 2007

CS 5600: Introduction to Computer Graphics

Spring 2009

Instructors

Chuck Hansen (hansen (delete me) @cs.utah.edu)
TAs:
    Joonyong Ji ( jji (delete me) @cs.utah.edu)
    Guodong Li ( ligd (delete me) @cs.utah.edu)

Office Hours

T,Th: 10:30-11:30
I am always able to schedule appointments if you simply email me.

TA Hours

M:  noon - 5pm
T:  02:00PM-06:15PM
W:  none
Th:  12:30PM-06:15PM
F:  noon - 5pm

Class Times

T Th 9:10am-10:30am

Mailing List

cs5600@list.eng.utah.edu [: You should subscribe to this class mailing list.
To subscribe, go to the cs5600 mailing list website.


I expect all questions about the lectures, assignments, or the class in general to be sent to the class email list.
The reason is that others may very well have the same question and it saves myself and the TA from repeatedly answering the same question.
Don't be bashful about posting to the class email list ... everyone is learning!

College of Engineering Guidelines

College of Engineering Guidelines
The guidelines are simple: add by the add-date, drop by the drop-date, you have an official appeal process if needed (hopefully never), we will accomodate disabilities (ADA).

Text

The text by Ed Angel: Interactive Computer Graphics, A top-down approach with OpenGL (Fifth Edition) is required for this class.

The optional text of an OpenGL Primer or the OpenGL Red Book may be useful but certainly not required.

Grading

Your grade will be 70% homework, and 30% exams.

DON'T share code! DON'T grab code off the web! (we check; you will fail the class!)
Late penalty: -20%/day. Yes, this is stiff but you should turn in what you have for partial credit rather than try to complete an assignment a week late.
NO Incompletes, except for very serious medical reasons. Turn in semi-working stuff for partial credit.

Course Philosophy and Objectives

In this course, you will learn the fundamentals of computer graphics. We will explore raster algorithms in 2D and 3D, coordinate transformations, projections, lighting/shading, and ray-tracing. We will use OpenGL in this course so when you complete the course, you should understand how to use basic OpenGL.

Schedule

Week Date Topic Resources Lecture Notes
1 T Jan 13 Vectors, parametric/implicit,RGB colors Chapt 1, Chapt 2.5 (color), Appendix B (Spaces) and Appendix C (Matrices)   Cross Product, Line Equations, Color  
Th Jan  15      
2 T Jan 20 Lines, circles, barycentric coords, rasterization   Chapt 7.1-9 (Basic Implementation Strategies to Bresenham's Algorithm)   Bresenham's line rasterization 
Th Jan 22     Bresenham's circle rasterization 
3 T Jan 27 rasterization Chapt 7.10 (Polygon Rasterization)   Polygon Scan Conversion 
Th Jan 29 rasterization, barycentric coords,    
4 T Feb 3 Transformations   Chapt 4 (Geometric Objects and Transformations)   Transformations I 
Th Feb 5 3D Transformations     Transformations II 
5 T Feb 10  Hierarchical Transformations and matrix stacks   Hierarchical Transformations
5 Th Feb 12   Exam    
6 T Feb 17 Transformations continued    
  Th Feb 19 Viewing and projections     Chapt 5 (Viewing) Intro to Projection
7 T Feb 24   Viewing reference   Projection reference

Msys Mview reference     

ProjectionNotes from White Board
Th Feb 26 Z-buffer Chapt 7.11-12 Last bit on projection  
8 T Mar 3 No Class Today    
Th Mar 5 Z-buffer   Visible Surface Methods  
9 T Mar 10 OpenGL Overview and Lighting   Chapt 3 and Chapt 6 OpenGL Overview   Lighting Notes  
Th Mar 12 Exam 2     
10 T Mar 17 Spring Break    
Th Mar 19 Spring Break    
11 T Mar 24 Lighting Chapt 6 and notes Lighting Notes  
  Th Mar 26 Lighting Continued    
12 T Mar 31 Texture Mapping  Chapt 8.1-10 Texture Mapping
Th Apr 2 Texture Mapping, Blending    Texture Mapping with OpenGL
13 T Apr 7   Ray Tracing Chapt 12.1-3 Ray Tracing
Th Apr 9     Ray Tracing 2nd Lecture
14 T Apr 14 Ray Tracing   Ray Tracing 3rd Lecture
Th Apr 16 Ray Tracing at Pixar     Ray Tracing for the Movie Cars
15 T Apr 21 Exam 3    
Th Apr 23 Alpha Blending   Angel: Chapt 8.11 Alpha Channel and Blending Lecture  
16 T Apr 28 Last day of Class    
M May 4  Final Exam 800am - 10:00am Look at Quizes  Final will replace lowest exam grade 

Assignments

This is NOT an assignment, this is just a program to get things to compile and work. You will use this for your assignments but no assignments have been made at this point. Getting Started Getting Started Programs for Windows and Linux

Assignment 1
            Due, Monday Jan. 26 at midnight

Assignment 2
            Due, Feb. 2 at midnight

Assignment 3
            Due, Feb. 10 at midnight

Assignment 4
            Due, Feb. 24 at midnight

Assignment 5
            Due, Mar. 5 at midnight

Assignment 6
            Due, April 7 at midnight

Assignment 7
            Due, April 14 at midnight

Assignment 8
            Due, NEW!!!! April 28 at midnight

Assignment 9
            Due, April 28 at midnight

Quizzes

Quiz 2 solution Solution to Quiz 2

Quiz 3 solution Solution to Quiz 3

Quiz 4 solution Solution to Quiz 4

Quiz 5 solution Solution to Quiz 5

Quiz 6 solution Solution to Quiz 6

Quiz 7 solution Solution to Quiz 7

Quiz 8 solution Solution to Quiz 8

Quiz 9 solution Solution to Quiz 9

Quiz 10 solution Solution to Quiz 10

Quiz 11 solution Solution to Quiz 11

Exams

Exam 1 solution Solution to Exam 1

Exam 2 solution Solution to Exam 2

Exam 3 solution Solution to Exam 3

Links

Example webpage of what we're looking for when it comes to documentation for homework assignments. Please remember that your documentation should be HTML.

Nate Robbins' OpenGL tutorial page