|
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
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.
| 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 |
| 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.
|
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.
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.
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.
|