Daniele Panozzo
60 5th Ave, 5th Floor
Phone: 212 998 3208
URL: http://cs.nyu.edu/~panozzo/
Office Hours:
- Mondays, 1pm-2pm and by appointment, 60 5th Ave, 5th Floor, Room 504
- Wednesdays, 6pm-7pm and by appointment, 60 5th Ave, 5th Floor, Room 504
Yurii Piadyk ypiadyk@nyu.edu
Office Hours: Tuesdays 11AM-noon, 60 5th Ave, 5th floor, Room 527
Hanxiao Shen hs3048@nyu.edu
Office Hours: Wednesday,Thursdays,Fridays 11AM-noon, 60 5th Ave, 5th floor, Room 540
Mondays and Wednesdays at 3:30-4:45PM 60 Fifth Ave 150
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
In this course there will be 4 mandatory coding assignments (including a final project) that will account for 40% of the grade. There will also be 4 optional assignments, for a total of 25% extra points.
The course schedule is tentative and will be adjusted along the way.
Week 1: Introduction to computer graphics. Linear algebra primer.
Week 2: How to set up a C++ application with CMAKE
02 - Introduction to Computer Graphics
Week 3: Images and Ray Tracing
Week 4: Spatial Data Structures
Week 5: Designing Interpolating Curves
11 - Designing Interpolating Curves
Week 6: 2D Transformations
Week 7: Designing Approximating Curves
12 - Designing Approximating Curves
Week 8: Midterm
Preparation: Oct 21 Midterm Exam: Oct 23
Week 9: OpenGL (Part 1)
18 - Viewing Transformations and Intro to Rasterization
Week 10: OpenGL (Part 2)
Week 11: Texture Mapping and Perspective Projection
Week 12: Designing Curves and Surfaces
Week 13: Designing Textures and Deformations
16 - Spatial and Skeletal Deformation
Week 14: Research in Computer Graphics
Week 15: Final Exam
Assignment 1: Introduction to C++, Geometry (Optional)
Assignment 2: Introduction to Raytracing and Shading
Assignment 3: Basic Raytracing Effects (Optional)