Daniele Panozzo
60 5th Ave, 5th Floor
Phone: 212 998 3208
URL: http://cs.nyu.edu/~panozzo/
Office Hours:
- Mondays, 5pm-6pm and by appointment, 60 5th Ave, 5th Floor, Room 504
- Wednesdays, 10am-11am and by appointment, 60 5th Ave, 5th Floor, Room 504
Leyi Zhu leyi@nyu.edu
Office Hours:
- Mondays 10AM-11AM, Zoom
- Tuesdays 11AM-noon, Zoom
- Wednesdays noon-1PM, Zoom
- Thursdays 3PM-4PM, Zoom
- Fridays 5PM-6PM, Zoom
Mondays 7:10pm - 9pm, Zoom
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++.
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 graphics programs in C++ using the Simple Directmedia Library (SDL)
Textbook: Fundamentals of Computer Graphics, 4th Edition December 18, 2015 by A K Peters/CRC Press Textbook - 734 Pages - 541 Color ISBN 9781482229394
In this course there will be 4 mandatory coding assignments that will account for 70% of the grade. There will also be 2 optional assignments, for a total of 15% extra points.
The course notes will be adjusted along the way. The order is indicative and might change.
11 - Rasterization - Implementation
15 - Designing Interpolating Curves
16 - Designing Approximating Curves
Assignment 1: Introduction to C++, Geometry (Optional)
Assignment 2: Introduction to Raytracing and Shading
Assignment 3: Basic Raytracing Effects (Optional)
Assignment 4: Ray Tracing Triangle Meshes and AABB Trees
Assignment 6 can be replaced by a final project.