CS 2270 – Fall ’23

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