CSCI3260: Principles of Computer Graphics (Fall 2023)

Course Description

Computer graphics is a technology that generates and manipulate images on a computer screen, with wide applications in movies, games, visual simulation, virtual reality and augmented reality, product design and visualization, human-computer interaction, and so on. This course introduces fundamental principles, algorithms, and techniques in computer graphics. Topics include graphics hardware and interaction devices, transformation of coordination systems, projections, rasterization pipeline, hidden surface removal, texture mapping, sampling and antialiasing, modeling 3D curves and surfaces, illumination models and shading, surface materials, raytracing, global illumination, volumetric rendering, and computer animation.

In CSCI3260, students will learn to

  • Build a solid mathematical foundation of core concepts and algorithms in computer graphics.

  • Implement interesting, complex 3D scenes with realistic rendering and user interaction in a computer graphics system.

  • Develop a broad knowledge of computer graphics principles and applications.

Course Information

Lectures:

  • Tuesdays 10:30am-12:15pm LSK LT1 Campus Map

  • Thursdays 11:30am-12:15pm MMW LT2

Tutorials:

  • Mondays 3:30pm-4:15pm SC LG23

  • Thursdays 5:30pm-6:15pm SC LG23

Course Staff

Instructor TA1 TA2 TA3
Contact Prof.Jinwei GU Yitong JIANG Yongrui MA Yinqiao WANG
Office Hour Th 1:30pm-3:30pm Mon 9:00am-11:00am Wed 9:00am-11:00am Fri 2:00pm-4:00pm
Office SHB 1007 SHB 904 SHB 1013 SHB 901

Course notes and assignments are available at Blackboard http://blackboard.cuhk.edu.hk

Reference Books

Tentative Schedule

Week Date Lecture Reading HW & Exam
1 Sept 5 Course Introduction and Overview FCG Ch.1, PBRT Ch.1
Sept 7 Displays, Colors and Images FCG Ch.3, Ch.18.1, Ch.18.2
2 Sept 12 Basic 2D and 3D Math, Transformations FCG Ch.2, PBRT Ch.2 HW1 out
Sept 14 Graphics Primitives and Hierarchical Modeling FCG Ch.6, Ch.7
3 Sept 19 Camera Projections FCG Ch.8
Sept 21 View Frustum, Interactive 3D Control
4 Sept 26 Rasterization FCG Ch.9, Ch.17
Sept 28 Hidden Surface Removal
5 Oct 3 Lighting and Shading FCG Ch.5 HW2 out, HW1 due
Oct 5 Texture Mapping (1) FCG Ch.11
6 Oct 10 Texture Mapping (2) PBRT Ch.10
Oct 12 Review Session
7 Oct 17 Midterm Midterm Exam
Oct 19 Radiometry FCG Ch.14.6, PBRT Ch.5 HW3 out, HW2 due
8 Oct 24 BRDF and Materials FCG Ch 14.9, PBRT Ch.8, Ch.9
Oct 26 Ray Tracing FCG Ch.4
9 Oct 31 Ray Tracing Acceleration PBRT Ch.4
Nov 2 Distributed Ray Tracing FCG Ch.13, Ch.14.10
10 Nov 7 Global Illumination PBRT Ch.13, Ch.14
Nov 9 3D Curves and Surfaces (1) FCG Ch.15
11 Nov 14 3D Curves and Surfaces (2) HW4 out, HW3 due
Nov 16 Volumetric Rendering FCG Ch.16.1, Ch.16.2
12 Nov 21 Introduction to Computer Animation FCG Ch.16.3, Ch.16.4
Nov 23 Introduction to AR/VR
13 Nov 28 Neural Network for Computer Graphics
Nov 30 Review Session HW4 due
14 Final Exam (Exact Time TBD)

Tutorial Sessions

In addition to regular lectures, this class will also have weekly tutorial sessions. The tutorial sessions will be used mostly to review and clarify the programming assignments, introduce supplement materials of the lectures, and answer questions from students.

Course Grades and Assignment Policy

The final grade is based on four programming assignments, one mid-term exam, and one final exam. Each assignment is 15%, the midterm exam is 20%, and the final exam is 20%. For each assignment, there are also optional bonus points (up to 20% of its total grade).

All assignments are due on 11:59pm (HK Time) on the due date. In total there are 4 late days to handle unexpected circumstances (e.g., sickness, personal crisis, family problems). If you use up the 4 late days, we will allow late submissions for up to 24 hours, with a 20% point penalty. No late submissions after 24 hours are allowed, and zero marks will be given in that case. All the assignments will be submitted via Blackboard. More detailed instructions for submission will be provided along with each assignment.

Students are welcome to discuss their partial solutions and questions with course staff members during the tutorial sessions, in office hours, or via Blackboard forum. Students are also permitted to discuss common concerns with classmates, but these discussions must be kept at a general level, without exposing their solutions or source code.

Finally, please do not publish any questions or solutions of the assignments and the exams, e.g., Github or a publicly accessible web page. This is a violation of the basic Rights, Rules, Responsibilities of members of the University community.

Academic Honesty

Plagiarism, including copying any parts of code or solutions from your classmates, or releasing your code for others to copy, or copying during the exams, is strictly prohibited and will be treated very seriously. If found responsible, the typical penalty is an F as a course grade plus whatever penalty that the university imposes. If you have any doubts, please read the academic honesty guidelines from the university(https://www.cuhk.edu.hk/policy/academichonesty/) and the academic honesty guidelines from the Faculty of Engineering (https://www.erg.cuhk.edu.hk/erg/sites/default/files/Guidelines_to_Academic_Honesty.pdf), or ask the instructor.

Acknowledgement

Some of the materials in the lecture slides of this course is built based on similar courses taught by the following professors:

  • Prof. Pheng Ann Heng (CUHK)

  • Prof. Ren Ng and Prof. James F.O'Brien (UC Berkley)

  • Prof. Ravi Ramamoorthi (UCSD)

  • Prof. Marc Levoy (Stanford)

  • Prof. Felix Haide (Princeton)

  • Prof. Steve Marschner (Cornell)