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:
Tutorials:
Course Staff
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)