Time and location: MWF 1:50 - 2:40 pm in HRBB 124
Office hours: MW 3:00 - 4:00 pm
Office location: Peterson 406
Email: nimak@tamu.edu
Campuswire: Link in Canvas
TA: Qihao He
Email: phyqh@tamu.edu
Office hours: TTh 3:00 - 6:00 pm
Location: Peterson 402
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 assignments in this class are individual. Therefore, all code must be written by the student. If specified in the assignment instructions, the use of external libraries for performing basic operations is allowed. However, using any external source code is NOT permitted. Collaborating with other students beyond general discussion is also NOT allowed. In particular, viewing other students’ code and/or written answers is strictly prohibited. Posting your code on publicly accessible websites (e.g., GitHub), even after the assignment deadline, is also NOT allowed.
Generative AI: The use of large language models such as ChatGPT, Copilot, or Claude is not strictly prohibited. However, these tools may be used only for debugging or clarification purposes, not for generating code. You are expected to write all code yourself, and copying or modifying AI-generated code is not permitted. If you use any AI tool in any capacity while completing an assignment, even to ask a conceptual question, you must submit a transcript of the full interaction along with your work.
The instructor may request a meeting with any student to discuss their code and assess their understanding. If a student is unable to adequately explain their own code, it will be considered an honor code violation and reported to the honor council.
If you have any questions about these policies, please contact the instructor.
Date | Topic | Slides | Reading | Assignments |
---|---|---|---|---|
Aug 25 | Introduction and Overview | pptx | MS 1 | |
Aug 27 | Linear Algebra Overview | pptx | MS 2 & 5 | |
Aug 29 | Linear Algebra Overview | See Above | MS 2 & 5 | |
Sep 1 | Labor Day -- No Class | |||
Sep 3 | Rendering Overview | |||
Sep 5 | Rendering Overview | |||
Sep 8 | Transformations (2D) | MS 6.1 & 6.3-4 | ||
Sep 10 | Transformations (3D) | MS 6.2 & 12.2 | ||
Sep 12 | Transformations (3D) | MS 6.2 & 12.2 | ||
Sep 15 | OpenGL | MS 17.1-9 | ||
Sep 17 | Viewing Transformations | MS 7 | ||
Sep 19 | Viewing Transformations | MS 7 | ||
Sep 22 | Viewing Transformations | MS 7 | ||
Sep 24 | Clipping and Viewport | MS 8.1.3-6 & 8.4 | ||
Sep 26 | Clipping and Viewport | MS 8.1.3-6 & 8.4 | ||
Sep 29 | Rasterizing Lines and Triangles | MS 8.1.1-2 & 8.2.1-3 & 2.7 | ||
Oct 1 | Rasterizing Lines and Triangles | MS 8.1.1-2 & 8.2.1-3 & 2.7 | ||
Oct 3 | Rasterizing Lines and Triangles | MS 8.1.1-2 & 8.2.1-3 & 2.7 | ||
Oct 6 | Antialiasing | MS 9 & 8.3 | ||
Oct 8 | Color | MS 19 & 20 | ||
Oct 10 | Color | MS 19 & 20 | ||
Oct 13 | Fall Break -- No Class | |||
Oct 15 | Midterm Review | |||
Oct 17 | Midterm | MS 10 & 11.1-4 | ||
Oct 20 | Shading and Texture Mapping | |||
Oct 22 | Shading and Texture Mapping | MS 10 & 11.1-4 | ||
Oct 24 | Shading and Texture Mapping | MS 10 & 11.1-4 | ||
Oct 27 | Shading and Texture Mapping | MS 10 & 11.1-4 | ||
Oct 29 | Shading and Texture Mapping | MS 10 & 11.1-4 | ||
Oct 31 | Shading and Texture Mapping | MS 10 & 11.1-4 | ||
Nov 3 | Shadows | MS 11.4.4 | ||
Nov 5 | Shadows | MS 11.4.4 | ||
Nov 7 | Midterm Solution | |||
Nov 10 | Ray Tracing (Intro) | MS 4 | ||
Nov 12 | Ray Tracing (Intro) | MS 4 | ||
Nov 14 | Ray Tracing (Nuts and Bolts) | MS 4 | ||
Nov 17 | Ray Tracing (Nuts and Bolts) | MS 4 | ||
Nov 19 | Ray Tracing (Acceleration) | MS 12.3 | ||
Nov 21 | Geometry | MS 22.1 & 22.5 | ||
Nov 24 | Curves and Surfaces | MS 15 | ||
Nov 26 | Reading Day -- No Class | |||
Nov 28 | Thanksgiving -- No Class | |||
Dec 1 | Curves and Surfaces | MS 15 | ||
Dec 3 | Review for Final | |||
Dec 5 | Review for Final | |||
Dec 8 |
*Schedule is subject to small changes.