Time and location: MW 4:10 - 5:25 pm in HALB 101
Office hours: TR 2:00 - 3:00
Office location: Peterson 406
Email: nimak@tamu.edu
Campuswire: Link in the syllabus
TA: Pedro Figueiredo
Email: pedrofigueiredo@tamu.edu
Office hours: MWF 1:30 - 3:30
Location: Peterson 402
Grader: Shuyu Wang
This course is an introduction to the foundations of 3-dimensional computer graphics. Topics covered include 2D and 3D transformations, hidden surface removal and rasterization, shading, lighting models, and texture mapping. We also discuss geometric modeling and curves, as well as ray tracing.
The main prerequisite listed in the course description is CSCE 221. However, the students are expected to be comfortable with C/C++ as there will be significant amount of programming in this class. The students should also be familiar with linear algebra. A prior course in linear algebra (e.g., MATH 304) is more than sufficient.
The following books are recommended:
Fundamentals of Computer Graphics, by Steve Marschner, Peter Shirley, 4th Edition
The OpenGL® Programming Guide, by John Kessenich, Graham Sellers, and Dave Shreiner, 9th Edition
The readings from Fundamentals of Computer Graphics are referred to as MS (Marschner and Shirley).
You will lose 20% from each assignment for each day that it is late. However, there will be 5 granted late days for the entire course. You are free to use it for any of the assignments. You will not get any bonuses for any of the unused late days. All the assignments are due at 11:59 pm on Canvas. Note that, one minute over and 23 hours over both count as one full day.
All the assignments in this class are individual. Therefore, all the codes need to be written by the student. If indicated in the assignment’s instruction, the use of external libraries for performing basic operations is allowed. However, using an outside source code is NOT permitted. Moreover, collaborating with other students on assignments beyond general discussions is NOT allowed. In general, looking at other students’ code and/or written answers is NOT allowed. If the students have any questions regarding this issue, they should contact the instructor. The students should not post their code online even after the deadline for the assignment has passed.
Date | Topic | Slides | Reading | Assignments |
---|---|---|---|---|
Aug 24 | Introduction and Overview | pptx | MS 1 | |
Aug 29 | Linear Algebra Overview | pptx | MS 2 & 5 | HW 1 Out |
Aug 31 | Rendering Overview | pptx | ||
Sep 5 | Labor Day -- No Class | |||
Sep 7 | Transformations (2D) | pptx | MS 6.1 & 6.3-4 | HW 1 Due |
Sep 12 | Transformations (3D) | pptx | MS 6.2 & 12.2 | HW 2 Out |
Sep 14 | OpenGL | pptx | MS 17.1-9 | |
Sep 19 | Viewing Transformations | pptx | MS 7 | |
Sep 21 | Viewing Transformations | See Above | MS 7 | |
Sep 26 | Clipping and Viewport | pptx | MS 8.1.3-6 & 8.4 | HW 2 Due |
Sep 28 | Rasterizing Lines and Triangles | pptx | MS 8.1.1-2 & 8.2.1-3 & 2.7 | |
Oct 3 | Rasterizing Lines and Triangles | See Above | MS 8.1.1-2 & 8.2.1-3 & 2.7 | HW 3-1 Out |
Oct 5 | Antialiasing | pptx | MS 9 & 8.3 | |
Oct 10 | Fall Break -- No Class | |||
Oct 12 | Color | pptx | MS 19 & 20 | |
Oct 14 | Assignment Deadline | HW 3-1 Due | ||
Oct 17 | Shading and Texture Mapping | pptx | MS 10 & 11.1-4 | HW 3-2 Out |
Oct 19 | Shading and Texture Mapping | See Above | MS 10 & 11.1-4 | |
Oct 24 | Shading and Texture Mapping | See Above | MS 10 & 11.1-4 | |
Oct 26 | Midterm Review | HW 3-2 Due | ||
Oct 31 | Midterm | |||
Nov 2 | Shading and Texture Mapping | See Above | HW 4 Out | |
Nov 7 | Shadows | pptx | MS 11.4.4 | |
Nov 9 | Ray Tracing (Intro) | pptx | MS 4 | |
Nov 14 | Ray Tracing (Nuts and Bolts) | pptx | MS 4 | HW 4 Due & HW 5 (Parts 1 & 2) Out, HW 5-2 (Honors) Out |
Nov 16 | Ray Tracing (Nuts and Bolts) | See Above | MS 4 | |
Nov 21 | Ray Tracing Acceleration | pptx | MS 12.3 | |
Nov 23 | Reading Day -- No Class | |||
Nov 28 | Geometry | pptx | MS 22.1 & 22.5 | |
Nov 30 | Curves and Surfaces | pptx | MS 15 | HW 5-1 Due |
Dec 5 | Review for Final | HW 5-2 Due | ||
Dec 7 | Review for Final |
*Schedule is subject to small changes.