**Time and location:** MWF 2:55 - 3:45 in ZACH 350 and via Zoom

**Office hours:** MW 4:00 - 5:00 via Zoom

**Office location:** 527B HRBB

**Email:** nimak@tamu.edu

**Piazza:** link

**NOTE:** Even if you physically go to the class, you can only see the lectures through Zoom. So, it is important that you bring your laptop with yourself. You can also instead stay home and do the same.

**TA: Avinash Paliwal**

**Email:** avinashpaliwal@tamu.edu

**Office hours:** TTh 3:30 - 5:30 via Zoom

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:

**The OpenGLĀ® Programming Guide**, by John Kessenich, Graham Sellers, and Dave Shreiner, 9th Edition

**Fundamentals of Computer Graphics**, by Steve Marschner, Peter Shirley, 4th Edition

The readings from **Fundamentals of Computer Graphics** are referred to as **MS** (Marschner and Shirley) and the ones from **The OpenGLĀ® Programming Guide** are referred to as **GL**.

**Linear Algebra Review:**Every student needs to complete this online test by a certain date. Students may take the exam as many times as they wish until it is passed. Failure to pass the test by the deadline will result in an automatic F for the class.**Programming assignments (60%):**There will be 6 programming assignments.**Midterm (15%):**The midterm will be given on Oct. 12th during the class.**Final (25%):**The exam will be given during the scheduled final exam time, Dec. 4th (11:00 - 1:30)

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 (note that, you CANNOT use it for the linear algebra test!). All the assignments are due at 11:59 pm on ecampus. Note that, one minute over and 23 hours over both count as one full day.

Date | Topic | Slides | Reading | Assignments |
---|---|---|---|---|

Aug 19 | Introduction and Overview | pptx | MS 1 | LA Test Out |

Aug 21 | Linear Alegbra Overview | pptx | MS 2 & 5 | |

Aug 24 | Linear Alegbra Overview | See above | MS 2 & 5 | HW 1 Out |

Aug 26 | Rendering Overview | pptx | ||

Aug 28 | Rendering Overview | See above | ||

Aug 31 | Transformations (2D) | pptx | MS 6.1 & 6.3-5 | |

Sep 2 | Transformations (2D) | See above | MS 6.1 & 6.3-5 | LA Test & HW 1 Due |

Sep 4 | Transformations (3D) | pptx | MS 6.2 & 12.2 | HW 2 Out |

Sep 7 | Transformations (3D) | See above | MS 6.2 & 12.2 | |

Sep 9 | Transformations (3D) | See above | MS 6.2 & 12.2 | |

Sep 11 | OpenGL | pptx | MS 17.1-9 | |

Sep 14 | Viewing Transformations | pptx | MS 7 | |

Sep 16 | Viewing Transformations | See above | MS 7 | |

Sep 18 | Clipping and Viewport | pptx | MS 8.1.3-6 & 8.4 | |

Sep 21 | Clipping and Viewport | See above | MS 8.1.3-6 & 8.4 | |

Sep 23 | Rasterizing Lines and Triangles | pptx | MS 8.1.1-2 & 8.2.1-3 & 2.7 | HW 2 Due & HW 3 Out |

Sep 25 | Rasterizing Lines and Triangles | See above | MS 8.1.1-2 & 8.2.1-3 & 2.7 | |

Sep 28 | Rasterizing Lines and Triangles | See above | MS 8.1.1-2 & 8.2.1-3 & 2.7 | |

Sep 30 | Antialiasing | pptx | MS 9 & 8.3 | |

Oct 2 | Color | |||

Oct 5 | Color | Hw 3 Due | ||

Oct 7 | Shading and Texture Mapping | |||

Oct 9 | Midterm Review | |||

Oct 12 | Midterm | |||

Oct 14 | Shading and Texture Mapping | |||

Oct 16 | Shading and Texture Mapping | |||

Oct 19 | Shading and Texture Mapping | |||

Oct 21 | Shading and Texture Mapping | |||

Oct 23 | Shading and Texture Mapping | |||

Oct 26 | Midterm Solution | |||

Oct 28 | Shadows | |||

Oct 30 | Ray Tracing (Intro) | |||

Nov 2 | Ray Tracing (Intro) | |||

Nov 4 | Ray Tracing (Nuts and Bolts) | |||

Nov 6 | Ray Tracing (Nuts and Bolts) | |||

Nov 9 | Ray Tracing (Acceleration) | |||

Nov 11 | Geometry | |||

Nov 13 | Curves and Surfaces | |||

Nov 16 | Curves and Surfaces | |||

Nov 18 | Mesh Processing | |||

Nov 20 | Review for Final | |||

Nov 23 | Review for Final |

*Schedule is subject to small changes.