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
Lab0 -- Compiling OpenGL||Remco out of town|
|01-30-2019||Lab1 -- Loading a Shape File|
|02-04-2019||Linear Algebra Recap||Remco in Germany|
|02-06-2019||Lab2 -- User Interactions in FLTK||Remco in Germany|
|02-11-2019||Transform||A2 out||A1 due|
|02-20-2019||CLASS CANCELLED||Remco away|
|02-25-2019||Lab3 -- Solar System|
|02-27-2019||Lab4 -- Silhouette|
|A3 out||A2 due|
|03-06-2019||Lab6 -- Roller Coaster|
|03-13-2015||Lab7 -- Painting an Object|
|03-18-2019||Spring Break||A3 due|
|03-25-2019||Illumination and Intersection Normals||A4 out|
|03-27-2019||Lab8 -- Dragging|
|04-01-2019||Recursive Ray Tracer - Basics and Texture|
|04-03-2019||Final Project Discussion|
Recursive Ray Tracer - Advanced Concepts and Data Structure
||A5 out||A4 due|
|04-10-2019||Shaders||Final Project Out|
Lab9 -- Bump Mapping on the GPU
|04-22-2019||Lab10 -- WebGL + Shower Door Effect||A5 due|
|04-24-2019||Final Project Check-In|
Final Project Presentation
|Final Project Due|
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:||Shapes (Demo: Windows | Mac)||Render 3D Shapes using OpenGL Handout | Worksheet PDF | Worksheet TeX|
|Assignment 2:||Camera (Demo: Windows | Mac)||Create your own camera Handout | Worksheet PDF | Worksheet TeX|
|Assignment 3:||SceneView (Demo: Windows | Mac)||Render a hierarchical scene Handout | Worksheet PDF | Worksheet TeX|
Find your partner for this week
|Lab0||Handout | Files|
|Lab1||Handout | Files | (mac ply.cpp)|
|Lab2||Handout | Files|
|Lab3||Handout | Files|
|Lab4||Handout | Files|
|Lab6||Handout | Files|
|Lab7||Handout | Files|
|R1||Fundamentals of Computer Graphics (Third Edition) by Shirley and Marschner|
|In Class Labs||25%|
Grading: Each assignment is worth 12% of your final grade. Out of the 12%, 2% is for your written algorithm, and 10% for the implementation.
Late Policy: All the assignments due at 11:59pm on Sunday (the night before the Monday 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. However, you are allowed one "extension" for the semester. When you use an extension, you will be granted an extra 3 days. The rationale for the late policy is that the assignments are built on top of each other (e.g. you cannot complete assignment 5 without completing assignment 4). 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 10 in class labs, each is worth 2.5% of your final grade. Note that Lab0 is not for credit, but obviously getting OpenGL to compile is essetial to the rest of your course work.
Late Policy: All in-class labs must be completed by the start of the next in-class lab (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.
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.
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. To do so, arrange an appointment with Linda Sullivan, Program Director of Student Accessibility Services at (617) 627-5447.
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.