Computer Graphics
I (4003-570-70 / 4005-761-70)
Course Information
Instructor: Reynold Bailey
Email: rjb@cs.rit.edu
Phone: (585) 475-6181
Office hours: Monday, Wednesday, 4:00 PM - 6:00 PM, Room 70-3517
Class times: Monday, Wednesday, 6:00 PM - 7:50 PM, Room 70-1610
Course URL: http://www.cs.rit.edu/~rjb/CG1_20091.htm
Description
Computer Graphics I is a study of the hardware and software principles of interactive raster graphics. Topics include an introduction to the basic concepts, 2D and 3D modeling and transformations, viewing transformations, projections, rendering techniques, graphical software packages and graphics systems. Students will use computer graphics packages and implement fundamental computer graphics algorithms.
Course Goals
Prerequisite
Third year standing or permission of instructor
Please see me as soon as possible if you haven't reached this level. If you aren't at least a third-year student, or you have not come through an equivalent preparatory programming sequence, there is a very good chance that you don't have sufficient programming experience to allow you to succeed in this course.
Texts
Required:
Donald Hearn and M. Pauline Baker,
Computer Graphics with OpenGL (3rd Edition), Prentice-Hall, 2003, ISBN:
0130153907
Recommended:
OpenGL Architecture Review Board,
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version
2.1,
Sixth Edition, Addison-Wesely, 2008, ISBN: 0321481003
Richard S. Wright, Jr., Benjamin Lipchak, Nicholas Haemel, OpenGL SuperBible: Comprehensive Tutorial and Reference Fourth Edition, Addison-Wesley, 2007, ISBN: 0321498828
Requirements and Grading
| Undergraduate | Graduate | |
| Exams | 45% | 35% |
| Assignments | 45% | 40% |
| Homework | 10% | 10% |
| Grad Report | 15% |
Exams:
Two exams are scheduled for this course:
Both exams will be weighted equally in the calculation of your final grade.
Note to graduate students: A deeper understanding of the material is expected of graduate students. Hence, the graduate and undergraduate versions of the exams may not be the same.
Pipeline Implementation:
In lieu of exams, students may choose a more programming heavy option where
they will be implementing a portion of the graphics pipeline from scratch. This
option may be attractive to grad students as well as students with a desire to
pursue advanced graphics courses.
Homework:
Homework will be announced in class and posted on the course website. Due dates are
also listed. Generally, students will have 1 week to complete homework
assignments.
Programming Assignments:
There will be four programming projects this quarter. Programming
assignments will be posted on the
course website. Generally, students will have 2 weeks to complete programming
assignments.
Problem sets:
Problem sets and their solutions will be posted on the course website. Although
they will not be collected or graded, I suggest you attempt to work the problems
before looking at the answers, to help ensure that you understand the concepts.
The material in the problem sets are good fodder for exam questions.
Grad Report (graduate students only):
Each graduate student is expected to research a topic relative to computer
graphics and prepare a 10-15 page report. Please see:
http://www.cs.rit.edu/~rjb/RITcourses/20091/ComputerGraphics1/public/gradreport.pdf
for specific information
Submissions
Dropboxes will be available on the
myCourses website for submission of
homework, assignments, pipeline implementation, and the grad report.
Policy on Late Submissions
It is extremely important to continue to make progress as the course progresses. As such, late deliverables will be not be allowed. If you foresee any problems with meeting a deadline, please see the instructor well in advance of the deadline to work out alternate arrangements.
Tentative Schedule
Lecture Notes: Slides presented in class will be posted in the content area of myCourses.
All assignments, readings, and homework will be posted on the course website. Special events such as homework and exam dates will also be posted on the course website. Please stay informed by visiting the course website regularly throughout the quarter.
| Week | Day | Topics | Readings | Special Events |
| 1 | Mon. Sept. 7 | Course introduction and logistics | Chapter 1 | |
| Wed. Sept. 9 | Introduction to Computer Graphics (video) | Chapter 1 | Homework 1 assigned | |
| 2 | Mon. Sept. 14 |
2D: Computer Graphics Fundamentals 2D: Pipeline |
Chapter 2 | Problem Set 1 assigned (myCourses) |
| Wed. Sept. 16 | 2D: OpenGL Primer | Chapters 2, 3, 4 |
Homework 1 due (Sept. 18) Assignment 1 assigned (early release) |
|
| 3 | Mon. Sept. 21 |
2D: Coordinate Transformations 2D: Animation Basics |
Chapter 3 | Grad Report: Topic due |
| Wed. Sept. 23 |
2D: Viewing 2D: Clipping |
Chapter 3 | ||
| 4 | Mon. Sept. 28 | 2D: Drawing Graphics Primitives | Chapter 4 | |
| Wed. Sept. 30 | 2D: Polygon Fill Algorithms | Chapter 6 |
Problem Set 2 assigned (transformation game) Assignment 2 assigned |
|
| 5 | Mon. Oct. 5 |
2D: Pipeline Redux 3D: Pipeline |
Chapter 5 |
Assignment 1 due 2D Pipeline Implementation Option assigned Homework 2 assigned |
| Wed. Oct. 7 |
3D: Geometric Transformations 3D: Hierarchical Modeling Midterm review |
Chapters 7, 13 | ||
| 6 | Mon. Oct. 12 | MIDTERM EXAM | ||
| Wed. Oct. 14 | 3D: Viewing | Chapter 12 |
Assignment 2 due Homework 2 due |
|
| 7 | Mon. Oct. 19 | 3D: Light and Color | Chapter 10 | |
| Wed. Oct. 21 | 3D: Lighting, Shading, and Materials | Chapter 10 |
2D Pipeline Implementation Option due Assignment 3 assigned (early release) |
|
| 8 | Mon. Oct. 26 | 3D: Textures | Chapter 14 | |
| Wed. Oct. 28 |
3D: Rasterization 3D: Hidden Surface Removal |
Chapter 8 |
3D Pipeline Implementation Option assigned Assignment 4 assigned |
|
| 9 | Mon. Nov. 2 |
Modeling: Curves and Surfaces Modeling: Tessellation |
Chapter 8 | |
| Wed. Nov. 4 | Modeling: Fractals and Procedural Models | Chapter 8 | Assignment 3 due | |
| 10 | Mon. Nov. 9 | Advanced Topics: Proceduralism in Computer Graphics | Chapter 9 | |
| Wed. Nov. 11 |
Advanced Topics:
Global Illumination Advanced Topics: Animation Final exam review |
Chapter 10 |
Assignment 4 due Grad report due |
|
| 11 |
FINAL EXAM Monday November 16th, 2009 6:00 - 8:00 p.m. 70-1610 3D Pipeline Implementation Option due |
It is a shame that this must be stated at all, but there are always a few students who do not abide by the rules of proper academic conduct. For the record:
Those who behave in a dishonest or unethical manner in computer science courses, or in their dealings with the Computer Science Department, are subject to disciplinary action. In particular, dishonest or unethical behavior in the execution of assigned work in a computer science course will be treated as follows:
Complete policy details regarding cheating and classroom conduct can be found at the following links
Important Links (more will be added)
Python specific links
Links from previous offerings of this course (please take some time to go through theses links. Lots of good information, code samples, tutorials, and other resources are available.