Course Description
This course explores the fundamentals of computer graphics, including 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 linear algebra and the C and C++ programming languages.
Prerequisite: COMP 40 (Machine Structure and Assembly-Language Programming). Background in Linear Algebra a plus
Schedule
Date | Topic | Assignments | Notes | |
09-06-2022 | Intro | |||
09-08-2022 | Lab 0 -- Compiling OpenGL | |||
09-13-2022 | OpenGL | |||
09-15-2022 | Lab1 -- Loading a Shape File | |||
09-20-2022 | Linear Algebra Recap | A1 out | ||
09-22-2022 | Lab2 -- Silhouette | |||
09-27-2022 | Transform | |||
09-29-2022 | Transform 2 | |||
10-04-2022 | Camera | A2 out | A1 due | |
10-06-2022 | Lab3 -- Solar System | |||
10-11-2022 | Scene Graph | Animation | |||
10-13-2022 | Lab 4 -- Roller Coaster | |||
10-18-2022 | NO CLASS | Remco Away at VIS | ||
10-20-2022 | NO CLASS | Remco Away at VIS | ||
10-25-2022 | Ray Casting | A3 out | A2 due | |
10-27-2022 | Lab5 -- Painting an Object | |||
11-01-2022 | Illumination and Intersection Normals | |||
11-03-2022 | Lab6 -- Dragging | A4 demo out | ||
11-08-2022 | NO CLASS - Substitute Friday Schedule | A3 due | In-Person Grading Today | |
11-10-2022 | Recursive Ray Tracer - Basics and Texture | A4 out | ||
11-15-2022 | Shaders | A4 handout | ||
11-17-2022 | Lab 7 -- Shaders - Modeling | |||
11-22-2022 | Final Project Discussion | A4 due | Final project starts | |
11-24-2022 | NO CLASS - Thanksgiving | |||
11-29-2022 | Shaders II | A5 out | ||
12-01-2022 | Lab 8 -- Shaders - Normal Mapping | |||
12-06-2022 | Final Project Check-In | A5 due | ||
12-08-2022 | Advanced Topics | |||
12-13-2022 | Reading Period | |||
12-19-2022 | Final Project Presentation -- 15:30pm-17:30pm | Final Project Due |
Textbooks
Recommended Book | ||
R1 | Fundamentals of Computer Graphics by Shirley and Marschner |
Grading
Assignment 1 | 11% |
Assignment 2 | 11% |
Assignment 3 | 11% |
Assignment 4 | 11% |
Assignment 5 | 11% |
Final Project | 21% |
In Class Labs (8 Labs) | 24% |
Total | 100% |
Assignments Grading: Each assignment is worth 11% of your final grade. Out of the 11%, 2% is for your written algorithm, and 9% for the implementation. Late Policy: All the assignments due at 11:59pm on Monday (the night before the Tuesday lecture). The algorithm worksheets are due at noon on Fridays of the week when the assignment is handed out. Assignments that are turned in late will receive a 0. The rationale for strict deadline is that the assignments are built on top of each other (e.g. you cannot complete assignment 4 without completing assignment 3). So completing each assignment in time is essential to the success of the next assignment. If you have an extraordinary circumstance, you must contact the instructor or the TA as soon as possible and obtain written approval. In-Class Labs Grading: There are 8 in-class labs, each is worth 3% of your final grade. Note that Lab0 is not for credit, but obviously getting OpenGL to compile is essential for the rest of your course work. Late Policy: All in-class labs must be completed by the start of the next in-class lab (usually 1 week). The lab will be checked in person by the TA or the instructor during class. There is no late policy for in-class labs. You will not receive partial credit for turning in a late lab. Final Project Grading: Your final project will be graded in-person during the final exam period. Late Policy: There is no late policy for the final project. You will receive a 0 if your final project isn't working by the demo day. |
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 Student Accessibility Services at the beginning of the semester. .
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.