COMP 175 Graphics


Course Number COMP175
Semester Fall, 2011
Hours TH 12-1:15
Schedule F+ Block
Location Halligan 111A

Instructor Remco Chang
email remco at
cs_tufts_edu
Office Halligan E009
Office Hours Thursdays 1:30 - 3:00

TA Jordan Crouser
email rcrous01 at
cs_tufts_edu
Office Windows Lab (Halligan 120)
Office Hours (Lab) Fridays 11:00 - 1:15 Note: When the lab is in use, we will meet in the extension

Course Description
Schedule
Assignments
Textbook
Grading
Support Code
Accommodation
Acknowledgement

Course Description

This course explores the fundamentals of computer graphics, including representing digital images, 2D rasterization and anti-aliasing, 3D rendering via ray casting, ray tracing and radiosity, viewing transformations, 3D shape representation, and an introduction to modeling and computer animation. Assignments and projects require a good working knowledge of the C programming language.


Prerequisite: COMP 40 (Machine Structure and Assembly-Language Programming), MATH 13 (Calc 3), Math 46 (Linear Algebra), or with the Instructor's permission



Schedule

Date Topic Reading Assignments Notes
09-06-2011 Introduction to Computer Graphics (ppt)
09-08-2011 Rasterization and Vector Graphics (ppt) A1 out
09-13-2011 Image Processing (ppt) A1 Alg In
09-15-2011 Image Processing 2 (ppt)
Display and OpenGL (ppt)
Singleton
09-20-2011 OpenGL 2 (ppt) A2 out A1 in Memory Profile: Dr Memory
Circular Dependency
09-22-2011 Linear Algebra (ppt)
09-27-2011 Shapes (ppt) A2 Alg In
09-29-2011 Shapes 2 (ppt)
Transform (ppt)
10-04-2011 Transform 2 (ppt) A2 in
10-06-2011 Transform 3 (ppt) A3 out
10-11-2011 Viewing 1 (ppt) Last Day for Pass/Fail or Add/Drop
10-13-2011 Viewing 2 (ppt) A3 Alg In
10-18-2011 Viewing 3 (ppt)
10-20-2011 SceneGraph (ppt)
A4 out A3 in
10-25-2011 Guest Lecture - Karen Vagts Class held in Tisch library's ERC lab. Additional library resources.
10-27-2011 VisWeek Conference -- No Class A4 Alg In
11-01-2011 Midterm Eval
Clipping (ppt)
11-03-2011 Scan Conversion (ppt)
Ray Casting (ppt)
A5 out
11-08-2011 University Holiday -- No Class A4 in
11-10-2011 Ray Intersection (ppt)
Illumination (ppt)
11-15-2011 Wrapup Illumination
Intersection Normal (ppt)
A5 Alg In
11-17-2011 Polygon Rendering (ppt)
11-22-2011 Color (ppt) A6 out A5 in
11-24-2011 Thanksgiving -- No Class
11-29-2011 Recursive Ray Tracing - Basics (ppt) Course Evaluation
12-01-2011 Recursive Ray Tracing 2 - Textures and Data Structures (ppt) A6 Alg In
12-06-2011 Advanced Topics in Graphics
12-08-2011 LAB: A6 Support
12-12-2011 Start of Reading Period A6 in


Assignments

Note: If you are downloading the demos to a lab machine, you may need to unblock the .zip file before extracting the files. Otherwise, the executable file may not be included in the extraction.


Assignment 1: Brush                 Demo: PC | Mac Using masks, draw 2D shapes in Qt and C++     Handout | Worksheet PDF | Worksheet TeX
Assignment 2: Shapes               Demo: PC | Mac Render 3D objects using OpenGL                     Handout | Worksheet PDF | Worksheet TeX
Assignment 3: Camera              Demo: PC | Mac Build your own 3D perspective camera             Handout | Worksheet PDF | Worksheet TeX
Assignment 4: SceneView          Demo: PC | Mac Render a hierarchical scene                   Data | Handout | Worksheet PDF | Worksheet TeX
Assignment 5: Intersect Hints     Demo: PC | Mac Implement a basic ray tracer                           Handout | Worksheet PDF | Worksheet TeX
Assignment 6: Ray                    Demo: PC | Mac Extend A5 into a recursive ray tracer  New Data | Handout | Worksheet PDF | Worksheet TeX


Textbooks


Required Books
R1 Computer Graphics (Hughes, van Dam, McGuire, Sklar, Foley, Feiner)
Preprint Version, Free for Download (here), Courtesy of Professors Andy van Dam and John Hughes
Alternative
A1 Computer Graphics: Principles and Practice in C (Foley, van Dam, Feiner, Hughes)
Purchase from Amazon


Grading

Assignment 1 16%
Assignment 2 16%
Assignment 3 16%
Assignment 4 16%
Assignment 5 16%
Assignment 6 20%
Total 100%
Late Policy: Assignments that are turned in late will receive a 0. However, you are allowed two "extensions" for the semester. Each time you use an extension, you will be granted an extra 3 days. The extensions cannot be stacked (meaning that you cannot use two extensions for the same assignment). The rationales for the late policy are that (1) the assignments are built on top of each other (e.g. you cannot complete assignment 5 without completing assignment 4). Because of this, you must turn in your assignment before the solutions are given out. (2) All the assignments are due at 11:59pm on Monday (the night before the Tuesday lecture), and the solutions are handed out on Friday of the same week during the Lab. Even with an extension, if your assignment is not turned in before the lab, you will receive a 0 for the assignment. If you have an extraordinary circumstance, you must contact the instructor or the TA as soon as possible and obtain written approval.


Support Code

A Qt project is provided containing support code for all projects you will complete over the course of the semester. You can find thorough documentation for this support code here You may choose to use Qt Creator (available standalone or as part of the Qt-SDK) to edit and build your project. You will need to make additions to many of the files, including header files. To get started, you may want to look for places marked [NAME_OF_ASSIGNMENT], where we have left some helpful tips in the comments. Code carefully! Poor design and coding decisions now will come back to haunt you later. You will be using the same support code for the rest of the semester, as your projects continue to build on one another.

Don't know how to get started? We have a tutorial on OpenGL and Qt Creator available to help you get your bearings.


Accommodation

Tufts is committed to providing support services and reasonable accommodations to all students with documented disabilities. To request an accommodation, you must register with the Disability Services Office at the beginning of the semester. To do so, call the Student Services Desk at (617) 627-2000 to arrange an appointment with Sandra Baer, Program Director of Disability Services.


Acknowledgement

Some images and slides are based on lectures by Professor Andy van Dam at Brown University and Professor Daniel Keefe at the University of Minnesota.