/CS-GY-6533

Interactive Computer Graphics

Primary LanguageC

Build Status Build status

CS-GY 6533 A – Interactive Computer Graphics - Fall 2019

Course Instructors

Cláudio Silva (lead instructor)

370 Jay Street, room 1153

csilva@nyu.edu

Office hours: Friday, 2-4pm, or by appointment.

Jonathas Costa

370 Jay Street, room 1140

jccosta@nyu.edu

Office hours: Friday, 2-4pm, or by appointment.

Lectures:

Thrusdays at 3:20pm - 5:50pm RH 215

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 ray tracing 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++.

Students will experiment with modern graphics programming and build small demos in C++ and OpenGL.

By the end of the course, the student must be able to:

  • Explain and apply the fundamental mathematical concepts used in image synthesis algorithms
  • Implement a basic rendering system based on ray tracing
  • Implement a basic rendering pipeline based on rasterization
  • Develop simple graphics programs in C++ using OpenGL and GLSL

Textbook: Fundamentals of Computer Graphics, 4th Edition December 18, 2015 by A K Peters/CRC Press Textbook - 734 Pages - 541 Color ISBN 9781482229394

Acknowledgement:

This course is based on the computer graphics course designed by Professor Daniele Panozzo (NYU).

Assignments

Compilation Instructions

git clone --recursive https://github.com/jccosta/CS-GY-6533 # --recursive flag is necessary for dependencies
cd Assignment-N
mkdir build
cd build
cmake ../ # re-run cmake when you add/delete source files
make

You can substitute cmake ../ with the following to make the program run faster

cmake -DCMAKE_BUILD_TYPE=Release ../ # use this cmake command instead of the previous linefor faster run

If you are looking for an IDE, I suggest to use VSCode or CLion.