Computer Graphics
Fall 2024
Instructor: Nima Kalantari

Course information

Time and location: TR 9:35 - 10:50 am in ZACH 350
Office hours: TR 11:00 - noon
Office location: Peterson 406
Email: nimak@tamu.edu
Campuswire: Link in the syllabus

TA: Libing Zeng
Email: libingzeng@tamu.edu
Office hours: MW 3:00 - 6:00 pm
Location: Peterson 402

Overview

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.

Prerequisites

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.

Textbook

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

Grading

Late Submissions

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.

Academic Integrity

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. Note that use of large language models like ChatGPT is considered an outside source and is NOT allowed. 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. Posting the code on publicly available websites (e.g., GitHub), even after the assignment deadline, 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.

Schedule*

Date Topic Slides Reading Assignments
Aug 20 Introduction and Overview pptx MS 1
Aug 22 Linear Algebra Overview pptx MS 2 & 5 HW 1 Out
Aug 27 Rendering Overview pptx
Aug 29 Transformations (2D) pptx MS 6.1 & 6.3-4
Sep 3 Transformations (3D) pptx MS 6.2 & 12.2 HW 1 Due & HW 2 Out
Sep 5 OpenGL pptx MS 17.1-9
Sep 10 Viewing Transformations pptx MS 7
Sep 12 Viewing Transformations See Above MS 7
Sep 17 Clipping and Viewport pptx MS 8.1.3-6 & 8.4
Sep 19 Rasterizing Lines and Triangles pptx MS 8.1.1-2 & 8.2.1-3 & 2.7 HW 2 Due & HW 3 Out
Sep 24 Rasterizing Lines and Triangles See Above MS 8.1.1-2 & 8.2.1-3 & 2.7
Sep 26 Antialiasing pptx MS 9 & 8.3
Oct 1 Color pptx MS 19 & 20
Oct 3 Shading and Texture Mapping pptx MS 10 & 11.1-4 HW 3 Due
Oct 8 Fall Break -- No Class
Oct 10 Midterm Review pdf
Oct 15 Midterm
Oct 17 Shading and Texture Mapping MS 10 & 11.1-4
Oct 22 Shading and Texture Mapping MS 10 & 11.1-4
Oct 24 Shading and Texture Mapping
Oct 29 Shadows MS 11.4.4
Oct 31 Ray Tracing (Intro) MS 4
Nov 5 Ray Tracing (Nuts and Bolts) MS 4
Nov 7 Ray Tracing (Nuts and Bolts) MS 4
Nov 12 Ray Tracing Acceleration MS 12.3
Nov 14 Geometry MS 22.1 & 22.5
Nov 19 Curves and Surfaces MS 15
Nov 21 Review for Final
Nov 26 Review for Final
Nov 28 Thanksgiving -- No Class
Dec 3 Reading Day -- No Class

*Schedule is subject to small changes.