CSCI-GA.2270 Computer Graphics
2023 Fall Syllabus and Schedule
Course Description
This course provides an introduction to the field of Computer Graphics. We will cover the basic mathematical concepts, such as 2D and 3D transformations, study the interaction of light with geometry to derive shading models, and implement rendering algorithms such as raytracing and rasterization. We will investigate how these fundamental components are integrated in current graphics processors and study the corresponding programming APIs. This course will also include a brief introduction to C++, OpenGL, game engines and physically-based simulation systems.
Course Learning Outcomes
By the end of this semester, the student will be able to:
- Explain and apply the fundamental mathematical concepts used in image synthesis algorithms
- Implement a basic rendering system based on raytracing
- Implement a basic rendering pipeline based on rasterization
- Develop graphics programs in C++ using the Simple Directmedia Library (SDL)
- Develop simulations using game engines
Pre-requisites: Linear Algebra
Office Hours (starting on September 12, 2023):
Tuesday (12.30pm-1.30pm) in-person
Thursday (2pm-2.30) online (check announcements for details)
You are highly encouraged to visit the instructor during office hours without notice. Prepare for office hours by coming up with focused and targeted questions. In case there is a line of students waiting, the instructor will limit the meeting to a maximum of 5 minutes per student. You are also encouraged to meet with tutors. The schedule of the tutors will be uploaded on Brightspace and I will be sending emails about the schedule, separately.
Textbook:
- Fundamentals of Computer Graphics, 4th Ed. By A K Peters: ISBN 9781482229394
Topics
Topics To Be Covered
- Introduction
- Basic Linear Algebra
- Introduction to C++ and OpenGL
- Images
- Graphics Pipeline
- 2D Transformations
- Viewing Transformations
- Ray Tracing
- Spatial Data Structures
- Procedural Synthesis
- Rasterization
- Perspective projection
- Texture Mapping
- Advanced Shading
- Parameterization
- Interpolating Curves
- Approximating Curves
- Surfaces
- Mesh Deformation
- Mesh Data Structures
- Introduction to physically-based simulation systems
Assignments
The assignments will be sent out via the Brightspace and the course website.
HW Submission: You will be asked to send your assignments via Brightspace. While you send your files (source codes, zip files, etc.), please use appropriate file names. For every 24 hours that an assignment is late, we will apply a 10% penalty on the grade, up to a maximum penalty of 30%. After 72 hours, we will no longer accept the assignment.
Grading
Final grades for the course will be determined using the following weights:
- 60% Assignments
- 40% One Exam