Skip to content

danielepanozzo/ucg

Repository files navigation

Build Status Build status

Undergraduate Computer Graphics, CSCI-UA 0480-007 Fall 2019

Course Instructor

Daniele Panozzo

60 5th Ave, 5th Floor

Phone: 212 998 3208

panozzo@nyu.edu

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

Assistants

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

Lectures:

Mondays and Wednesdays at 3:30-4:45PM 60 Fifth Ave 150

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

Assignments

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.

Schedule and Course Notes:

The course schedule is tentative and will be adjusted along the way.

Week 1: Introduction to computer graphics. Linear algebra primer.

01 - Linear Algebra Primer

Week 2: How to set up a C++ application with CMAKE

02 - Introduction to Computer Graphics

03 - C++

Week 3: Images and Ray Tracing

04 - Images

05 - Ray Tracing

Week 4: Spatial Data Structures

06 - Spatial_Data_Structures

Week 5: Designing Interpolating Curves

11 - Designing Interpolating Curves

Week 6: 2D Transformations

08 - 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

09 - Rasterization I

Week 10: OpenGL (Part 2)

10 - Rasterization II

Week 11: Texture Mapping and Perspective Projection

15 - Texture Mapping

14 - Perspective Projection

Week 12: Designing Curves and Surfaces

13 - Designing Surfaces

Week 13: Designing Textures and Deformations

07 - Procedural Synthesis

16 - Spatial and Skeletal Deformation

Week 14: Research in Computer Graphics

Week 15: Final Exam

Assignments

General Instructions

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 5: Rasterization I

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published